LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置

由于两台主机的网络位,即两台主机的ip不在同一网段,那么他们是不能进行直接通信的,那么,在这里,我就就需要用到一个工具–路由器

路由器的主要工作就是进行nat转换的,那么我们假设一台主机上有两个网卡,分别有两个不同的ip,其中一个ip和另一个主机ip的网段相同,那么经过路由器就可以将不同网络段的主机ip转换为相同网段,这样就可以进行不同主机上的相互通信了,这个两泰诸暨中相同地址段的ip就是我们经常所说的网关了
网关:路由器上和主机ip处于同一网段的ip

实验环境

首先,我们需要两个虚拟机,其中一个需要两块网卡,将其作为路由器,那么在这里,我们就将我们以前的client作为普通主机,server作为路由器

客户端client
我们更改其ip为1.1.1.97
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第1张图片
服务端server
首先我们要为server配置两块网卡
我们在真机上通过命令virt-manager打开虚拟机控制窗口,然后为server添加一块网卡
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第2张图片
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第3张图片
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第4张图片
然后我们要对两块网卡对其设置静态ip,前面已经讲过关于IP的设置,这里就不多讲了

LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第5张图片

实验步骤

1.用客户端去ping服务端
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第6张图片
我们发现不同网网段之间是ping不通的,当然,这实属正常
2.服务端开启内核路由功能

通过命令sysctl -a | grep ip_forward 
若出现net.ipv4.ip_forward = 1 则内核路由功能已开启
否则需要配置文件vim /etc/sysctl.conf,将其值设为1
最后用sysctl -p查看

在这里插入图片描述

LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第7张图片
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第8张图片
3.打开火墙伪装,将服务端变成路由器

通过命令firewall-cmd --add-masquerade

LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第9张图片
4.设置网关
客户端编辑vim /etc/sysconfig/network全局变量GATEWAY=1.1.1.117
也可编辑局部变量 vim /etc/sysconfig/network.scripts/ifcfg-eth0
添加GATEWAY=1.1.1.117
route -n 查看网关
最后发现ping 172.25.254.117可通
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第10张图片

LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第11张图片
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第12张图片

虚拟机上网

有了上面的实验,虚拟机上网就很简单了,我们只需要将主机设置为路由器即可
真机:
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第13张图片
客户端:
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第14张图片
最终结果
LINUX如何让两个不同网段的主机进行通信与虚拟机上网设置_第15张图片
注意:在这里我们需要注意的是不要受前面实验的影响,客户端的ip一定要和真机上的网段相同,而且,不可在客户端上直接pingwww.baidu.com,暂时得ping百度的ip

你可能感兴趣的:(linux)