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(或gw)  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还被用作广播地址。

3. 仅仅ip route add default dev eth0可以添加一条路由:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 eth0

也就是说,没指定网关,但是,这样ping 8.8.8.8是不通的。

4. ifconfig eth0 192.168.0.10 netmask 255.255.255.0会生成一条路由:

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
也就是说,即使不指定网关,系统也会根据IP和子网掩码自动计算出网段,从而eth0能与网段内的地址通信。也就是说,除了指定默认网关(路由)时网关是有一条命令执行到系统中的,给其它网口指定的网关实际上只是个配置项,它并非存在一条命令执行到系统中,而是在以后添加特殊路由时用它,例如下面的./route add -host 219.143.118.169 gw 192.168.0.2。

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

./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

补:route命令详解 · PHP知识总结 · 看云

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
路由是网络通信中非常重要的概念,它决定了数据包在网络中的传输路径。在 Linux 系统中,通过 route 命令来管理和配置路由表。下面是对 route add 命令详解: route add 命令用于向路由表中添加一条新的路由。它的基本语法如下: ``` route add [-net|-host] 目标网络地址 [netmask 子网掩码] [gw 网关地址] [metric 路由度量值] [dev 网络接口] ``` 参数说明: - `-net|-host`:指定目标是一个网络还是一个主机。-net 表示目标网络,-host 表示目标主机。 - `目标网络地址`:指定要添加路由的目标网络或主机的 IP 地址。 - `netmask 子网掩码`:可选参数,用于指定目标网络的子网掩码。如果目标为主机,则不需要此参数。 - `gw 网关地址`:可选参数,指定下一跳网关的 IP 地址。如果不指定,则表示直接连接到目标网络。 - `metric 路由度量值`:可选参数,用于指定路由的优先级,默认值为 0。 - `dev 网络接口`:可选参数,指定出接口。 举个例子来说明: ``` route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0 ``` 这条命令的意思是将目标网络 192.168.0.0/24 添加到路由表中,下一跳网关为 192.168.1.1,出接口为 eth0。 需要注意的是,使用 route add 命令添加的路由表项在系统重启后会失效。如果需要永久生效,可以将路由配置写入相关的配置文件中,比如在 /etc/sysconfig/network-scripts/ 目录下创建对应的 ifcfg-<interface> 文件。 希望以上解释能对你有所帮助!如有更多问题,请继续提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值