路由器的功能是实现一个网段到另一个网段之间的通信,路由分为:静态路由、动态路由、 默认路由和直连路由。
静态路由是手工指定的,使用静态路由的好处是网络安全保密性高。动态路由因为需要路由器之间频繁地交换各自的路由表,而对路由表的分析可以揭示网络的拓扑结构和网络地址等信息。因此,网络出于安全方面的考虑也可以采用静态路由。不占用网络带宽,因为静态路由不会产生更新流量。
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(目的网段网络地址)
暂无评论内容