1.1.1 linux路由部署项目背景

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

例进行规划、分析、以及配置企业内部的不同网段之间互通。

1.1.2 linux路由部署项目拓扑

      老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_每日一题

项目实战拓扑图

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

q  拓扑所需设备:

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

q  拓扑实现需求:

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

q  拓扑实现目标:

默认生产环境中,三台服务器均可满足访问外网需求;但最终目标是完成服务器01与服务器03之间的不同网段间通讯,即服务器0110.0.0.10主机IP地址可以正常访问服务器0310.0.1.10主机IP地址

1.1.4 vmware虚拟软件环境准备

1.1.5 虚拟软件环境准备-虚拟主机部署

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_添加路由_02

虚拟主机信息

提示信息:

具体创建步骤不在进行过多说明,基础运维部分已经进行过相关讲解

1.1.6 虚拟软件环境准备-虚拟主机网卡创建

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

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

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_路由交换_03

配置虚拟网卡步骤01

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

vmnet8虚拟网配置项:

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

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

q  子网IP10.0.0.0】;子网掩码【255.255.255.0

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_路由交换_04

配置虚拟网卡步骤02

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

vmnet1虚拟网配置项:

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

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

q  子网IP10.0.1.0】;子网掩码【255.255.255.0

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_每日一题_05

配置虚拟网卡步骤03

1.1.7 虚拟软件环境准备-虚拟主机添加虚拟网卡

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_添加路由_06

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

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_每日一题_07

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

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

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_每日一题_08老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_路由交换_09

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

 

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

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_路由交换_10

服务器01虚拟网卡信息

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_路由交换_11

服务器02虚拟网卡信息

 

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_路由交换_12

服务器02虚拟网卡信息2

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

老男孩教育每日一题:2017年3月8日-如何添加一条路由-route路由实战使用案例_添加路由_13

服务器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主机路由表条目信息:

[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主机路由表条目信息:

[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主机路由表条目信息:

[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上配置网路路由条目:

[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上配置网络路由条目:

[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主机在拓扑中负责进行路由转发,需要开启相应配置参数

[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主机上进行验证:

[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主机上进行验证:

[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路由部署异常分析

01.  防火墙异常问题:

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

02.  虚拟网卡异常问题:

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

网友答案:

方圆<xxxxm> 10:51:18

 

测试平台:CentOSLinux release 7.3.1611 (Core)

添加临时路由

1.为某网络添加路由

route add -net 220.181.8.0/24 gw192.168.72.2

 

2.添加到某主机的路由

route add -host 220.123.123.123 gw192.168.72.2

 

3.添加默认路由

route add default gw 192.168.72.2

 

添加永久路由

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

route add -host 220.123.123.123 gw192.168.72.2

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

 

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

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服务重启,路由表信息也不会丢失。@悠久之翼