2017年3月8日 如何添加一条路由 route路由实战使用案例 - xhj8816216/linux- GitHub Wiki

1.1.1 linux路由部署项目背景

在企业当中,网络环境可能是比较复杂的,会需要配置多个网段地址,并且多个网段之间要实现网络的互通。这时就需要引入linux网络路由配置的概念,来解决网络之间的互通。本方案就是以一个简单的企业场景案

例进行规划、分析、以及配置企业内部的不同网段之间互通。 1.1.2 linux路由部署项目拓扑 wKiom1jgSp-A-_AhAAFtSvrvrwk144.jpg-wh_50

项目实战拓扑图 1.1.3 路由部署项目拓扑图分析

q 拓扑所需设备:

这个拓扑采用三台虚拟机设备即可,拓扑中所绘制交换机设备以及路由设备,为生产中场景设备,利用vm虚拟软件模拟时,可以忽略掉,因为虚拟化软件自身即可完成路由和交换相应功能。

q 拓扑实现需求:

需要在虚拟化软件中配置开启两块虚拟网卡,分别为vmnet8与vmnet1,默认虚拟软件会开启vmnet8网卡采用nat模式,只需再添加一块vmnet1虚拟网卡即可;由于vm虚拟软件不支持多块网卡开启nat模式,因此vmnet1虚拟网卡设置为主机模式即可,无需达到nat模式访问外网条件。

q 拓扑实现目标:

默认生产环境中,三台服务器均可满足访问外网需求;但最终目标是完成服务器01与服务器03之间的不同网段间通讯,即服务器01的10.0.0.10主机IP地址可以正常访问服务器03的10.0.1.10主机IP地址 1.1.4 vmware虚拟软件环境准备 1.1.5 虚拟软件环境准备-虚拟主机部署

利用老男孩运维基础部分知识,在虚拟软件中首先创建出三台虚拟主机;也可以采用虚拟软件克隆技术,克隆出三台主机。准备工作完成后,会在虚拟主机信息界面出现3台新的虚拟主机信息。如下图所示即可:

wKioL1jgSunC0TmIAAAdUMYerOU824.png

虚拟主机信息

提示信息:

具体创建步骤不在进行过多说明,基础运维部分已经进行过相关讲解 1.1.6 虚拟软件环境准备-虚拟主机网卡创建

需要在虚拟主机中创建出上文拓扑中所提到的两块虚拟网卡分别为vmnet8与vmnet1

具体创建步骤参照下图步骤所示:

点击虚拟软件菜单栏中【编辑】-【虚拟网络编辑器】

wKioL1jgSv2i5GQXAABD8uVE9PU144.png-wh_50

配置虚拟网卡步骤01

进入到虚拟网编辑器中首先配置vmnet8虚拟网(默认即有不用进行添加新增)

vmnet8虚拟网配置项:

q 选中【NAT模式与虚拟机共享主机的IP地址】

q 选中【将主机虚拟适配器连接到此网络】

q 子网IP【10.0.0.0】;子网掩码【255.255.255.0】

其余配置项不进行选择配置

wKiom1jgSxLA4JIcAACAyvsUdbw410.png-wh_50

配置虚拟网卡步骤02

进入到虚拟网编辑器中首先配置vmnet1虚拟网(默认即有,若不存在点击上图中的【添加网路】)

vmnet1虚拟网配置项:

q 选中【仅主机模式在专用网络内连接虚拟主机】

q 选中【将主机虚拟适配器连接到此网络】

q 子网IP【10.0.1.0】;子网掩码【255.255.255.0】

其余配置项不进行选择配置:

wKioL1jgSyfhrKM1AAB-n1eh9YQ550.png-wh_50

配置虚拟网卡步骤03 1.1.7 虚拟软件环境准备-虚拟主机添加虚拟网卡

选中相应虚拟主机【右键点击】-选择【设置】

wKiom1jgS0KwAFpCAABzc7ytpCs353.png-wh_50

虚拟主机添加虚拟网卡步骤01

进入到虚拟机配置界面选择【硬件】选项卡-选择【添加】

wKioL1jgS1PgSFp_AACb5wBYs4M954.png-wh_50

虚拟主机添加虚拟网卡步骤02

进入到添加硬件向导选中所要添加的硬件-点击【下一步】

网络连接配置添加的第一个网卡选择NAT,添加的第二个网卡选择仅主机模式

wKiom1jgS9bTmNELAABQTdsV4n4915.png-wh_50wKiom1jgS27zFcI-AABJhbWfngU492.png-wh_50

虚拟主机添加虚拟网卡步骤03

配置完毕后,会在虚拟机设置页面出现添加成功的相应网卡信息:

t 服务器01添加虚拟网卡信息如下:

wKioL1jgS__iuJa0AAB-GOyVp84037.png-wh_50

服务器01虚拟网卡信息

t 服务器02添加虚拟网卡信息如下:

wKioL1jgTBPCf7sJAACC9Vbee9k132.png-wh_50

服务器02虚拟网卡信息

wKiom1jgTCyCpSb-AACDmCnscGw578.png-wh_50

服务器02虚拟网卡信息2

t 服务器03添加虚拟网卡信息如下:

wKiom1jgTDnTlQK1AACAYI1GUJ4145.png-wh_50

服务器03虚拟网卡信息 1.1.8 虚拟软件环境准备-虚拟主机网卡地址配置

此步不做过多说明,利用setup命令即可完成网卡地址信息配置,具体配置步骤参见老男孩基础运维-虚拟机网络环境部署课程! 1.1.9 虚拟软件环境准备-虚拟主机网络信息汇总表

