linuxはIPを設定し、ルーティングを追加します

临时为linux网卡设置IP和路由可采用如下方式

1:使用 route 命令添加

使用route 命令添加的路由,マシンの再起動後またはネットワークカードの再起動後にルーターに障害が発生する,方法:

//添加到主机的路由

route add –host 192.168.1.11 dev eth0

route add –host 192.168.1.12 w 192.168.1.1

 

//添加到网络的路由

route add –net 192.168.1.11 ネットマスク 255.255.255.0 eth0

route add –net 192.168.1.11 ネットマスク 255.255.255.0 w 192.168.1.1

route add –net 192.168.1.0/24 eth1

 

//添加默认网关

route add default gw 192.168.2.1

 

//删除路由

route del –host 192.168.1.11 dev eth0



二:在linux下设置永久路由的方法

1.在/etc/rc.local里添加

方法:

route add -net 192.168.3.0/24 dev eth0

route add -net 192.168.2.0/24 w 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 w 192.168.3.254

any net 10.250.228.128 ネットマスク 255.255.255.192 w 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/network-scripts/ifcfg-eth0

文件里面而是在/etc/sysconfig/network这里面所以在用dev参数的时候需要小心这点

可能通过指定gw的方式

为什么会介绍到route add方法因为后面会有用到现在回到主题关于static-routes的设置

网上一般的都是写着

any net 192.168.3.0/24 w 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

里面有写到

追加 non interface-specific 静的-routes

もし [ -f /etc/sysconfig/static-routes ]; その後

grep “^any” /etc/sysconfig/static-routes | while read ignore args ; 行う

/sbin/route addArgsdOnefnetwOrk到着stAtcrOutesAnY

/sbn/rOuteAddargs 相当于手动执行了route add脚本那后面事情就简单

回到了手动执行的方式根据前面的说明正确的脚本就是

any host 10.0.0.10 w 192.168.1.1

network执行的时候把any去掉获取后面的参数:ホスト 10.0.0.10 w 192.168.1.1

然后执行route add -host 10.0.0.10 w 192.168.1.1

注意这里host前面的-是network自带的不需要配置到static-routes文件中

 
 

返信を残します