เข้าถึงเซิร์ฟเวอร์ SOCKS ภายในเครื่องเสมือน VirtualBox ที่ใช้ NAT
ส่งต่อพอร์ตลูปแบ็กของโฮสต์ไปยังพร็อกซีของเครื่องเสมือน แล้วตรวจสอบว่าตัวรับฟังในเครื่องเสมือนยอมรับการเชื่อมต่อบนอินเทอร์เฟซเครือข่ายเสมือน
บริการ SOCKS ภายในเครื่องเสมือน VirtualBox มีข้อกำหนดการเข้าถึงสองข้อแยกกัน คือ VirtualBox ต้องส่งการเชื่อมต่อไปถึงเครื่องเสมือน และบริการในเครื่องเสมือนต้องยอมรับการเชื่อมต่อนั้น
สำหรับ VM ที่อะแดปเตอร์ตัวแรกใช้ NAT ปกติ VirtualBox 7.1 ระบุกฎการส่งต่อพอร์ตในรูปแบบนี้ เมื่อ VM หยุดทำงาน:
VBoxManage modifyvm "Proxy VM" --nat-pf1 "socks,tcp,127.0.0.1,1080,,1080"
เปลี่ยนชื่อ VM และพอร์ตตามต้องการ จากนั้นแอปพลิเคชันบนโฮสต์จะเลือก SOCKS ที่ 127.0.0.1:1080 การผูกฝั่งโฮสต์กับ 127.0.0.1 จำกัดจุดเข้าถึงนี้ไว้ที่โฮสต์เอง
ช่องที่อยู่ของเครื่องเสมือนที่เว้นว่างถือว่าเครื่องเสมือนใช้ DHCP ที่มีมาในกลไก NAT หากใช้ที่อยู่แบบคงที่ ให้ระบุที่อยู่นั้นในกฎ เลข 1080 ตัวสุดท้ายคือพอร์ตบริการของเครื่องเสมือน ไม่จำเป็นต้องเท่ากับพอร์ตของโฮสต์
ตัวรับฟังในเครื่องเสมือนยังเป็นบริการเครือข่าย
พร็อกซีที่ผูกกับ 127.0.0.1 ภายในเครื่องเสมือนเท่านั้นจะยอมรับการเชื่อมต่อภายในเครื่องเสมือน การส่งต่อผ่าน NAT ไม่ได้ทำให้ตัวรับฟังลูปแบ็กนั้นยอมรับทราฟฟิกที่เข้ามาบนอินเทอร์เฟซเสมือน ตั้งค่าบริการให้รับฟังบนอินเทอร์เฟซที่เหมาะสมและอนุญาตทราฟฟิกที่ต้องการผ่านไฟร์วอลล์ของเครื่องเสมือนและกฎการเข้าถึงของพร็อกซี ตรวจสอบการเข้าถึงที่อนุญาตและที่ถูกปฏิเสธของตัวรับฟัง หลังจากเปลี่ยนขอบเขตนั้น
เมื่อล้มเหลว ให้ตรวจขอบเขตเหล่านี้แยกกัน ได้แก่ พอร์ตและกฎของโฮสต์ ที่อยู่เครื่องเสมือนที่เลือก และตัวรับฟังในเครื่องเสมือน การเปลี่ยนไปใช้เครือข่ายแบบบริดจ์ไม่สามารถแก้ไขบริการที่ยังรับฟังเฉพาะลูปแบ็กของเครื่องเสมือนได้
กฎ TCP นี้ครอบคลุมการเชื่อมต่อ SOCKS TCP เท่านั้น ไม่ได้ให้เส้นทาง UDP เพิ่มเติมที่รีเลย์ UDP ของ SOCKS5 ต้องการด้วยตัวเอง