ubuntu配置静态路由及重启生效

第一种方法:使用route命令(添加临时路由)

添加到主机的路由

# route add -host 192.168.1.123 dev eth0

# route add -host 192.168.1.123 gw 192.168.1.1

添加到网络的路由

# route add -net 192.168.1.123 netmask 255.255.255.0 eth0

# route add -net 192.168.1.123 netmask 255.255.255.0 gw 192.168.1.1

# route add -net 192.168.1.123 netmask 255.255.255.0 gw 192.168.1.1 eth1

# route add -net 192.168.1.0/24 eth1

添加默认网关

# route add default gw 192.168.1.1

删除路由

# route del -host 192.168.1.11 dev eth0

# route del -net 192.168.1.123 netmask 255.255.255.0


第二种方法: 修改/etc/rc.local

修改/etc/rc.local,只是要注意的一点是不要卸载 "exit 0"的后面

vi /etc/rc.local

route add default gw 192.168.1.1

这样在系统启动的时候会自动加入相关的路由设置

注:

(1)如果某个系统服务,比如说是NFS服务,这个服务是在启动network服务之后,在执行rc.local之前,如果你设置的有自动挂载的nfs,那么,这里链路的不通畅,会造成挂载的失败。

(2)如果你重启了网络服务器,那么路由就失效了,这个时候你不得不重新加载这个文件,但是如果你是远程操作的呢?所以,这个方法不是非常的不推荐



第三种方法:修改interfaces文件

up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

可以看到这个格式和route命令的唯一区别在于,在前面多了一个up

下面列出我的interface文件仅供参考,由于安全因素,这里的ip我都用xx替代了:

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).


# The loopback network interface

auto lo

iface lo inet loopback


# The primary network interface

auto eth0

iface eth0 inet static

address xxx.xxx.xxx.xxx

netmask xxx.xxx.xxx.xxx

gateway xxx.xxx.xxx.xxx


auto eth0:0

iface eth0:0 inet static

address xxx.xxx.xxx.xxx

netmask xxx.xxx.xxx.xxx


#dns-nameservers 202.102.224.68 202.102.227.68

up route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx eth0

up route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx eth0

up route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx eth0


第四种:在/etc/sysconfig/network

network里添加到文件末尾,格式如下

vi /etc/sysconfig/network

GATEWAY=gw-ip 或者 GATEWAY=gw-dev

注:这种方式从外观上来看只能用于添加默认网关了对于多路网络环境貌似不太适合的样子


第五种:直接写入ifcfg文件

在配置ip地址的时候直接将GATEWAY的配置写入ifcfg文件,形式:GATEWAY=gw-ip

适合添加默认路由


第六种:写入/etc/sysconfig/static-routes文件

默认在/etc/sysconifg目录中是没有这个文件的,需要我们手工创建,对这个文件的调用在下面:

/etc/init.d/network:

159 # Add non interface-specific static-routes.

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

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

162 /sbin/route add -$args

163 done