Linux下的双网卡配置路由表

Linux下的双网卡配置路由表

如果eth0为192.168.10.123/255.255.255.0,eth1为192.168.20.231/255.255.255.0,则命令格式如下:

#route add -net 192.168.10.0 netmask 255.255.255.0 dev eth0

#route add -net 192.168.20.0 netmask 255.255.255.0 dev eth1

上面的命令把发送给192.168.10.0网段的IP包交给eth0转发,把192.168.20.0网段的IP包交给eth1转发。如果还有可能有发送给其他目的IP的包,那么你肯能希望设置一个“默认网关”:

#route add default gw 192.168.10.1

上面的命令把所有发送给其他目的IP的包都转发给192.168.10.1,而如何转发给192.168.10.1这个地址的规则已经在刚才的第一条命令中定义了(从eth0转发)。一般情况下,默认网关已经自动设置好了,不用重复设置。可以用route命令加-n参数进行检查。

如果要删除某一条,命令格式为:

#route del -net 192.168.10.0 netmask 255.255.255.0

配置时的一种思路是把192.168.10.0网段路由至eth0,192.168.20.0网段路由至eth1,再设置默认路由。另一种思路是,只指定其中一个,然后把默认的0.0.0.0路由至另一个。其实效果一样,就是两种风格。
如果我想上网,比如我的一台电脑PC0(ip 192.168.2.8)是通过一个无线路由上网,现在用我的电脑(因为有三张网卡,其中一张是无线的)想做一个路由器,现设置如下:
在/etc/sysconfig/network-script/下的配置文件
wlano: ipaddr 192.168.2.8 netmask 255.255.255.0 ,network 192.168.2.0  dns 202 .96.128.86
eth0:ipaddr 192.168.3.254 netmask 255.255.255.0 ,network 192.168.3.0
eth0:ipaddr 192.168.4.254 netmask 255.255.255.0 ,network 192.168.4.0
现在增加路由:
#route add -net 192.168.3.0 netmask 255.255.255.0 dev eth0
#route add -net 192.168.4.0 netmask 255.255.255.0 dev eth1
#route add default gw 192.168.2.1
然后另外两台机在winxp下设置如下:
pc1(与eth0 相连的机)ipaddr 192.168.3.8 netmask 255.255.255.0 ,gateway 192.168.3.254,dns 202 .96.128.86
pc2(与eth1 相连的机)ipaddr 192.168.4.8 netmask 255.255.255.0 ,gateway 192.168.4.254,dns 202 .96.128.86
还加了echo 1 > ./proc/sys/net/ipv4/ip_forward
现在pc1能ping通192.168.3.254,和192.168.2.1,pc2也一样,可是现在只有PC0能上网其它的都上不了网,我的内核是2.6.24.4,
我想试试用nat来进行网络转换可是设置不了好象没有nat,我进内核编译几乎全选了network选项,也不能配置nat
请教!