两台虚拟机
a:网卡由 DHCP 自动配置,ip=192.168.15.131/24。通过 rout -n 命令查询,网关gateway=192.168.15.2, 通过netstat -antulp 查询 域名服务器DNS=192.168.122.1
b:网卡手动配置 ip=192.168.15.188/32 网关gateway=182.168.15.2 域名服务器dns=192.168.122.1,
其中,dns是一个virbr的虚拟桥接网卡,如果把b设置为DHCP自动分配域名的话,两台机器的网卡为NAT模式,网卡名称都是ens33
真机的配置
真机a:网卡由DHCP自动配置,ip=192.168.18.129 网关gateway=192.168.18.254,真机a上搭建了上面的两台虚拟机,真机a系统为windowns 10
真机b:网卡由DHCP自动配置,ip=192.168.18.176 网关gateway=192.168.18.254,真机b系统为linux 7,网卡为无线网卡,但是真机b上也有一个virbr0的网卡ip也是192.168.122.1,并且真机b通过netstat -antulp查询也会发现这个192.168.122.1的网址再监听53号端口
上网查询发现:virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口,通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移
执行命令:
b ping 192.168.15.2 可以,
b ping 192.168.122.1 可以,
b ping 192.168.15.2 可以,
b ping a,即 b ping 192.168.15.131 可以
a ping www.baidu.com 可以,
b ping www.baidu.com 不通
真机a ping a,即真机a ping 192.168.15.131 可以
真机b ping a 不通
真机a ping b 不通
真机b ping 真机a 可以
a ping www.baidu.com 可以
b ping www.baidu.com 不通,报错为network or service not known。即外网不可用。
(注意:如果使用nmcli命令把虚拟机b改为DHCP自动分配ip,即nmcli connection modify ens33 ipv4.method auto
那么执行之后,这个网卡的配置文件即/etc/sysconfig/network/ifcfg-ens33里面还是可以看到原来的ip和gateway、dns等信息
而且使用 ip addr show 命令也会发现这个网卡上有两个ip配置,一个是通过DHCP自动获取的,另一个是原来手动配置的
但是,这个时候在虚拟机b上 ping www.baidu.com 是可以联通的。
但是,如果手动更改这个网卡的配置文件,比如将原有的ip gateway dns信息都注释掉,然后再输入nmcli命令把ipv4.method改成auto也不能上网
必须重启虚拟机之后才能让你手动更改的配置文件生效。但是,如果你手动更改配置文件里的ip等信息却是可以通过ifconfig命令和ip addr show 命令查到的
所以要想让虚拟机在自动和手动配置之间正确切换,就必须全都是用nmcli命令来实现。)
1. 现在修改b:
gateway=61.0.0.1
执行命令:
a ping b 不通,
b ping a 不通,
b ping 192.168.15.2 原网关不通,
b ping 192.168.122.1 可以
2. 修改b:
ip = 192.168.10.1 gateway改回192.168.15.2
执行命令:
a ping b 不通,
b ping a 不通,
b ping 192.168.15.2 原网关可以,
b ping 192.168.122.1 可以
真机a ping b 不通
3.修改b:
ip = 192.168.15.189 dns=192.168.121.2 gateway=192.168.15.2
执行命令:
a ping b 可以,
b ping a 可以,
b ping 192.168.15.2 可以
b ping 192.168.122.1 可以
4.修改真机b:
ip=192.168.10.111 gateway 192.168.18.254 dsn=192.168.122.1
执行命令:
真机b ping 192.168.18.254 不通
5.修改真机b:
ip=192.168.18.123 gateway 192.168.18.254 dsn=192.168.122.1
真机b ping 192.168.18.254 可以
6.修改真机b:
修改配置文件/etc/sysconfg/network-scripts/ifcfg-ens33:将ip改为192.168.18.126/24
执行命令:
ifconfig查看ip,未变化,还是192.168.18.123
输入ip addr show 查看ip,未变化,还是192.168.18.123
syetemctl restart NetworkManager
再输入ifconfig查看ip,没有了
然后再次输入ifconfig查看ip,变成了新的192.168.18.126/24
结论: