平时工作经常需要配置路由,接下来总结一下linux服务器配置路由的方法。
1、首先看一下本机的网路环境网络信息及路由信息:ip addrroute -n。
2、接着使用route命令添加一条静态路由:route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1。
3、然后使用route命令添加一条路由,并指定eth1网卡:route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1。
4、接着使用route命令添加一条指向某一个主机的路由:route add -host 192.168.5.125 gw 192.168.2.1 。
5、最后使用ip命令添加一条静态路由,并指定从eth1网卡收发数据:ip route add 192.168.7.0/24 via 192.168.2.1 dev eth1,如下图所示添加静态路由就完成了。
服务器添加永久静态路由
一、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
1、查看本机路由信息\x0d\x0a[root@Router ~]# ip route ls\x0d\x0a192.168.70.0/24 dev eth0 proto kernel scope link src 192.168.70.70 \x0d\x0a192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.70 \x0d\x0a169.254.0.0/16 dev eth1 scope link \x0d\x0adefault via 192.168.1.1 dev eth0\x0d\x0a2、确认是否需要改变默认路由\x0d\x0a[root@Router ~]# ip route replace default via 192.168.70.254 dev eth0 table main \x0d\x0a[root@Router ~]# ip route ls\x0d\x0a192.168.70.0/24 dev eth0 proto kernel scope link src 192.168.70.70 \x0d\x0a192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.70 \x0d\x0a169.254.0.0/16 dev eth1 scope link \x0d\x0adefault via 192.168.1.1 dev eth0\x0d\x0a3、建立特殊路由表\x0d\x0a[root@Router ~]# vi /etc/iproute2/rt_tables\x0d\x0a255 local\x0d\x0a254 main\x0d\x0a253 default\x0d\x0a200 test\x0d\x0a4、向test路由表中添加它自己的默认路由 \x0d\x0a[root@Router ~]# ip route add default via 192.168.1.1 table test \x0d\x0a注意:这个table test一定不要忘了写,否则写到了主路由表中\x0d\x0a5、先看看机器当前的ip rule \x0d\x0a[root@Router ~]# ip rule ls \x0d\x0a0: from all lookup local \x0d\x0a32766: from all lookup main \x0d\x0a32767: from all lookup default \x0d\x0a可以看到,规则中走了3个路由表,local、main、default \x0d\x0a我们平常用route看到的,实际是路由表main \x0d\x0a这些规则是按序号大小顺序走的,一个不同,则走下一个,知道通路或走完为止\x0d\x0a6、添加路由到路由表test中 \x0d\x0a[root@Router ~]# ip rule add to 59.76.0.0/16 pref 10000 table test \x0d\x0a这个意思是说,去向IP地址范围为59.76.0.0/16的访问,则启用test的路由表中的路由规则 \x0d\x0a而test的路由规则是什么呢?上面已经设置了,走的是202.196.x.1的路由. \x0d\x0a现在再来看一下当前的ip rule \x0d\x0a[root@Router ~]# ip rule ls \x0d\x0a0: from all lookup local \x0d\x0a10000: from all to 59.76.0.0/16 lookup test \x0d\x0a32766: from all lookup main \x0d\x0a32767: from all lookup default欢迎分享,转载请注明来源:内存溢出
评论列表(0条)