一、测试环境说明
(1)使用工具:vbox(5.2.20 r125813), Centos7(CentOS-7-x86_64-Minimal-1804)
(2)装机时网络设置,如下图:
(3)虚机机配置文件
cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=216480ee-d55a-4b50-a56b-7a9d2870f568
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.56.99 #99为自定义
PREFIX=24
GATEWAY=192.168.56.2 #vbox默认host-only网关,用于虚拟机与宿主机器互ping
IPV6_PRIVACY=no
cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth1"
UUID="dcc0c6bc-9918-472c-b4fe-44d12ca96998"
DEVICE="eth1"
ONBOOT="yes"
DNS1="10.252.xxx.xxx" #和宿主机器使用的DNS有关
DNS2="10.252.xxx.xxx" #同上
二、实践--成功ping通外网+与宿主机互ping
(1) 现象1:
安装虚拟机成功后,reboot;可以ping通过www.baidu.com,但网卡eth0处于onboot=no状态。估计时vbox的bug。
(2)现象2:
修改配置文件ifcfg-eth0,将ONBOOT设置为yes。然后执行service network restart——此时虚拟机可以和宿主机互ping,但不能联外网
ip route # default via 192.168.56.2 dev eth0 # default via 10.0.3.2 dev eth1 proto dhcp metric 100 # 10.0.3.0/24 dev eth1 proto kernel scope link src 10.0.3.15 metric 100 # 192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.99 ping www.baidu.com # ping: www.baidu.com: Name or service not known
(3)现象3:
进入虚拟机,执行"ip link set eth0 down"——可以联外网。然后,执行"ip link set eth0 up"——可以联外网也可以与宿主机互ping。
三、思考与总结
我记录下可以上网的配置,发现NAT网卡(即实例中的10.0.3.0/24)只有出现在ip route输出结果的第一行时,能上网,也能和宿主机互ping;Host-Only网卡(即示例中的192.168.56.0/24)出现在第一行时,不能上网,只能和宿主机互ping。
相关"ip route"结果如下:
----------------------------------------------------------------------------------
# 不能上网
default via 192.168.56.2 dev eth0 proto static metric 100
default via 10.0.3.2 dev eth1 proto dhcp metric 101
10.0.3.0/24 dev eth1 proto kernel scope link src 10.0.3.15 metric 101
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.99 metric 100
----------------------------------------------------------------------------------
# 可以上网
default via 10.0.3.2 dev eth1 proto dhcp metric 101
default via 192.168.56.2 dev eth0 proto static metric 102
10.0.3.0/24 dev eth1 proto kernel scope link src 10.0.3.15 metric 101
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.99 metric 102
----------------------------------------------------------------------------------
# 可以上网, 其他的一台可以上网的虚拟机
default via 10.0.2.2 dev eth1
default via 192.168.56.2 dev eth0 proto static metric 100
10.0.2.0/24 dev eth1 proto kernel scope link src 10.0.2.15
10.0.2.0/24 dev eth1 proto kernel scope link src 10.0.2.15 metric 101
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.11 metric 100
----------------------------------------------------------------------------------
2018-11-02 15:17:45