实验环境准备: 这是实验我们用到3个路由器和两个客户端,所以需要在VMware上创建5个centos,其中3个用做路由器,两个当作客户端A和客户端B。 实验流程: 一、画出拓扑图 二、划分网段 默认不自动添加网络的话,只能手动加。在虚拟机的主页面点击编辑打开添加虚拟网络进入就看到添加网络的界面,然后根据我们的网段划分来对应添加。最后取消DHCP自动获取服务,自己设置地址,然后点击确定。 三、先把三个路由器R1 R2 R3 的配置搭建起来 在每个虚拟机添加相对应的网卡,打开硬件设置的选项里,选择自定义网络连接,R1的选择VMnet11 和VMnet11 两个网卡 ; R2 的选择 VMnet12和VMnet13 这两块网卡 ;R3选择VMnet13和VMnet14这两块网卡。 配置路由的IP地址: 配置R1两个接口的地址接口eth0和eth1分别对应192.168.1.1 和192.168.1.2 ifconfig eth0 192.168.1.1/24 ifconfig eth1 192.168.2.1/24 用ifconfig 命令可以临时添加地址,当然地址不稳地会随时丢. R2接口地址的配置流程和R1的一样 ifconfig eth0 192.168.2.2/24 ifconfig eth1 192.168.3.2/24 R3接口地址的配置流程和R1的一样 ifconfig eth0 192.168.3.1/24 ifconfig eth1 192.168.4.1/24 把地址写入配置文件: 由于是临时配置的地址不稳地,会造成地址丢失,PING不同的情况,为了保险我们在这里把地址写入配置文件里。 相关的配置文件:/etc/udev/rules.d/70-persistent-net.rules 进入配置文件cd /etc/udev/rules.d/70-persistent-net.rules 如果没有eth0结尾的文件可以修改成eth0,但是注意ifcfg-是固定模式一定不能改,只能改动ifcfg-后面的,例如把ifconfig-112改成ifconfig-eth0 可以用命令 在当前目录下 mv ifconfig-112 ifconfig-eth0 。然后在vim键入 也可以自己编辑一个vim ifconfig-eth1 这文件编辑主要选项选项如下 DEVICE=eth0 这是配置文件对应的设备名和文件名一样,所以必须改成eth0 这行很重要. UUID 是可有可无的,为了避免是从别的机器复制过来启动的造成冲突,最好是删了。 ONBOOT=yes 这是激活启动项,必须是yes BOOTPROTO=dhcp 这是自动获取地址的意思,因为我们所以必######须改成BOOTPROTO=none 或者BOOTPROTO=static 要不就删######除,然后在下面添加地址IPADDR=192.168.2.2 和掩码PREFIX=24 就可以了。 掩码也可以用MASK=255.255.255.0 表示 下面是自己编辑的vim ifconfig-eth1 可以只填入三个设备名、地址、掩码就可以这是最简单的网卡配置,也可以自己加多网关,MAC地址,DNS这几个选项。 完成编辑了然后启动网络服务 [root@centos6 network-scripts]# service network restart 用ifconfig查看还有问题就关闭NetworkManager 下图命令第一条是关闭开机启动 第二的是临时关闭的 ,两条结合就永久关闭 四、客户端的网卡和地址的配置 网卡的配置: 把centos6.9的机器作为A客户端,网卡设置流程和路由R1的一样的,在这里我们选择VMnet11 这网卡,把centos7.3当作客户端网卡选择自定义的VMnet14。 地址的配置: centos6.9上A客户端的地址配置进入网卡放置的文件 cd /etc/sysconfig/network-scripts/ vim ifcfg-eth0 进入文件里面编辑 添加IP地址192.168.1.100 掩码是24 注意要加上网关地址 192.168.1.1 网关地址就是直连R1路由的那eth0接口的地址。 在centos7.3 客户端B的地址配置的流程和6.9上是一样的,具体配置如下: IP地址:192.168.4.100 掩码 24 网关是:192.168.4.1 五、关闭防火墙 在每个机器上关闭防火墙,命令如下图: 六、开启路由功能 用虚拟机当作的路由器并没有启用路由功能,所以的用命令开启路由的转发功能。 分别在R1、R2、R3 上输入两条命令就把路由器功能开启了 cat /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward 七、添加路由 分别在R1 R2 R2 上添加路由: 在R1上添加到3.0和4.0的两条路由 (注意网关指向与它相连的吓一跳地址2.2) R1: route add -net 192.168.3.0/24 gw 192.168.2.2 route add -net 192.168.4.0/24 gw 192.168.2.2 也可以简化合二为一,添加默认路由就行 route add -net 0.0.0.0/0 gw 192.168.2.2 R2: route add -net 192.168.1.0/24 gw 192.168.2.1 route add -net 192.168.4.0/24 gw 192.168.3.1 R3: route add -net 192.168.1.0/24 gw 192.168.3.2 route add -net 192.168.2.0/24 gw 192.168.3.2 也可以简化合二为一,添加默认路由就行 可以简化操作(一般不这样写) route add default gw 192.168.3.2 添加好了的路由,有route -n 查看,看添加是否正确 八、测试实验结果 配置好了路由,这里所有的配置都完成了,在A的客户机ping B的客户机地址192.168.4.100看有没有错误,通的话就没问题,不通就该排错了。下面是可以ping通的说明下面实验是成功的,就不需要排错了。 用traceroute 查看报文经过的路径,跟踪路由 trecepath 、mtr 这两条命令也可以跟踪路由,如下图 注意事项: 1、配置完成后的虚拟机有可能启动不了,由于三个虚拟机缓存文件是复制的,有可能会造成mac地址冲突,所以需要在网卡里的高级设置里点击自动生成mac地址就可以了,当然用网络安装的三个虚拟机不存在这个问题。 2、在用ifconfig 配置临时地址时有可能地址会丢,需要把添加地址的命令在执行一遍查看一下就好了,也可以写入文件/etc/sysconfig/network-scripts/ifcfg-eth0 或者eth1中。 3、用ifconfig查看网卡的时候发现有的接口eth1或者eth0 其中的网卡没起来,可以直接用命令ifconfig -a 激活启动网卡。 4、路由配置命令式临时生效的,下次开机重启就没了。要想保存住的写入配置文件里面。 5、ping不同有可能是地址冲突造成的。 6、这只是适用于小的路由环境,一旦环境用到的路由器太多了,就不行了。