实验环境:VMware12
操作系统:CentOS6.9
网络适配器:仅主机模式
实验目标:利用VMware模拟搭建一个路由环境
第一步:设计出所要搭建的路由环境
先设计出所要搭建的路由环境,如下图所示:
这个实验需要5台主机,其中有2台终端,3个路由器,组成4个不同的网段。在VMware添加4个虚拟网络,对应4个网络地址,如下表所示:
表1 虚拟网络对应网络地址
虚拟网络 | 对应网络地址 |
VMnet11 | 10.1.0.0 |
VMnet11 | 10.2.0.0 |
VMnet11 | 10.3.0.0 |
VMnet11 | 10.4.0.0 |
A终端和R1的eth0接口属于VMnet11网段,R1的eth1接口和R2的eth0接口属于VMnet12网段,以此类推。具体如下表所示:
表2 主机每个网卡接口对应的虚拟网络
主机\网卡 | eth0 | eth1 |
A | VMnet11 | 无 |
R1 | VMnet11 | VMnet12 |
R2 | VMnet12 | VMnet13 |
R3 | VMnet13 | VMnet14 |
B | VMnet14 | 无 |
两个终端假设为A、B,A终端只有一个网卡,IP地址为10.1.0.100/16,B终端也只有一个网卡,ip地址为10.4.0.100
3个路由器假设为R1,R2,R3,每个路由器有两个网卡接口,分别为eth0和eth1,IP地址分别如下表所示:
表3 每个主机网卡接口的ip地址
主机\网卡 | eth0 | eth1 |
A | 10.1.0.100/16 | |
R1 | 10.1.0.200 | 10.2.0.200 |
R2 | 10.2.0.201 | 10.3.0.200 |
R3 | 10.3.0.201 | 10.4.0.200 |
B | 10.4.0.100 |
为了避免后面的具体实验步骤加上截图、解析太过冗长,导致思路不够清晰,这里给出了每个主机对应的虚拟网络和所执行的命令
A
eth0:vmnet11
IP:10.1.0.100/16
GATEWAY:10.1.0.200
R1
eth0:vmnet11
eth1:vmnet12
route add default gw 10.2.0.201
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -vnL
centos6
chkconfig iptables off
servcie iptables stop
centos7
systemctl disable firewalld
systemctl stop firewalld
R2
eth0:vmnet12
eth1:vmnet13
route add -net 10.1.0.0/16 gw 10.2.0.200
route add -net 10.4.0.0/16 gw 10.3.0.201
echo 1 > /proc/sys/net/ipv4/ip_forward
R3
eth0:vmnet13
eth1:vmnet14
route add default gw 10.3.0.200
echo 1 > /proc/sys/net/ipv4/ip_forward
B
eth0:VMnet14
IP:10.4.0.100/16
GATEWAY:10.4.0.200
第二步:设置各主机的网段
进入VMwareà打开虚拟网络编辑器 à添加网络(VMnet11、VMnet12、VMnet13、VMnet14)à打开windows网络和共享中心,打开更改适配器设置,查看VMnet11、VMnet12、VMnet13、VMnet14是否出现,出现了,则4个虚拟网络设置成功
下面设置五个主机的网段。
设置终端A、B的虚拟网络,按照表2 主机每个网卡接口对应的虚拟网络设置,以A为例:
先来配置A终端的虚拟网络VMnet11,B终端的虚拟网络设置与A类似,只要把VMnet11改成VMnet14即可。
现在来配置R1、R2、R3路由器的虚拟网络。按照表2 主机每个网卡接口对应的虚拟网络设置,以R1为例:
选中R1,右键单击,选择设置,如下图所示:
第三步:配置IP地址
好了,终于到了配置IP地址的时候了。
按照表2中的IP地址进行设置。以A为例:
开启A虚拟机,在命令行输入ifconfig查看网络状态,这时,可以看到,网卡名是eth3,并不是eth0,这是因为我们直接复制centOS6虚拟机引起的,为了标准起见,我们要将eth3改回eth0
[root@centos6 Desktop]# vim /etc/udev/rules.d/70-persistent-net.rules这是网络接口识别并命名相关的udev配置文件,进入这个文件修改
[root@centos6 Desktop]# ethtool -i eth3
[root@centos6 Desktop]# rmmod e1000
[root@centos6 Desktop]# modprobe e1000
执行ifconfig命令,可以看到网卡名已经改为eth0了
接下来就进入/etc/sysconfig/network-scripts/目录
root@centos6 Desktop]# cd /etc/sysconfig/network-scripts/
现在进入IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
[root@centos6 network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
chkconfig NetworkManager off 将NetworkManager服务设为开机不启动,避免影响网卡设置
执行service NetworkManager status 查看当前NetworkManager服务状态,由下图可知,该服务启动,因此执行service NetworkManager stop停止该服务
重启网络服务service network restart,然后执行ifconfig查询IP地址是否设置成功。从下图看eth0的IP地址为10.1..100,子网掩码为255.255.0.0,设置成功。
执行route -n查看路由表,可以看到网关10.1.0.200设置成功。
B终端设置与A类似,不再一一赘述,只看最后的IP地址和网关设置
终端A、B配置完了,接下来配置路由R1、R2、R3
以R1为例:
[root@centos6 Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@centos6 Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
[root@centos6 Desktop]# service network restart 服务重启
检查IP地址和网关设置,下图代表设置已成功
R2、R3设置与R1类似,不再一一赘述,只看最后的IP地址和网关设置
R2:
R3:
第四步:网络连通
添加网络到路由表:
IP地址配置完成后,直连的网络能ping通,不是直连的网络想要连通需要在路由器上添加路由信息。
R1:
R1位于的网络的左边,它直连10.1.0.0和10.2.0.0网络,不能直达的网络为10.3.0.0和10.4.0.0,
因此,在R1的路由表上加上10.3.0.0和10.4.0.0网络
[root@centos6 Desktop]# route add -net 10.3.0.0/16 gw 10.2.0.201
[root@centos6 Desktop]# route add -net 10.4.0.0/16 gw 10.2.0.201
因为R1位于边界位置,因此可以添加默认路由,上面两条命令可以只写一条route add default gw 10.2.0.201,效果是一样的
[root@centos6 Desktop]# route -n
关闭防火墙:
iptables –vnL 查看防火墙是否开启,如果开启就执行下面的命令关闭防火墙
chkconfig iptables off
servcie iptables stop
下图代表防火请关闭
开启路由转发功能:
cat /proc/sys/net/ipv4/ip_forward
值为0:不转发(默认值为0)
值为1:转发
[root@centos6 Desktop]# echo 1 > /proc/sys/net/ipv4/ip_forward 开启路由转发功能,注意:网络服务重启设置的值会丢,一般在最后设置这个值
R2、R3的步骤与R1类似
R2:
添加路由信息:
[root@centos6 Desktop]# route add -net 10.1.0.0/16 gw 10.2.0.200
[root@centos6 Desktop]# route add -net 10.4.0.0/16 gw 10.3.0.201
[root@centos6 Desktop]# route –n
关闭防火墙:
iptables -vnL
chkconfig iptables off
servcie iptables stop
开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
R3:
[root@centos6 Desktop]# route add default gw 10.3.0.200 添加默认路由
关闭防火墙:
iptables -vnL
chkconfig iptables off
servcie iptables stop
开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
第五步:测试网络是否连通
在A终端ping B终端的IP地址,能ping通说明网络连通,路由环境搭建成功
说了这么多,终于结束了,在这个实验上,一不小心就会掉进坑里,不要着急,慢慢解决,一定要细心!路由环境的配置也只是网络的一小部分知识,想要学好网络,路漫漫其修远兮。