kvm虚拟机nat模式下上不了网

   日期:2020-07-15     浏览:107    评论:0    
核心提示:问题背景:宿主机安装了kvm,创建了一个客户机vm1【也叫kvm虚拟机:后边统一叫客户机】,客户机使用的是nat模式,但是创建的时候手动固定了ip和网关,完事之后又使用这个客户机vm1为模板创建了一个客户机vm2vm1 IP:192.168.122.231问题1:客户机vm1和vm2都无法ping同百度问题分析:客户机无法和宿主机通信。由于vm1的ip是固定的,所以以vm1为模板创建的vm2现在和vm1两个客户机的ip有冲突解决方法:关闭vm1客户机,在宿主机中ssh连接vm2,修改网卡配置文件#

问题背景:宿主机安装了kvm,创建了一个客户机vm1【也叫kvm虚拟机:后边统一叫客户机】,客户机使用的是nat模式,但是创建的时候手动固定了ip和网关,完事之后又使用这个客户机vm1为模板创建了一个客户机vm2

vm1 IP:192.168.122.231
问题1:客户机vm1和vm2都无法ping同百度
问题分析:宿主机未开启路由转发,客户机无法和宿主机通信。由于vm1的ip是固定的,所以以vm1为模板创建的vm2现在和vm1两个客户机的ip有冲突
解决方法:宿主机开启路由转发,关闭vm1客户机,在宿主机中ssh连接vm2,修改网卡配置文件

#1、宿主机开启路由转发
[root@kvm ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf 
[root@kvm ~]# sysctl -p
net.ipv4.ip_forward = 1

#修改客户机网卡配置文件
[root@kvm ~]# virsh shutdown vm1
域 vm1 被关闭
[root@kvm ~]# virsh start vm2
域 vm2 已开始
[root@kvm ~]# ssh 192.168.122.231
root@192.168.122.231's password: Last login: Tue Jul 14 12:00:41 2020 from 192.168.122.1 [root@vm2 ~]# sed -ri.bak 's/IPADDR=192.168.122.231/IPADDR=192.168.122.233/' /etc/sysconfig/network-scripts/ifcfg-eth0
[root@vm2 ~]# systemctl restart network
[root@vm2 ~]# ping www.baidu.com
[root@vm2 ~]# 192.168.122.2

问题2:但是此时依旧无法ping不通百度,甚至不能ping通网关
问题分析:
最后才发现,是在客户机设置网关的时候出现问题
客户机vm1和vm2设置网关为192.168.122.2,然而在宿主机上当我们创建了nat模式的客户机时,宿主机会自动添加一个virbr0网卡,并且默认会提供了一个192.168.122.1的网关,,也就是宿主机和客户机是通过网卡virbr0的提供的网关192.168.122.1通信。但是我们手动给客户机设置的网关是.2的网关,所以客户机无法和宿主机通信,同时也就无法和外网通信。
尝试过程如下:

#查看宿主机提供的网关,并修改客户机的网卡配置文件
[root@kvm ~]# ip a
......
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:e0:32:0b brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:e0:32:0b brd ff:ff:ff:ff:ff:ff
......
#这下就明白了,宿主机和客户机通过网卡virbr0通信,网关是192.168.122.1,而我们手动给客户机固定的网关是192.168.122.2,去修改一下试试

[root@kvm ~]# ssh 192.168.122.233
root@192.168.122.233's password: Last login: Tue Jul 14 12:10:41 2020 from 192.168.122.1 [root@vm2 ~]# sed -ri 's/GATEWAY=192.168.122.2/GATEWAY=192.168.122.1/' /etc/sysconfig/network-scripts/ifcfg-eth0

[root@vm2 ~]# systemctl restart network
[root@vm2 ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=127 time=7.31 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=127 time=8.19 ms

OK啦,现在客户机已经可以和外网通信了,主要问题就是这是客户机网关的时候注意使用宿主机提供的,不要自己随便设置 ^=^

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服