linux设置IP和添加路由
临时为linux网卡设置IP和路由可采用如下方式
一:使用 route 命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
//添加到主机的路由
路由添加–主机 192.168.1.11 dev eth0
路由添加–主机 192.168.1.12 我 192.168.1.1
//添加到网络的路由
路由添加–net 192.168.1.11 网络掩码 255.255.255.0 eth0
路由添加–net 192.168.1.11 网络掩码 255.255.255.0 我 192.168.1.1
路由添加–net 192.168.1.0/24 eth1
//添加默认网关
路由添加默认GW 192.168.2.1
//删除路由
Route del –host 192.168.1.11 dev eth0
二:在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
方法:
路由添加-net 192.168.3.0/24 dev eth0
路由添加-net 192.168.2.0/24 我 192.168.2.254
2.在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3./等/ sysconfig /静态路由 : (没有static-routes的话就手动建立一个这样的文件)
任何网 192.168.3.0/24 我 192.168.3.254
任何网 10.250.228.128 网络掩码 255.255.255.192 我 10.250.228.129
4.开启 IP 转发:
回声 “1” >/proc / sys / net / ipv4 / ip_forward (临时)
vi /etc/sysctl.conf –> net.ipv4.ip_forward = 1 (永久开启)
这里并没有错误的地方,只不过之前没有接触对这些参数没什么想法,这次正好研究了下,
大概了解了下没个参数的意思。
首先从最简单的是route add方法:
route add这个是添加路由的命令,这个没什么好说的,然后是后面的-host和net参数,
根据紧跟参数后面的信息可以发现host指的是添加一个主机到路由中,net是添加一个网段到路由中。
在后面的参数是dev和gw,字面理解加上后面紧跟的值判断,dev表示这个host或者这段net走的
是那个网口,gw是gateway,自然是通过哪个网关了。对这里为何指定网口或者指定网关都行呢,
我的认识是这样的,网口上配置有网关的信息,指定的网口其实最终还是去读取这个网口对应的
网关信息,等效于指定gw参数。不过指定网口一般是由于有多个网络环境的情况,如果网口没有
指定网关,会去读取默认的网关,所以这里一般要求把网口的网关信息配置上去,在linux下很多
时候网关信息并不是配置在网口的配置文件,比如:/etc / sysconfig /网络脚本/ ifcfg-eth0
文件里面,而是在/etc/sysconfig/network这里面,所以在用dev参数的时候需要小心这点,尽
可能通过指定gw的方式。
为什么会介绍到route add方法,因为后面会有用到。现在回到主题,关于static-routes的设置。
网上一般的都是写着:
任何网 192.168.3.0/24 我 192.168.3.254
设置的都是整个网段的,但如果是单个主机怎么设置呢?同时从厂家那边给了一个脚本是:
eth0 x.x.x.x网络掩码 255.255.255.192 见x.x.x.x
看上去也很对的样子,但是执行发现netstat -an里面看不到添加的信息,完全不行。
然后我们在看下static-routes这个文件的作用,根据网上的说法,static-routes其实在被
network这个脚本调用的,打开这个脚本:
/等/ rc.d / init.d /网络
里面有写到:
加 非 接口-具体 静态的-路线
如果 [ -f / etc / sysconfig / static-routes ]; 然后
grep“ ^ any” / etc / sysconfig / static-routes | 而读取忽略参数 ; 做
/sbin / route添加 –一种[RGsdØñËF一世ñËŤwØ[Rķ在执行的时候到sŤ一种Ť一世C-[RØüŤËs里面寻找一种ñÿ开头的
行,然后执行/sb一世ñ/[RØüŤË一种dd-args 相当于手动执行了route add脚本,那后面事情就简单
了,回到了手动执行的方式,根据前面的说明,正确的脚本就是:
任何主机 10.0.0.10 我 192.168.1.1
network执行的时候把any去掉,获取后面的参数:主办 10.0.0.10 我 192.168.1.1
然后执行route add -host 10.0.0.10 我 192.168.1.1
注意这里host前面的-是network自带的,不需要配置到static-routes文件中。