linux添加默认路由命令 linux网络配置详解( 二 )


mons.
Ref 不用管 , 恒为0 。
Number of references to this route. (Not used in the Linux ker-nel.)
Use 该路由被使用的次数 , 可以粗略估计通向指定网络地址的网络流量 。
Count of lookups for the route. Depending on the use of -F and
-C this will be either route cache misses (-F) or hits (-C).
Iface 接口 , 即eth0,eth0等网络接口名
Interface to which packets for this route will be sent.
范例一
单纯的观察路由状态
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default server.cluster 0.0.0.0 UG 0 0 0 eth0
此外 , 观察一下上面的路由排列顺序喔 , 依序是由小网域(192.168.10.0/24 是 Class C) , 逐渐到大网域(169.254.0.0/16 Class B) 最后则是预设路由 (0.0.0.0/0.0.0.0) 。然后当我们要判断某个网路封包应该如何传送的时候 , 该封包会经由这个路由的过程来判断喔!举例来说 , 我上头仅有三个路由 , 若我有一个传往 192.168.10.20 的封包要传递 , 那首先会找 192.168.10.0/24 这个网域的路由 , 找到了!所以直接由 eth0 传送出去;如果是传送到 Yahoo 的主机呢? Yahoo 的主机 IP 是 202.43.195.52 , 我通过判断
1)不是 192.168.10.0/24 , 
2)不是 169.254.0.0/16 结果到达
3)0/0 时 ,  OK !传出去了 , 透过 eth0 将封包传给 192.168.10.30 那部 gateway 主机啊!所以说 , 路由是有顺序的 。因此当你重复设定多个同样的路由时 , 例如在你的主机上的两张网路卡设定为相同网域的 IP 时 , 会出现什么情况?会出现如下的情况:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
也就是说 , 由于路由是依照顺序来排列与传送的 , 所以不论封包是由那个介面 (eth0, eth1) 所接收 , 都会由上述的 eth0 传送出去 , 所以 , 在一部主机上面设定两个相同网域的 IP 本身没有什么意义!有点多此一举就是了 。除非是类似虚拟主机 (Xen, VMware 等软体 ) 所架设的多主机时 , 才会有这个必要~
范例二
[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面这个动作可以删除掉 169.254.0.0/16 这个网域!
# 请注意 , 在删除的时候 , 需要将路由表上面出现的资讯都写入
# 包括 netmask , dev 等等参数喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透过 route add 来增加一个路由!请注意 , 这个路由必须要能够与你互通 。
# 举例来说 , 如果我下达底下的指令就会显示错误:
route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因为我的环境内仅有 192.168.10.100 这个 IP  , 所以不能与 192.168.200.254这个网段直接使用 MAC 互通!这样说 , 可以理解喔!?
[root@linux ~]# route add default gw 192.168.10.30
# 增加预设路由的方法!请注意 , 只要有一个预设路由就够了喔!
# 在这个地方如果您随便设定后 , 记得使用底下的指令重新设定你的网路
/etc/init.d/network restart
如果是要进行路由的删除与增加 , 那就得要参考上面的例子了 , 其实 , 使用 man route 里面的资料就很丰富了!仔细查阅一下囉!你只要记得 , 当出现『SIOCADDRT: Network is unreachable』这个错误时 , 肯定是由于 gw 后面接的 IP 无法直接与您的网域沟通 (Gateway 并不在你的网域内) 。
WINDOWS下的route命令:

linux添加默认路由命令 linux网络配置详解

文章插图
简单的的操作如下 , 
查看路由状态:routeprint
只查看ipv4(ipv6)路由状态:route print-4(-6)
添加路由:route add 目的网络 mask 子网掩码 网关——重启机器或网卡失效
route add 192.168.20.0 mask 255.255.255.0192.168.10.1
添加永久:route -p add 目的网络 mask子网掩码网关