在 Virtualbox 版本 4.3.26 中,我想安装 Ubuntu 16.04 客户端。网络配置为适配器 1:桥接适配器名称:eth0 适配器 2:NAT
通过这种配置,我确实可以访问互联网,但不能访问我的本地网络。
我试过 :Ubuntu 16-04 虚拟机中的静态 IP但是当设置为仅主机时,我无法选择任何东西。
我读过了Virtualbox 手册第六章但找不到解决方案。
我努力了如何重命名网卡但添加规则对我来说不起作用。
在我的其他 virtualbox 客户端中,我必须添加客户端(Ubuntu)接口文件(/etc/network/interfaces),结果如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
dns-nameservers 192.168.1.70 192.168.1.1
address 192.168.1.66
gateway 192.168.1.1
并在virtualbox网络设置适配器1:桥接适配器,名称:eth0
通过此配置,我可以使用其他(Ubuntu 14.04)Virtualbox 客户端访问本地网络和互联网。
Ubuntu 16.04 中的名称系统已改变,不再有 eth0,但可以通过 ifconfig 检查:
me@vBox1b-client:~$ ifconfig
enp0s3 Link encap:Ethernet HWaddr 08:00:27:9e:aa:c9
inet addr:192.168.1.78 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9e:aac9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:41 errors:0 dropped:0 overruns:0 frame:0
TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4304 (4.3 KB) TX bytes:8988 (8.9 KB)
enp0s8 Link encap:Ethernet HWaddr 08:00:27:17:a7:e6
inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.255.255.0
inet6 addr: fe80::a16b:7a82:bf0b:7247/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1328 (1.3 KB) TX bytes:7953 (7.9 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:534 (534.0 B) TX bytes:534 (534.0 B)
因此,根据此信息,我将接口文件更改为:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet static
dns-nameservers 192.168.1.70 192.168.1.1
address 192.168.1.66
gateway 192.168.1.1
我重新启动后,确实可以访问本地网络,但无法再访问互联网。
因此,在 Virtualbox 服务器中,我想将适配器 1 中的名称从 eth0 更改为 enp0s3,但我根本无法更改名称。
DNS 似乎没有问题。
当地的 :
ping mylocal.com
PING mylocal.com (192.168.1.73) 56(84) bytes of data.
64 bytes from 192.168.1.73: icmp_seq=1 ttl=64 time=0.961 ms
DNS 可以找到本地 IP 地址,并且该 IP 地址确实做出响应。
互联网(全球本土化):
ping nu.nl
PING nu.nl (62.69.166.254) 56(84) bytes of data.
From 192.168.1.66 icmp_seq=1 Destination Host Unreachable
另外,全局 DNS 可以找到 IP 地址,但是 IP 地址没有响应。
使用的 DNS 服务器:
nslookup host
Server: 192.168.1.70
Address: 192.168.1.70#53
可能与 Virtualbox MAC 地址有冲突,因此我在 Virtualbox 管理器中刷新了它们,但没有结果。
我有三个问题:
- 添加网络怎么会阻止互联网访问?我真的很想了解发生了什么,这样才能更好地理解解决方案。
- 为什么 Virtualbox 不允许我将适配器名称更改为 enp0s3?
- 我怎样才能同时访问互联网和本地网络?
答案1
当您添加新的网络适配器并设置网关时,它将成为“默认网关”,并且所有 Internet 流量都会通过它重定向,在您的情况下为网关192.168.1.1
。
尝试gateway 192.168.1.1
在网络设置中删除/注释。我也使用两个网络适配器。
第一个是“NAT”类型,用于互联网访问,设置为dhcp
。第二个是“仅主机”,用于虚拟机之间的连接,是静态IP。不要设置网关,因为它仅用于虚拟机之间的连接。
您还需要从文件 → 首选项 → 网络 → 仅主机网络添加“仅主机”适配器。
您可以在这里找到详细的解释http://www.slideshare.net/powerhan96/networking-between-host-and-guest-v-ms-in-virtual-box,这是我的 /etc/network/interfaces
# The Loopback network interface
auto lo
iface lo inet loopback
#The Primary network interface
auto enp0s3
iface enp0s3 inet dhcp
#The secondary network interface (host-only)
auto enp0s8
iface enp0s8 inet static
address 192.168.56.101
network 192.168.56.0
netmask 255.255.255.0
broadcast 192.168.56.255
#gateway 192.168.56.1 NOTE: remove/comment gateway or set enp0s3 as a default gateway.