通过二层路由实现不同网段的虚拟机的上网(包括排错)

本文介绍了如何通过设置真机作为第二层路由器,实现在不同网段的虚拟机中实现上网功能。内容涵盖真机设置、路由器配置以及客户端配置,并提供了排错指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在真机上(使真机作为第二层路由器,虚拟机通过真机做地址转换从而可以上网)
[root@foundation78 ~]# ping www.baidu.com  # 保证真机可以上网,ping通就代表可以上网

在这里插入图片描述

[root@foundation78 ~]# systemctl start firewalld   # 因为libvirt服务开启影响了火墙的开启
^C
[root@foundation78 ~]# systemctl stop libvirtd.service  
[root@foundation78 ~]# systemctl start firewalld
[root@foundation78 ~]# systemctl start libvirtd.service 

# 查看路由功能是否开启

[root@foundation78 ~]# firewall-cmd --list-all    # 查看到防火墙masquerade 策略关闭,即路由功能没开启

在这里插入图片描述

[root@foundation78 ~]# firewall-cmd --add-masquerade   # 打开路由功能
	success
[root@foundation78 ~]# firewall-cmd --list-all

在这里插入图片描述

[root@foundation78 ~]# sysctl -a | grep ip_forward   # 内核路由必须打开,1表示打开
net.ipv4.ip_forward = 1

在这里插入图片描述
注:
作为路由器
(1)内核路由功能必须打开
(2)防火墙策略必须打开

2.配置第一层路由器

配置不同网段的路由器详解

[root@desktop ~]# cd /etc/sysconfig/network-scripts/
[root@desktop network-scripts]# vim ifcfg-eth0
  1 DEVICE=eth0  
  2 ONBOOT=yes  
  3 BOOTPROTO=none  
  4 IPADDR0=172.25.254.142  
  5 PREFIX0=24  
  6 NAME=eth0  
  7 GATEWAY0=172.25.254.78    # 添加真机ip作为网关
[root@desktop network-scripts]# systemctl restart network
[root@desktop network-scripts]# route -n

在这里插入图片描述

[root@desktop network-scripts]# ping 183.232.231.173  # ping 不通,可能是因为内核路由功能没开启
[root@desktop network-scripts]# sysctl -a | grep ip_forward  # 查看,果然是没开启,0代表没开启
net.ipv4.ip_forward = 0
[root@desktop network-scripts]# vim /etc/sysctl.conf    # 打开内核路由功能
net.ipv4.ip_forward = 1
[root@desktop network-scripts]# sysctl -p  # 查看是否更改成功
net.ipv4.ip_forward = 1

# 因为没有DNS服务器来做域名解析,此时我们只能用过访问百度的IP来上网

[root@desktop network-scripts]# ping 183.232.231.173   # 此时就可以ping 通了,即保证路由器可以上网,183.232.231.173是百度的域名解析地址
[root@desktop network-scripts]# firewall-cmd --add-masquerade   # 打开路由功能,帮助客户端上网
success
[root@desktop network-scripts]# firewall-cmd --list-all

在这里插入图片描述

3.配置客户端
[root@server Desktop]# cd /etc/sysconfig/network-scripts/
[root@server network-scripts]# vim ifcfg-eth0   
	1 DEVICE=eth0  
	2 BOOTPROTO=none  
	3 ONBOOT=yes  
	4 IPADDR0=192.168.0.242  
	5 NETMASK=255.255.255.0  
	6 GATEWAY0=192.168.0.142
[root@server network-scripts]# systemctl restart network
[root@server network-scripts# route -n   # 添加网关,保证可以和不同网段的主机通信

在这里插入图片描述

[root@server network-scripts]# ping 183.232.231.188   # 可以ping通baidu,成功上网

在这里插入图片描述

[root@server network-scripts]# traceroute 183.232.231.173   # 追踪路由,第一个是通过第一层路由通信到第二层路由,再通过第二层路由访问百度

在这里插入图片描述

# 在虚拟机上测试上网,成功打开网址,说明可以上网

在这里插入图片描述

4.排错:
(1)如果网络配置都ok的话,但是ping不通路由器,一定是物理网卡坏了,删除网卡,重新添加网卡
(2)查看路由器的内核路由功能是否打开,确保全部打开
(3)查看路由器的火墙策略是否打开
(4)查看客户端的网关是否设定正确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值