linux添加路由Linux系统添加永久路由方式

哎哟,这路由设置啊,真是让人头大。
我以前也遇到过,用route命令加的路由,机器一重启,路由就飞了。
我当时也没想明白,怎么加的又怎么没了。

先说怎么加路由吧。
比如你想加个主机路由,比如1 9 2 .1 6 8 .1 .1 1 这个IP,你就在命令行里写个route add -host 1 9 2 .1 6 8 .1 .1 1 dev eth0。
这意思就是告诉系统,1 9 2 .1 6 8 .1 .1 1 这个IP通过eth0这个网卡走。
再比如,你想加个网络路由,比如1 9 2 .1 6 8 .1 .0/2 4 这个网段,你写route add -net 1 9 2 .1 6 8 .1 .0/2 4 netmask 2 5 5 .2 5 5 .2 5 5 .0 gw 1 9 2 .1 6 8 .1 .1 ,这意思就是告诉系统,1 9 2 .1 6 8 .1 .0/2 4 这个网段通过1 9 2 .1 6 8 .1 .1 这个网关走。

但是,这俩方法啊,重启机器就失效了。
那怎么办呢?得设置成永久路由。

第一种方法,你可以在/etc/rc.local里加命令。
这rc.local是个启动脚本,机器启动时会运行。
你加个route add -net 1 9 2 .1 6 8 .3 .0/2 4 dev eth0,这样每次启动都会自动设置路由。

第二种方法,你可以在/etc/sysconfig/network里加。
这个文件里有个GATEWAY参数,你可以写成GATEWAY=gw-ip或者GATEWAY=gw-dev,这样系统启动时会自动设置网关。

还有个/etc/sysconfig/static-routes文件,没的话你得手动建一个。
里面可以写具体的路由信息,比如1 9 2 .1 6 8 .3 .0/2 4 gw 1 9 2 .1 6 8 .3 .2 5 4
最后,别忘了开启IP转发。
临时开启,你就在命令行里写echo "1 " > /proc/sys/net/ipv4 /ip_forward。
要永久开启,你编辑/etc/sysctl.conf,把net.ipv4 .ip_forward=1 加进去。

说实话,这些参数我以前也不懂,这次研究了研究,大概明白了。
每个参数都有它的小秘密,不过用起来还是挺麻烦的。

Linux多个网卡怎么添加永久路由

哦对,Linux里给多个网卡加永久路由啊。

先看看现在有啥路由。
用这个命令,ip route show,或者老版的route -n,看看当前的路由表。
你看看,现在有啥。

然后,你要加个路由,比如说,你要去访问1 9 2 .1 6 8 .1 .1 00这个主机,你指定要通过1 9 2 .1 6 8 .0.1 这个网关,而且要通过eth1 这个网卡。
你就用这个命令,ip route add 1 9 2 .1 6 8 .1 .1 00 via 1 9 2 .1 6 8 .0.1 dev eth1 记住了,目标地址,网关,还有网卡名。

再比如,你要加一个网段的路由,比如1 9 2 .1 6 8 .2 .0这个网段,子网掩码是2 4 ,要通过1 9 2 .1 6 8 .0.1 这个网关,通过eth2 这个网卡。
你就用这个命令,ip route add 1 9 2 .1 6 8 .2 .0/2 4 via 1 9 2 .1 6 8 .0.1 dev eth2 看明白没?
这样加完之后,重启一下电脑,路由就没了,对吧?所以要保存配置。

一种方法是,编辑这个/etc/rc.local文件,在最后面加你刚才加的路由命令。
比如,ip route add 1 9 2 .1 6 8 .1 .1 00 via 1 9 2 .1 6 8 .0.1 dev eth1 ,再一个,ip route add 1 9 2 .1 6 8 .2 .0/2 4 via 1 9 2 .1 6 8 .0.1 dev eth2 然后,给这个rc.local文件加执行权限,用chmod +x /etc/rc.local。

还有一种方法,是在/etc/sysconfig/network-scripts/这个目录下,新建一个文件,名字叫route-eth1 ,比如。
在这个文件里面写上你的路由命令,就像这样,1 9 2 .1 6 8 .1 .1 00 via 1 9 2 .1 6 8 .0.1 dev eth1 为每个网卡都搞一个这样的文件。

搞完这些,重启网络服务。
用systemctl restart network,或者老命令/etc/init.d/network restart。
然后你再用ip route show看看,新的路由应该就加进去了。

就这样。