一:使用 route 命令添加
//添加到网络的路由
//添加默认网关
//删除路由
二:在Linux下设置永久路由的方法: 1.在/etc/rc.local里添加 方法: route add -net 192.168.3.0/24 dev eth0 route add -net 192.168.2.0/24 gw 192.168.2.254 2.在/etc/sysconfig/network里添加到末尾 方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev 3./etc/sysconfig/static-routes : (没有static-routes的话就手动建立一个这样的文件) any net 192.168.3.0/24 gw 192.168.3.254 any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129 4.开启 IP 转发:
这里并没有错误的地方,只不过之前没有接触对这些参数没什么想法,这次正好研究了下,大概了解了下没个参数的意思。 首先从最简单的是route add方法: route add这个是添加路由的命令,这个没什么好说的,然后是后面的-host和net参数,根据紧跟参数后面的信息可以发现host指的是添加一个主机到路由中,net是添加一个网段到路由中。在后面的参数是dev和gw,字面理解加上后面紧跟的值判断,dev表示这个host或者这段net走的是那个网口,gw是gateway,自然是通过哪个网关了。对这里为何指定网口或者指定网关都行呢,我的认识是这样的,网口上配置有网关的信息,指定的网口其实最终还是去读取这个网口对应的网关信息,等效于指定gw参数。不过指定网口一般是由于有多个网络环境的情况,如果网口没有指定网关,会去读取默认的网关,所以这里一般要求把网口的网关信息配置上去,在linux下很多时候网关信息并不是配置在网口的配置文件,比如:/etc/sysconfig/network-scripts/ifcfg-eth0 文件里面,而是在/etc/sysconfig/network这里面,所以在用dev参数的时候需要小心这点,尽可能通过指定gw的方式。 为什么会介绍到route add方法,因为后面会有用到。现在回到主题,关于static-routes的设置。网上一般的都是写着: any net 192.168.3.0/24 gw 192.168.3.254 设置的都是整个网段的,但如果是单个主机怎么设置呢?同时从厂家那边给了一个脚本是: eth0 x.x.x.x netmask 255.255.255.192 gw x.x.x.x 看上去也很对的样子,但是执行发现netstat -an里面看不到添加的信息,完全不行。 然后我们在看下static-routes这个文件的作用,根据网上的说法,static-routes其实在被network这个脚本调用的,打开这个脚本: /etc/rc.d/init.d/network 里面有写到:
if [ -f /etc/sysconfig/static-routes ]; then grep “^any” /etc/sysconfig/static-routes | while read ignore args ; do /sbin/route add - (责任编辑:IT) |