[原创]用route get命令查看详细路由信息_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2815 | 回复: 0   主题: [原创]用route get命令查看详细路由信息        下一篇 
wulcan
版主
等级:中校
经验:1795
发帖:124
精华:0
注册:2014-3-19
状态:离线
发送短消息息给wulcan 加好友    发送短消息息给wulcan 发消息
发表于: IP:您无权察看 2015-6-24 16:23:52 | [全部帖] [楼主帖] 楼主

     在出现网络问题的时候,我一般习惯于使用netstat -r来查看路由表,但是今天突然需要查看一下10.73.22.3到底走的哪一条路由,man了一圈,发现route竟然如此强大!

    先直接上例子:

$ route -n get 10.73.22.3
route to: 10.73.22.3
destination: 0.0.0.0
mask: 0.0.0.0
gateway: 10.72.6.1
fib: 0
interface: igb0
flags: <UP,GATEWAY,DONE,STATIC>
recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
0         0         0         0      1500         1         0


    上面显示:
(1)目的地址为:10.73.22.3
(2)目标为:0.0.0.0,说明走的是默认的路由
(3)掩码为:0.0.0.0,跟上面相同,说明走的是默认路由
(4)网关地址:10.72.16.1,如果不走网关,则没有这一行
(5)fib:默认fib
(6)走的网卡接口为:igb0
    如果FreeBSD没有开启路由,或者是作为独立的工作站(如web服务器),则正常的结果都跟上面的例子相似。

    接着看到另一个内网段的例子:

# route show 10.72.224.109
route to: 10.72.224.109
destination: 10.72.224.0
mask: 255.255.240.0
fib: 0
interface: em0
flags: <UP,DONE,PINNED>
recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
0         0         0         0      1500         1         0


    这是另一段内网,注意
        (1)目的网络不再是0.0.0.0,而是10.72.224.0,掩码为255.255.240.0,这是一个典型的路由网段,IP路由不是直接连接到目的IP,而是先转发到目的网络,就像电话号码的区号一样。
        (2)结果中没有出现网关,因为这本机IP为10.72.224.1/20,属于本地网络,不需要再转发到下一个路由,并且直接连接的网卡为em0。

    再来看一个不是直连网络的例子,注意gateway的值:

% route get 10.72.161.109
route to: 10.72.161.109
destination: 10.72.160.0
mask: 255.255.240.0
gateway: 10.72.16.3
interface: igb0


    这个route get命令还有一个“妙用”:做pppoe或vpn服务器时,可以用来查找指定IP对应的虚拟网卡,比如现在知道一个接入的pptp用户IP为10.72.224.103,想找到对应的ng界面。
如果ng界面数量不多的时候,用ifconfig可以很快查到,但是如果ng数百上千的时候,那找就非常麻烦了,不如route get方便:

root@ftp:/home/hu # route show 10.72.224.103
route to: 10.72.224.103
destination: 10.72.224.103
fib: 0
interface: ng3
flags: <UP,HOST,DONE,PINNED>
recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
0         0         0         0      1480         1         0


    可以看到,10.72.224.103对应的界面为:ng3,非常方便,甚至写入到脚本中都很方便,直接grep interface就能找到。
    另外顺便提一下,route show和route get是同义词。

    是不是跟交换机/路由器里面的命令相似呢?




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论