linux route命令的使用详解

/****************************截屏******************************************/

root@freescale /mnt$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

/****************************截屏******************************************/

用route -n命令看:

1. 第一行表示,发往192.168.0.0这个网络的数据包,不需要经过网关(也即GateWay为0.0.0.0),且数据包经由eth0这个接口出去。

执行ip route add default via  192.168.0.1 dev eth0这条命令后,出现第二行(注意:如果设置了default默认路由,则所有网卡的包都会走这个路由,无线也会,所以会造成

无线出问题,尽量不用这个方式,而是应当具体指定目标地址)

2. 第二行表示,所有没有明确地址的数据包(也即Destination为0.0.0.0),全都经由eth0这个接口发往192.168.0.1这个地址。

注意:0.0.0.0在不同的地方表示不同的含义,例如在netstat -n结果里

0.0.0.0表示本机所有地址。

在一些老的软件里,0.0.0.0还被用作广播地址。

 

 

一个无线和有线共用的配置:

./route add -host 219.143.118.169 gw 192.168.0.2
./route add -host 222.133.11.150 gw 192.168.0.2
./route add -host 10.102.204.118 gw 192.168.0.1
# make the iptables rules take effect
iptables -F
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

你可能感兴趣的:(网络技术,Linux运维)