此篇接Linux环境下路由表配置一


配置路由表具体方法,假设我们有如下图的网络环境需要配置,

Linux环境下路由表配置二_Linux学习

第一步 构建设备,将线路按照图中做出对应,并规划好ip,本题中自定制R1-R2为VMnet9,R2-R3为VMnet10

Linux环境下路由表配置二_路由表配置_02

第二步,规划好后,可以开始配置ip了

配置A:进入 /etc/sysconfig/network-scripts/ifcfg-eth0,编辑相关信息,相关信息填写DEVICE、IPADDR、PREFIX、GATEWAY等,写好后保存卸载装载驱动激活,如果route -n有其它多余信息,进入/etc/udev/rules.d/70-persistent-net.rules删除多余信息,只留本网卡,

 

配置R1:这里因为R1一边是桥接,另一边是自定制,因此需要注意网口要和模式对应,同上配置/etc/sysconfig/network-scripts/ifcfg-eth0,保证A和R1可以ping通,R1作为路由设备,因此指令输入echo 1 > /proc/sys/net/ipv4/ip_forward 使其具备路由功能,此时A便可以ping通R1的9.0.0.1地址

Linux环境下路由表配置二_Linux学习_03

 

配置R2:区分好网卡,在etc/sysconfig/network-scripts/ifcfg-eth0填写相关信息,相关信息DEVICE、IPADDR、PREFIX等,然后激活路由功能,指令route add -net 160.10.0.6/16 gw 9.0.0.1 dev ens33(本次实验ens33网卡与vmnet9段),之后可ping通A的ip地址160.10.0.6

Linux环境下路由表配置二_路由表配置_04


配置R3和B,并使R2、R3、B可以互相ping通

R2在vmnet10配置的路由表添加

route add -net 170.10.56.0/24 gw 10.0.0.3 dev ens37

 

这里要注意,因为vmnet9和vmnet10不在一个网段,因此

R1属于vmnet9网段,不属于vmnet10网段,因此添加路由表时不仅要填写B的路由表,还要填写到vmnet10的路由表

R2是vmnet9和vmnet10的连接点,它在两个网段都有接口,因此它路由记录只填写A和B的就可以

R3属于vmnet10网段,不属于vmnet9网段,因此添加路由表时不仅要填写B的路由表,还要填写到vmnet9的路由表

 

R1的路由表

Linux环境下路由表配置二_路由表配置_05

R2的路由表

Linux环境下路由表配置二_路由表配置_06

R3的路由表

Linux环境下路由表配置二_Linux学习_07

 

A ping B

Linux环境下路由表配置二_路由表配置_08

B ping A

Linux环境下路由表配置二_Linux学习_09


第二种配法

R1和R3作为边界路由器,它们只要将数据包发送给R2即可,让R2完成数据包转发功能,因此R1和R3可以用命令route add -net 0.0.0.0/0 gw x.x.x.x dev eth/ens…,注意,如果R1或R3上再连接个其它设备这种做法将不被允许。

Linux中如果重启后想保留路由表,还是需要更改文件,地址是/etc/sysconfig/network-scripts/route-网卡号,格式为

目标ip/prefix via 网关,例如10.0.0.0/8 via 9.0.0.2

R1路由表改变为

Linux环境下路由表配置二_路由表配置_10

R2路由表依然为

Linux环境下路由表配置二_路由表配置_11

R3路由表改变为

Linux环境下路由表配置二_Linux学习_12

结果图

Linux环境下路由表配置二_Linux学习_13

Linux环境下路由表配置二_Linux学习_14


总结:

一、对网络段的主机、路由根据正确的网卡号分配好ip、netmask,位置在/etc/sysconfig/network-scripts/ifcfg-xxx

二、在实验中对于作为路由设备的主机输入指令echo 1 > /proc/sys/net/ipv4/ip_forward激活路由功能,并检查同一网段内的设备是否可以互相ping通

三、添加路由表,同一网段内的设备目标地址直接填写目标网络id,不是同一网段的,需要在路由表里先填写到达该网段的网络id地址,再填写目标网络id,假设本题中R3后还接有vmnet11的网段和R4路由器才到达B,此时R1填写路由表是到达vmnet10、vmnet11和B的目标网络id地址,R2和R3也需填写vmnet11的网络id地址,反之亦然

四、作为边界路由器且它自身只连接了一台主机而言,其路由表可以配置成目标ip为0.0.0.0,网关还是下一个路由邻近自己的网口,这样将数据包发送任务交给中间段的路由器,让中间的路由器根据路由表去做转发数据包也可以