本文转载于移动云开发者社区移动云开发者社区

概要:最为原始的配置路由方式,纯手工,易管理,但是耗时,一般用于小型企业或者中等偏下型企业。静态路由的缺点是不能动态反映网络拓扑,当网络拓扑发生变化时,管理员必须手工改变路由表;静态路由不会占用路由器太多的CPU和RAM资源,也不占用线路的带宽。如果出于安全的考虑想隐藏网络的某些部分或者管理员想控制数据转发路径,也会使用静态路由;在一个小而简单的网络中,也常常使用静态路由,因为配置静态路由会更为简洁。本文将介绍Linux系统中添加静态路由的两种方法。

添加路由的命令:

1,route add

1

2

3

4

route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0#添加一条静态路由

route add default gw 192.168.0.1#添加默认路由

route del -net 192.168.1.0/24 gw 192.168.0.1#删除一条路由

route -n#查看路由表

2,ip ro add

1

2

3

4

ip ro add 192.56.76.0/24 dev 192.168.0.1#添加一条静态路由

ip ro add default via 192.168.0.1 dev eth0#添加默认路由

ip ro del 192.168.1.0/24#删除一条路由

ip route show#查看路由表

常见参数:

add 增加路由

del 删除路由

via 网关出口IP地址

dev 网关出口物理设备名

让路由重启服务器后依然生效:

1,在/etc/rc.local里面添加:

添加路由命令为:直接将在命令行操作的命令复制到该文件中,保存退出即可。

2,在/etc/sysconfig/static-routes文件里面写入:

如果该文件不存在,则手动创建,添加内容格式为:

参照/etc/init.d/network文件里面的shell语句:

1

2

3

4

5

6

                # Add non interface-specific static-routes.

                if [ -f /etc/sysconfig/static-routes ]; then

                   grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do

                   /sbin/route add -$args

                done

                fi

则,如果要添加一条静态路由,命令为:

1               route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0

那么,在/etc/sysconfig/static-routes文件中添加格式为:

1               any -net 192.56.76.0 netmask 255.255.255.0 dev eth0

两种方式添加静态路由对比:

1,rc.local:

重启服务器生效;

重启网络服务,则静态路由失效;

rc.local是系统启动后最后运行的一个脚本,因此如果有如NFS需要网络才能挂载的服务需求,则该方式不适合;

2,static-routes:

重启服务器生效;

重启网络服务生效:

适合需要网络需求的服务;

脚本添加静态路由的方法和rc.local就差不多了:

这种方法其实也是自己写脚本,放在/etc/rc3.d/ 开头设置为S。

S意思是启动,数字是顺序,K意思是停止。

一般是启动是守护进程在某个模式的启动顺序。

数字越小启动的顺序越靠前;

/etc/rc3.d是文本多用户环境,一般生产环境都是这个环境。

其坏处也是:重启网络后失效。

总结:

如果需要添加静态路由,尽量将静态路由添加到/etc/sysconfig/static-routes文件中。避免因重启网络服务导致路由失效,从而避免故障的发生。

非原创,文章转载自:https://www.cnblogs.com/wanghuaijun/p/8059664.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