访问 VirtualBox NAT 客户机内的 SOCKS 服务器
将主机回环端口转发到客户机代理,并确认客户机监听器在其虚拟网络接口上接受连接。
VirtualBox 客户机内的 SOCKS 服务有两个彼此独立的可达性要求:VirtualBox 必须把连接送达客户机,客户机服务必须接受它。
对于第一块网卡使用普通 NAT 的虚拟机,VirtualBox 7.1 给出如下形式的端口转发规则。在虚拟机关机状态下:
VBoxManage modifyvm "Proxy VM" --nat-pf1 "socks,tcp,127.0.0.1,1080,,1080"
按需替换虚拟机名称和端口。随后主机上的应用选择 127.0.0.1:1080 处的 SOCKS。把主机侧绑定到 127.0.0.1 会把这一入口限制在主机本身。
客户机地址留空表示客户机使用 NAT 引擎内置的 DHCP 分配。如果客户机使用静态地址,请在规则中填入该地址。最后的 1080 是客户机服务端口,不必与主机端口相同。
客户机监听器仍然是网络服务
只在客户机内绑定 127.0.0.1 的代理只接受客户机本地连接。NAT 转发不会让该回环监听器接受从客户机虚拟接口到达的流量。应把服务配置为监听合适的客户机接口,并让预期流量通过客户机防火墙和代理访问规则。检查监听器被允许与被拒绝的访问,然后再改变该边界。
失败时请分别检查这些边界:主机端口和规则、所选的客户机地址、客户机监听器。改用桥接网络无法修复仍只监听客户机回环的服务。
此 TCP 规则只覆盖 SOCKS TCP 连接。它本身不提供 SOCKS5 UDP 中继所需的额外 UDP 通道。