Linux模拟路由器实验

实验目标:
将3台主机设置成路由器
实现两台终端能够相互通信
网络结构如下:

Linux模拟路由器实验

准备工作:
1、批量复制虚拟机文件,创建多个系统,提前把mac地址修改
2、关闭防火墙
service iptables  stop  //CentOS6版本
systemctl  stop firewalld.service  //centos7版本
3、关闭selinux
setenforce 0  //关闭
getenforce  //查看
4、在三台“路由器”上启用路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward

操作过程:
第1步:配置网卡地址,测试直连
配置ip地址
    ifconfig 接口 ip地址/掩码
    或者
    ip addr add ip地址/掩码  dev 接口
检查ip配置
    ip add
    或者
    ifconfig
12345678910111213 PC-A:
ifconfig eth2 10.10.1.1/24
R_x:
ifconfig eth1 10.10.1.254/24  //PC-A的网关
ifconfig eth2 10.10.12.1/24    //与R_y直连
R_y:
ifconfig eth0 10.10.12.2/24    //与R_x直连
ifconfig eth2 10.10.23.1/24    //与R_z直连
R_z:
ifconfig eth0 10.10.23.2/24    //与R_y直连
ifconfig eth1 10.10.2.254/24  //PC-B的网关
PC-B:
ifconfig eth1 10.10.1.1/24

测试直连地址使用工具:ping
如果直连不通,后续就无法操作,一定要保证ip配置正确
网卡的配置文件存放在下述目录中:
/etc/sysconfig/network-scripts/
如果想要永久生效可以修改目录中对应的网卡文件

第2步:添加路由,测试
配置路由
    ip route add 目的网段/掩码 via  下一跳ip地址
    或者
    route add -net 目的网段/掩码 dev 本机出接口
    意思就是要想到达某一网络,就要从本机指定接口出去,或者指定的邻接路由器接口ip地址,而这就是下一跳
查看路由信息
    route -n
    或者
    ip route
PC-A:
ip route default via 10.10.1.254    //主机A不管去哪里的网络,都会把数据包交给网关10.10.1.254也就是R_x
R_x:
ip route add 10.10.2.0/24 via 10.10.12.2   
ip route add 10.10.23.0/24 via 10.10.12.2    //要想到达目标网络,本段必须有去的路由,但是并不关心回的路由,因为那是由对端设备负责的
R_y:
ip route add 10.10.1.0/24 via 10.10.12.1
ip route add 10.10.2.0/24 via 10.10.23.2
R_z:
ip route add 10.10.1.0/24 via 10.10.23.1
ip route add 10.10.12.0/24 via 10.10.23.1
PC-B:
ip route default via 10.10.2.254
//每条路由是只负责去的路径,由对方负责回来的路径。对本段而言回的路由就是对端去的路由

查看各个设备的路由表
[root@PC_A ~]#ip route 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.100  metric 1 
10.10.1.0/24 dev eth2  proto kernel  scope link  src 10.10.1.1 
default via 10.10.1.254 dev eth2        //主机A有一条默认路由,去往目标的数据包全部交给eth2接口

[root@R_x ~]#ip route 
10.10.23.0/24 via 10.10.12.2 dev eth2 
10.10.2.0/24 via 10.10.12.2 dev eth2        //路由器R_x到达目的网络的路径是10.10.12.2,也就是R_y
10.10.1.0/24 dev eth1  proto kernel  scope link  src 10.10.1.254 
10.10.12.0/24 dev eth2  proto kernel  scope link  src 10.10.12.1  //以上两条路由是直连网络

[root@R_y ~]#ip route 
10.10.23.0/24 dev eth2  proto kernel  scope link  src 10.10.23.1 
10.10.2.0/24 via 10.10.23.2 dev eth2 
10.10.1.0/24 via 10.10.12.1 dev eth0      //由于R_y是3台路由器的中间一台,所以需要配置到两端的路由,因此下一跳也不一样
10.10.12.0/24 dev eth0  proto kernel  scope link  src 10.10.12.2

[root@R_z ~]#ip route 
10.10.23.0/24 dev eth0  proto kernel  scope link  src 10.10.23.2 
10.10.2.0/24 dev eth1  proto kernel  scope link  src 10.10.2.254 
10.10.1.0/24 via 10.10.23.1 dev eth0 
10.10.12.0/24 via 10.10.23.1 dev eth0    //至此经过的路由器有三个了,到达目的网络网关

[root@PC-B ~]#ip route
default via 10.10.2.254 dev eth1      //到达目的主机B
10.10.2.0/24 dev eth1  proto kernel  scope link  src 10.10.2.1 
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.100 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

出现的192.168.x.x网络可以忽略

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13514.html