此篇接Linux环境下路由表配置一网络
配置路由表具体方法,假设咱们有以下图的网络环境须要配置,ide
第一步 构建设备,将线路按照图中作出对应,并规划好ip,本题中自定制R1-R2为VMnet9,R2-R3为VMnet10blog
第二步,规划好后,能够开始配置ip了接口
配置A:进入 /etc/sysconfig/network-scripts/ifcfg-eth0,编辑相关信息,相关信息填写DEVICE、IPADDR、PREFIX、GATEWAY等,写好后保存卸载装载驱动激活,若是route -n有其它多余信息,进入/etc/udev/rules.d/70-persistent-net.rules删除多余信息,只留本网卡,ip
配置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地址路由
配置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.6get
配置R3和B,并使R二、R三、B能够互相ping通it
R2在vmnet10配置的路由表添加class
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的路由表
R2的路由表
R3的路由表
A ping B
B ping A
第二种配法
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路由表改变为
R2路由表依然为
R3路由表改变为
结果图
总结:
1、对网络段的主机、路由根据正确的网卡号分配好ip、netmask,位置在/etc/sysconfig/network-scripts/ifcfg-xxx
2、在实验中对于做为路由设备的主机输入指令echo 1 > /proc/sys/net/ipv4/ip_forward激活路由功能,并检查同一网段内的设备是否能够互相ping通
3、添加路由表,同一网段内的设备目标地址直接填写目标网络id,不是同一网段的,须要在路由表里先填写到达该网段的网络id地址,再填写目标网络id,假设本题中R3后还接有vmnet11的网段和R4路由器才到达B,此时R1填写路由表是到达vmnet十、vmnet11和B的目标网络id地址,R2和R3也需填写vmnet11的网络id地址,反之亦然
4、做为边界路由器且它自身只链接了一台主机而言,其路由表能够配置成目标ip为0.0.0.0,网关仍是下一个路由邻近本身的网口,这样将数据包发送任务交给中间段的路由器,让中间的路由器根据路由表去作转发数据包也能够