世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活!

Linux/Windows系统静态路由配置

2019-06-20
138次查阅
2019/6/20

路由器的功能是实现一个网段到另一个网段之间的通信,路由分为:静态路由、动态路由、 默认路由和直连路由。

静态路由是手工指定的,使用静态路由的好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。不占用网络带宽,因为静态路由不会产生更新流量。

Linux系统静态路由的配置

Linux系统使用route命令配置静态路由:

route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

  • add添加一条路由规则
  • del删除一条路由规则
  • -net目的地址是一个网络
  • -host目的地址是一个主机
  • target目的网络或主机
  • netmask目的地址的网络掩码
  • gw路由数据包通过的网关
  • dev为路由指定的网络接口
root@sk:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 eth0
172.31.96.0     0.0.0.0         255.255.240.0   U     0      0        0 eth0
_gateway        0.0.0.0         255.255.255.255 UH    100    0        0 eth0

route 命令的输出项说明:

Destination    目标网段或者主机
Gateway        网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask        网络掩码
Flags          标记,一些可能的标记如下:
                   U — 路由是活动的
                   H — 目标是一个主机
                   G — 路由指向网关
                   R — 恢复动态路由产生的表项
                   D — 由路由的后台程序动态地安装
                   M — 由路由的后台程序修改
                   ! — 拒绝路由
Metric         路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref            路由项引用次数(linux 内核中没有使用)
Use            此路由项被路由软件查找的次数
Iface          该路由表项对应的输出接口

模拟静态路由配置环境

模拟使用四台Linux机器,分别命名为Server1、Server2(模拟路由1)、Server3(模拟路由2)、Server4,其中Server2和Server3当做路由器来配置静态路由功能,每两台机器之间的通信使用不同的网段和网络模式。

服务器静态路由

第1步

Server1:route add –net 192.168.0.0/24 gw 10.10.0.3       (从1到3)
Server3:route add –net 10.0.0.0/8 gw 192.168.0.2        (从3到1)

此时,Server1和Server3可以相互ping通。

第2步

Server4:route add –net 192.168.0.0/24 gw 172.18.0.2    (从4到2)
Server2:route add –net 172.18.0.0/16 gw 192.168.0.3    (从2到4)

此时,Server2和Server4可以相互ping通。

第3步:

Server1:route add –net 172.18.0.0/16 gw 10.10.0.3        (从1到4)
Server4:route add –net 10.0.0.0/8 gw 172.18.0.2        (从4到1)

至此,Server1、Server2、Server3、Server4之间可以互相通信。

在配置时如有涉及Server2和Server3这两台机器则需要开启内核转发功能:

echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
sysctl –p

查看路由表

route -n

实现永久生效(以Server1为例)

方法一:配置route-eth0文件(重启网络服务和重启系统都会生效)

有两块网卡时,配置该条路由的原则是网卡所在网段为该路由出口,默认不存在此文件,需要手动创建。

cat << EOF | tee /etc/sysconfig/network-scripts/route-eth0
192.168.0.0/24 via 10.10.0.3
172.18.0.0/16 via 10.10.0.3
EOF

方法二:配置static-route文件(重启网络服务和重启系统都会生效)

默认不存在此文件,需要手动创建。

cat << EOF | tee /etc/sysconfig/static-routes
any net 192.168.0.0/24 gw 10.10.0.3
any net 172.18.0.0/16 gw 10.10.0.3
EOF

方法三:利用rc.local文件(重启系统会生效)

编辑/etc/rc.local文件,加入:

route add –net 192.168.0.0/24 gw 10.10.0.3
route add –net 10.0.0.0/8 gw 192.168.0.2

Windows操作系统添加永久静态路由

比如添加一条去往10.10.10.0/24网段的静态路由,指定去往此网段的路由都走172.20.153.254网关:

route -p add 10.10.10.0 mask 255.255.255.0 172.20.153.254

其中此处用到的几个参数的作用是:

  • -p表示永久路由,重启后不丢失。
  • add添加路由。
  • 10.10.10.0表示目的网段的网络地址。
  • mask固定命令,后面跟的是目标网段的子网掩码。
  • 172.20.153.254是去往目的网段的。

检查一下是否添加成功:

route print

删除添加的永久静态路由:

route delete  10.10.10.0(目的网段网络地址)

评论

想说点什么?