Linux下如何使真机成为路由器使虚拟机上网

1、使真机成为一个路由器

[[email protected] ~]# systemctl stop libvirtd.service    关闭虚拟机服务【虚拟机服务与防火墙服务有冲突】
[[email protected] ~]# systemctl restart firewalld     重启防火墙
[[email protected] ~]# systemctl start libvirtd.service     打开虚拟机服务
[[email protected] ~]# firewall-cmd --add-masquerade    允许防火墙伪装ip
Warning: ALREADY_ENABLED
[[email protected] ~]# firewall-cmd --list-all    显示防火墙信息
public (default, active)
  interfaces: br0 enp0s25 wlp3s0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: yes    为yes之后,才允许防火墙伪装ip
  forward-ports:
  icmp-blocks:
  rich rules:

Linux下如何使真机成为路由器使虚拟机上网

2、通过修改network文件,使用虚拟机上网

1)

nm-connection-editor    图形窗口设定ip(手动给虚拟机分配一个ip,与子网掩码)

添加一个连接

Linux下如何使真机成为路由器使虚拟机上网

选择以太网

Linux下如何使真机成为路由器使虚拟机上网

IPv4下点击添加

Linux下如何使真机成为路由器使虚拟机上网

输入IP与子网掩码

Linux下如何使真机成为路由器使虚拟机上网

 

2)

在虚拟机/etc/sysconfig/network文件中写入下面的内容(为了配置全局的网关)

NERWORKING=yes                            启动时**联网
NOZEROCONF=yes                           它是一个动态配置协议,系统可以通过它来连接到网络。
GATEWAY=172.25.254.29                 ip地址为自己真机地址【设定全局网关】

Linux下如何使真机成为路由器使虚拟机上网

3)

systemctl restart network       重启网络服务

Linux下如何使真机成为路由器使虚拟机上网

4)

通过ip地址上网(此时只能通过ip上网,没有DNS服务器,自己也没有建立IP与网址之间的对应)

Linux下如何使真机成为路由器使虚拟机上网

在这个文件下可以书写ip与域名的对应关系,就可以通过域名访问对因的ip

 

【route -n    查看网关】

如果无法上网,先检查虚拟机的网关,如果没有问题,就需要去检查真机的配置

3、通过修改network-scripts目录下的文件,使虚拟机上网


1)

cd /etc/sysconfig/network-scripts    转到此目录下进行设置

Linux下如何使真机成为路由器使虚拟机上网
2)

rm -fr ifcfg-ens3    删除掉这个目录下的网卡配置文件

Linux下如何使真机成为路由器使虚拟机上网
3)

touch ifcfg-ens3    重新建立这个文件

Linux下如何使真机成为路由器使虚拟机上网
4)

vim ifcfg-ens3    对这个文件进行写入

Linux下如何使真机成为路由器使虚拟机上网

写入以下内容

DEVICE=ens3                                       网卡名称
ONBOOT=yes                                       网络启动时是否**网卡
BOOTPROTO=none/dhcp                   指定ip获取方式,手动获取/自动
IPADDR0=172.25.254.129                 指定ip
NETNASK0=255.255.255.0              子网掩码(只需要指定一个)
PREFIX0=24                                        子网掩码
GATEWAY0=172.25.254.29               网关
DNS1=114.114.114.114                    DNS1
DNS2=                                                  DNS2(最多指定两个)

网卡名称自己有什么些什么(通过ifconfig查看)

Linux下如何使真机成为路由器使虚拟机上网

Linux下如何使真机成为路由器使虚拟机上网

5)

systemctl restart network    刷新网络

Linux下如何使真机成为路由器使虚拟机上网

6)

【route -n    查看网关】

Linux下如何使真机成为路由器使虚拟机上网
【cat /etc/resolv.conf    查看DNS】

Linux下如何使真机成为路由器使虚拟机上网
如果这两个都正常,说明虚拟机已经配置好了,还未连接网络需要查看真机

 

 

 4、可能出现的问题

1、

使用【ping 真机ip】如果失败说明虚拟机网卡可能有问题需要更换虚拟机网卡

1)删除旧的网卡

Linux下如何使真机成为路由器使虚拟机上网

2)点击左下角Add Hardware添加新的网卡

Linux下如何使真机成为路由器使虚拟机上网

3)点击右下角Finish此时就添加完成新的网卡了

Linux下如何使真机成为路由器使虚拟机上网

2、内核未开启路由功能

Linux下如何使真机成为路由器使虚拟机上网

停止网络记录并重启

Linux下如何使真机成为路由器使虚拟机上网

此时就开启了内核路由功能

Linux下如何使真机成为路由器使虚拟机上网