【系统集成】win、linux系统添加静态路由

  • 场景需求:
    在系统运维中的网络里经常要根据需求做适当的调控,如有vpn设备的情况下,在ipsec-(site-site)配置正常的情况下,两个网络区域内的服务器,若要正常互相访问,则需在服务器系统内配置静态路由条目,因为服务器访问外部网络正常走默认路由,所以访问指定网络则需手动配置指定静态路由。

一、linux系统添加静态路由

①、命令route添加一次性路由,立即生效,重启即失效:

(添加到主机2.10的路由下一跳1.1出口设备em1)

[root@Moni ~]# route add -host 192.168.2.10 gw 192.168.1.1 dev em1
[root@Moni ~]# ip route add 192.168.2.10/32 via 192.168.1.1 dev em1
<--32位子网掩码表示主机-->

(添加到网络的路由条目)

[root@Moni ~]#route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 dev em1
[root@Moni ~]#route add -net 192.168.2.0/24 gw 192.168.1.1 dev em1

(添加默认网关)

[root@Moni ~]#route add default gw 192.168.1.1

(删除路由条目)

[root@Moni ~]#route del -host 192.168.2.10 dev em1
[root@Moni ~]#route del -net 192.168.2.0/24 dev em1

②、添加永久路由:

A、编辑#vi /etc/rc.local (添加到末尾)

[root@Moni ~]# vi /etc/rc.local
route add -host 192.168.2.10 gw 192.168.1.1 dev em1
route add -net 192.168.3.0/24 gw 192.168.1.1 dev em1

B、编辑#/etc/sysconfig/static-routes(默认可能没有此文件手动创建即可)

[root@Moni ~]# vim /etc/sysconfig/static-routes
any net 192.168.3.0/24 gw 192.168.1.1
any host 192.168.2.10 gw 192.168.1.1

C、编辑#/etc/sysconfig/network-scripts/route-em1(添加到末尾)

[root@Moni ~]# /etc/sysconfig/network-scripts/route-em1
192.168.3.0/24 via 192.168.1.1
192.168.2.10/32 via 192.168.1.1

D、编辑#/etc/sysconfig/network(添加到末尾·默认路由)

[root@Moni ~]# vim /etc/sysconfig/network
GATEWAY=192.168.1.1 <--或是-->
GATEWAY=em1
总结·扩展

以上方法针对需求选择方法,永久添加路由建议使用添加static-routers文件比较友好。其中route-interface文件重启network服务器即生效。

linux有多个发行版本,如常见的采用rpm的yum包管理方式的readhat系列,ubuntu、kali-linux等采用apt-get/dpkg包管理方式的debian系列,基于源代码分发的portage包管理系统的gentoo系列,版本不同,配置还是有点区别。而上面的配置则是常见的redhat系统,下面看一下ubuntu关于永久路由的配置:

[root@Moni ~]#vim /etc/network/interfaces (添加到末尾)
up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 
down route del -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

 当然最重要的一点,当我们配置了静态路由是,发现不好用,需要检查一下是否开启了系统对包转发的支持:

[root@Moni ~]# cat /proc/sys/net/ipv4/ip_forward 
0
[root@Moni ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

二、windows系统添加静态路由

(route命令查看路由表)

C:\Users\Administrator>route print
C:\Users\Administrator>route print 192.*

(命令添加默认路由指定网关)

C:\Users\Administrator>route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

(命令添加到网段的静态路由)

C:\Users\Administrator>route add 192.168.2.0 mask 255.255.255.0 192.168.1.1c

(命令添加到主机2.1的默认路由下一跳是1.1)

C:\Users\Administrator>route add 192.168.2.1 192.168.1.1
C:\Users\Administrator>route add 192.168.2.1 mask 255.255.255.255 192.168.1.1
<--这里mask参数指定子网掩码,不指定默认为255.255.255.255,即表示主机ip-->

(命令添加静态路由并指定开销成本)

C:\Users\Administrator>route add 192.168.2.10 192.168.1.1 metric 7

(命令添加静态路由并指定出口网卡接口索引)

C:\Users\Administrator>route add 192.168.2.100 192.168.1.1 if ox1

(命令删除静态路由)

C:\Users\Administrator>route delete 192.168.2.100
C:\Users\Administrator>route delete 192.168.3.0 mask 255.255.255.0
C:\Users\Administrator>route delete 192.*
<-这里和上面查看命令一样“*”表示删除ip以192开头的所有路由->

(命令修改一条静态路由的下一跳)

C:\Users\Administrator>route change 192.168.2.10 192.168.1.10

(命令添加永久路由,很简单只需要在以上添加命令的基础上,加“-p”参数)

C:\Users\Administrator>route -p add 192.168.2.1 192.168.1.1
总结·扩展

windows添加路由还是很方便简单的,永久路由记得加“-p”参数哦!

有道友会问,网卡的接口索引如何查询,其实使用过程中,不建议使用这个参数咯,当然这不影响我们想去了解它:

这里博主收集了两种查看接口索引的两种方法:

①、通过“arp -a”查询:

C:\Users\Administrator>arp -a
接口: 172.16.*.* --- 0xa
 Internet 地址 物理地址 类型
 172.16.*,* 00-0c-*-*  动态
 234.123.*.* 01-00-*-* 静态

(如上,“0xa”中的最后一位“a”即接口索引id,此为16进制,如果多个网卡,则arp则按网卡分组)

②、通过“route -4 print”或“-6”查询:

C:\Users\Administrator>route -4 print
===========================================================================
接口列表
 15...00 ff d1 5a 2a 9c ......Sangfor SSL VPN CS Support System VNIC
 12...00 26 5e e9 a8 25 ......11b/g/n Wireless LAN Mini-PCI Express Adapter II
 10...00 24 7e dc 7e 53 ......Intel(R) 82567LM Gigabit Network Connection
 16...00 ff 22 2b 2d 7a ......Hillstone Virtual Network Adapter
 1...........................Software Loopback Interface 1
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
 0.0.0.0 0.0.0.0 172.16.*.* 172.16.*.* 276
...     ...     ...  ...  ...

(其中以上接口列表的前面数字就是接口索引id,此为十进制)

(如第三个“10”则对应上面的十六进制“a”,配置时需在前面添加“0x”这个是零哦)

(好的就分享到这里,如果您有高见或好的分享,记得留言哦!)


原创文章,转载请注明:转自于公牛博客

本文链接地址:【系统集成】win、linux系统添加静态路由

9
祝福我们的祖国繁荣昌盛
  • 请尽情挥洒您的笔墨!