我想离线工作(我这个月要飞往美国两次),为此我需要访问 Linux 开发服务器。
更新:经过一段时间的搜寻,这是我遇到的同样的问题(除了 Snow Leopard 主机和 Ubuntu 10.04 客户机)。
当我在家工作时,我会启动 VirtualBox VM,它充当我当天的开发服务器(提供 Apache、PHP 和 MySQL 来运行我的服务器端代码)。但是,我希望在未连接到网络时使用我的 VM。
我的 Ubuntu VM 客户机设置了桥接连接,以便它可以提供 HTTP 服务并从我的本地网络内部提供 SSH 访问。
我尝试在 Mac OSX(主机)和 Ubuntu(客户机)上手动配置我的网络设置,但是当我拔下电缆时,我甚至无法在 OS X 中 ping 通我自己的 NIC 地址(127.0.0.1 可以,192.168.21.x 不能)。
手动网络设置:
$ ifconfig en0
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 00:xx:xx:xx:xx:xx
inet 192.168.21.5 netmask 0xffffff00 broadcast 192.168.21.255
media: autoselect (100baseTX <full-duplex,flow-control>)
status: active
我可以正常 ping 通本地主机,以及我的 VM(.20)和 SSH。
$ ping 192.168.21.5
PING 192.168.21.5 (192.168.21.5): 56 data bytes
64 bytes from 192.168.21.5: icmp_seq=0 ttl=64 time=0.085 ms
64 bytes from 192.168.21.5: icmp_seq=1 ttl=64 time=0.102 ms
64 bytes from 192.168.21.5: icmp_seq=2 ttl=64 time=0.100 ms
64 bytes from 192.168.21.5: icmp_seq=3 ttl=64 time=0.094 ms
$ ping 192.168.21.20
PING 192.168.21.20 (192.168.21.20): 56 data bytes
64 bytes from 192.168.21.20: icmp_seq=0 ttl=64 time=0.910 ms
64 bytes from 192.168.21.20: icmp_seq=1 ttl=64 time=1.181 ms
64 bytes from 192.168.21.20: icmp_seq=2 ttl=64 time=1.159 ms
64 bytes from 192.168.21.20: icmp_seq=3 ttl=64 time=1.320 ms
网线已拔出:
$ ifconfig en0
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 00:xx:xx:xx:xx:xx
media: autoselect
status: inactive
$ ping 192.168.21.5
PING 192.168.21.5 (192.168.21.5): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
Request timeout for icmp_seq 0
ping: sendto: No route to host
Request timeout for icmp_seq 1
拔掉网线后 OS X 会禁用 NIC 吗?有什么方法可以阻止它这样做吗?
答案1
也许你可以为客户机添加一个额外的网卡,并将其配置为仅主机网络。
仅主机网络是 VirtualBox 2.2 版中增加的另一种网络模式。它可以被认为是桥接网络模式和内部网络模式的混合:与桥接网络一样,虚拟机可以相互通信并与主机通信,就像它们通过物理以太网交换机连接一样。同样,与内部网络一样,不需要存在物理网络接口,并且虚拟机无法与主机外部通信,因为它们未连接到物理网络接口。
答案2
只是一个想法,但环回适配器可能会解决这个问题。http://www.stayonline.com/detail.aspx?ID=1215