Linux服务器添加永久静态路由

Linux服务器添加永久静态路由,第1张

服务器添加永久静态路由

一、Linux添加永久静态路由

方法一:修改 rc.local 配置文件

范围:测试 Ubuntu 14.04、centos 6.4、debian 8.1、redhat 6.4 系统可用

使用方法:

向 linux 系统的 /etc/rc.local文件中添加命令route add -net 192.168.2.0/24 gw 192.168.2.254(服务器的默认路由为192.168.2.254),或者添加命令route add -net 192.168.3.0/24 dev eth0,前者是依赖默认路由进行数据的转发,后者是依赖网卡接口进行数据的转发

reboot重启系统命令生效

用 route -n 命令查看命令是否已经生效

方法二:修改 static-routes 配置文件

范围:测试 centos 6.4、redhat 6.4 系统可用

使用方法(此方法比 rc.local 方法实用,能保证网络链路的通畅):

向系统的 /etc/sysconfig/static-routes 文件(如果系统没有此文件,可以新建此文件)中添加命令 any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.254(服务器的默认路由为192.168.2.254),或者添加命令 any net 192.168.2.0 netmask 255.255.255.0 dev eth0, 前者是依赖默认路由进行数据的转发,后者是依赖网卡接口进行数据的转发

service network restart 命令重启网络服务

用 route -n 命令查看命令是否已经生效

方法三:修改 interface 配置文件

范围:测试 debian 8.1、Ubuntu 14.04 系统可用

使用方法:

向系统的 /etc/network/interface 文件中添加命令 up route add -net 192.168.2.0/24 gw 192.168.2.254(服务器的默认路由为192.168.2.254),或者添加命令 up route add -net 192.168.3.0/24 dev eth0,前者是依赖默认路由进行数据的转发,后者是依赖网卡接口进行数据的转发

reboot 重启系统命令生效

用 route -n 命令查看命令是否已经生效

注 1:(引用网上内容)如果在 rc.local中添加路由会造成NFS无法自动挂载问题,所以使用 static-routes 的方法是最好的。无论重启系统和 service network restart 都会生效,按照linux启动的顺序,rc.local 里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在netfs之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以netfs挂载不能成功。

注 2:以上添加命令可以通过 linux 命令 sed -i ‘2i route add -net 192.168.2.0/24 gw 192.168.2.254’ + 文件路径 命令向相应的文件的第二行添加命令或者用 echo route add -net 192.168.2.0/24 gw 192.168.2.254 >>文件路径向文件的末尾添加命令

Ubuntux系统可以修改vim /etc/NetworkManager/system-connections/Wired\ connection\ 3

使用双网卡,同时使用2个网关的时候就需要加一条静态路由了。当然还有很多时候会需要加路由。

一:使用 route 命令添加

使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:

//添加到主机的路由

//添加到网络的路由

//添加默认网关

//删除路由

二:在linux下设置永久路由的方法:

1.在 /etc/rc.local 里添加

方法:

2.在 /etc/sysconfig/network 里添加到末尾

方法: GATEWAY=gw-ip 或者 GATEWAY=gw-dev

3. /etc/sysconfig/static-routes :

如果在 rc.local 中添加路由会造成NFS无法自动挂载问题,所以使用 static-routes 的方法是最好的。无论重启系统和 service network restart 都会生效

以下是蚊子解决NFS问题的描述:

按照linux启动的顺序, rc.local 里面的内容是在linux所有服务都启动完毕,最后才被执行的,也就是说,这里面的内容是在netfs之后才被执行的,那也就是说在netfs启动的时候,服务器上的静态路由是没有被添加的,所以netfs挂载不能成功。

static-routes 文件又是什么呢,这个是network脚本执行时调用的一个文件,这个文件的放置在 /etc/sysconfig 目录下,在network脚本中的位置是:

从这段脚本可以看到,这个就是添加静态路由的方法,static-routes的写法是

这样的话,在启动network脚本的时候路由就自动添加上了,又因为network是在netfs前面启动的,自然在挂载nfs的时候就正常了。

这样看来,如果需要添加静态路由,使用 static-routes 文件要比使用rc.local好,而且当改变了网络配置,需要重启network脚本的 时候,相应的静态路由是可以自动添加上的,但这时如果使用rc.local的话,在重启network服务的时候,原本添加好的静态路由就消失了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11494003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存