我有以下开发环境。
- 硬件:- Windows 7,32 位,HP 笔记本电脑。
- 软件:- CentOs 6.5 在 VirtualBox 4.3.10 上运行。
简而言之问题是我无法在 VirtualBox 中同时访问互联网和本地主机。示例:
主机专用适配器
如果我将 VirtualBox 适配器设置为仅限主持人.ifconfig eth0
显示以下配置:
#ifconfig eth0
Link encap:Ethernet HWaddr 08:00:27:81:0F:EA
inet addr:192.168.57.162 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe81:fea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:342 errors:0 dropped:0 overruns:0 frame:0
TX packets:362 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:37176 (36.3 KiB) TX bytes:66580 (65.0 KiB)
并cat /etc/resolv.conf
显示以下内容:
#cat /etc/resolv.conf
[root@localhost dd.com]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 212.98.41.104
nameserver 194.290.66.07
现在,有了上述设置。如果我检查,我可以看到一切都正常。Nginx、Php……一切都很好。这里的问题是,如果我想使用或甚至http://192.168.57.162
安装包,都会出现错误。示例:yum install ...
yum update
ping google.co.uk
[root@localhost myProject]# ping google.co.uk
ping: unknown host google.co.uk
因此,我尝试切换到 NAT 适配器。
NAT适配器
现在,有了 NAT。如果我这样做,ifconfig eth0
我会看到以下配置:
#ifconfig
Link encap:Ethernet HWaddr 08:00:27:81:0F:EA
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr:fe80::a00:27ff:fe81:fea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX pacakets:434 errors:0 dropped:0 overruns:0 frame:0
TX Packets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47366 (46.2 KiB TX bytes:76674 (74.8Kib)
现在,你会认为如果我输入10.0.2.15
、127.0.0.1
或localhost
,http://10.0.2.15
我就能看见我的服务器正在运行或我的网页。但是,不!什么都没有出现。我收到一条错误消息,好像我试图访问一个不存在的页面。我甚至调整了我的 hosts 文件。但什么都没有。我甚至无法使用 putty 访问 CentOs。但奇怪的是,我可以安装软件包、ping 服务器等等。
因此,我尝试使用两个适配器,但遗憾的是,无论设置哪个适配器,似乎只有适配器 1 有效,好像适配器 2 被忽略了。因此,总的来说,使用这些设置,我只能安装软件包,但看不到我的服务器,反之亦然。
我正在寻找替代方案,使我能够仅使用一个适配器同时查看本地主机并安装包。
编辑
根据 metacom 的回答,我在 NAT 适配器中添加了一个端口,如下所示。
答案1
要么在 NAT 设置中添加端口格式,要么运行桥接网络。根据http://www.virtualbox.org/manual/ch06.html#network_nat
在桥接模式下,它本质上在软件中创建一个虚拟以太网接口,显示为 LAN 的另一台机器。