从 VirtualBox NAT 客户机用 10.0.2.2 访问宿主机代理
在选择代理地址时,把 VirtualBox 的 NAT 宿主机别名放回它真实的网络环境中理解。
一个 Vagrant 示例使用 10.0.2.2:3128。你把它抄到笔记本浏览器里,代理却连不上。这个数字并不是宿主机器的通用地址。
在 VirtualBox 通常的第一块 NAT 网卡配置里,10.0.2.2 承担着从客户机到宿主机的特殊角色。它的含义取决于那套虚拟网络的安排。换一个虚拟化平台、换一种网卡模式或换一个网络命名空间,可能就需要另一个地址。
| 客户端运行在哪里 | 需要确认什么 |
|---|---|
| 宿主机本身 | 宿主机能到达的监听端口,也许是它的回环地址 |
| VirtualBox NAT 客户机 | 该网卡有文档记载的宿主机访问映射 |
| 桥接客户机或局域网内另一台机器 | 可到达的宿主机地址与被允许的监听端口 |
| 客户机内部的容器 | 又一层网络边界,以及它通往代理的路径 |
客户机里的 127.0.0.1 通常指客户机本身,而不是宿主机。反过来,这条特殊的 NAT 映射不能推广到配置可能被读取的任何地方。
选好地址之后,还要检查监听端口和访问策略。宿主机服务若只绑定在桥接客户机到不了的位置,换个 URL 写法也不会变得可达。放宽绑定应当是有意做出的访问决定,并配上相应的防火墙限制。
让客户端所在位置跟配置示例待在一起。当多台宿主机和客户机共用同一套环境时,代理在宿主机上这句话就是不完整的。