虚拟服务器

网卡配置信息

虚拟网卡名称

虚拟网卡模式

服务器01

eth0:10.0.0.10/24

vmnet8

nat模式

服务器02

eth0:10.0.0.11/24

vmnet8

nat模式

eth1:10.0.1.11/24

vmnet1

仅主机模式

服务器03

eth0:10.0.1.10/24

vmnet1

仅主机模式

虚拟主机网络信息汇总表 1.1.10 linux路由部署实践部分 1.1.11 查看确认三台主机默认路由配置条目信息

服务器01主机路由表条目信息: 1 2 3 4 5 6

[root@oldboy ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0

服务器02主机路由表条目信息: 1 2 3 4 5 6 7

[root@oldboy ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref UseIface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1

服务器03主机路由表条目信息: 1 2 3 4 5 6

[root@oldboy ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref UseIface 10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 10.0.1.254 0.0.0.0 UG 0 0 0 eth0

1.1.12 服务器主机配置网路路由条目信息

服务器01上配置网路路由条目: 1 2 3 4 5 6 7 8

[root@oldboy ~]# route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.0.11 [root@oldboy ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.0.1.0 10.0.0.11 255.255.255.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0

说明:利用添加网络路由条目命令,已经在服务器01上正确添加上一条去往10.0.1.0网段路由条目

服务器03上配置网络路由条目: 1 2 3 4 5 6 7 8

[root@oldboy ~]# route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.1.11 [root@oldboy ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref UseIface 10.0.0.0 10.0.1.11 255.255.255.0 UG 0 0 0 eth0 10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 10.0.1.254 0.0.0.0 UG 0 0 0 eth0

说明:利用添加网络路由条目命令,已经在服务器03上正确添加上一条去往10.0.0.0网段路由条目

1.1.13 配置开启主机路由转发功能

服务器02主机在拓扑中负责进行路由转发,需要开启相应配置参数 1 2 3 4

[root@oldboy ~]# vim /etc/sysctl.conf net.ipv4.ip_forward= 1 [root@oldboy ~]# sysctl -p net.ipv4.ip_forward= 1

...其余显示部分省略...

说明:默认数值为0,将数值改为1,路由转发功能即表示开启

1.1.14 虚拟主机路由访问验证

服务器01主机上进行验证: 1 2 3 4

[root@oldboy ~]# traceroute 10.0.1.10 traceroute to 10.0.1.10 (10.0.1.10), 30 hops max, 60 byte packets 1 10.0.0.11 (10.0.0.11) 0.247 ms 2.281 ms 2.245 ms 2 10.0.1.10 (10.0.1.10) 3.077 ms !X 3.055 ms !X 3.018 ms !X

说明:通过traceroute路由路径追踪命令,已确认路由走向符合配置需求,即路由配置正确无误。

 !X表示已经完成路由追踪过程。

服务器03主机上进行验证: 1 2 3 4

[root@oldboy ~]# traceroute 10.0.0.10 traceroute to 10.0.0.10 (10.0.0.10), 30 hops max, 60 byte packets 1 10.0.1.11 (10.0.1.11) 0.295 ms 1.221 ms 1.175 ms 2 10.0.0.10 (10.0.0.10) 1.797 ms !X 1.761 ms !X 1.727 ms !X

说明:通过traceroute路由路径追踪命令,已确认路由走向符合配置需求,即路由配置正确无误。

 !X表示已经完成路由追踪过程。

1.1.15 linux路由部署项目结论

整体配置部署步骤已符合原有项目需求,生产环境中,已经可以满足3台服务器主机在正常访问外网的同时,可以利用服务器路由转发功能与服务器网路路由配置,实现内网环境跨网段进行通讯需求。 1.1.16 linux路由部署异常分析

  1. 防火墙异常问题:

服务器主机02起到路由转发功能,类似于路由器的角色,因此服务器上防火墙功能需要关闭,否则防火墙相应条目会阻止掉路由转发流量;具体iptables防火墙安全策略配置后续章节会进行讲解,敬请期待!

  1. 虚拟网卡异常问题:

服务器主机网卡信息配置中,尽量选择nat模式或者仅主机模式网卡进行配置,不要选择LAN区段网卡配置方式,否则根据虚拟软件网络工作原理,LAN区段网卡配置模式无法进行路由的转发,会影响最终配置效果。

网友答案:

方圆 10:51:18

测试平台:CentOSLinux release 7.3.1611 (Core)

添加临时路由

1.为某网络添加路由 1

route add -net 220.181.8.0/24 gw192.168.72.2

2.添加到某主机的路由 1

route add -host 220.123.123.123 gw192.168.72.2

3.添加默认路由 1

route add default gw 192.168.72.2

添加永久路由

方法1: 在/etc/rc.local里添加执行命令文本内容 1

route add -host 220.123.123.123 gw192.168.72.2

该方法注意点:需要/etc/rc.local具有开机执行权限,该方法的缺陷是在/etc/init.d/network服务重启后添加的路由会消失

方法2:增加文件,并写入如下需要添加的路由信息:vim/etc/sysconfig/static-routes 1 2

any net 220.181.9.0/24 gw 192.168.72.2 any host 220.181.9.2 gw 192.168.72.2

该方法的原理为:/etc/init.d/network在启动时,会调用执行/etc/sysconfig/static-routes文件内容,详细调用方式请查看/etc/init.d/network文件内容

此方法的优点是:即使/etc/init.d/network服务重启,路由表信息也不会丢失。@悠久之翼

⚠️ **GitHub.com Fallback** ⚠️