无线上外网有线上内网

http://www.blogjava.net/amigoxie/archive/2010/06/12/323467.html

出差常备:route命令详解与使用实例

记录人:谢星星

日期:2010-6-12

1.  使用背景

笔者在出差调试的过程中,常常会遇到这样的情况:需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网,但是为了跟同事的沟通,常常还需要外网环境,这个外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁琐的“禁用网络连接”、“启用网络连接”的操作来进行内外网的切换,甚是麻烦。

为了解决这个问题,我们可以使用route命令来使得同时内外网都可用。

2.  route命令

route命令是在本地 IP路由表中显示和修改条目网络命令。

route命令的语法如下:

route [ - f] [ - p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [ if  Interface]]

route命令常用的命令如下:

1route delete:删除路由;

2route print:打印路由的Destination

3route add:添加路由;

4route change:更改现存路由。

一般使用route deleteroute addroute print这三条命令可解决路由的所有功能。

2.1 打印路由信息

       打印路由信息使用命令route print

       例如笔者在工作环境下打印route print命令,结果如下:

C: " Documents and Settings " 阿蜜果 > route print
===========================================================================
Interface List
0x1   MS TCP Loopback  interface
0x2   00   26   18   31  4f d1  Realtek RTL8168C(P) / 8111C(P) PCI - E Gigabit Ether
net NIC 
-  数据包计划程序微型端口
0x50004   00   53   45   00   00   00   WAN (PPP / SLIP) Interface
===========================================================================
===========================================================================

Active Routes:
Network Destination        Netmask          Gateway       Interface Metric
          
0.0 . 0.0            0.0 . 0.0     116.69 . 106.119   116.69 . 106.119         1
          
0.0 . 0.0            0.0 . 0.0      192.168 . 2.226      192.168 . 2.79         20
    
115.168 . 64.94   255.255 . 255.255     116.69 . 106.119   116.69 . 106.119         1
   
116.69 . 106.119   255.255 . 255.255          127.0 . 0.1         127.0 . 0.1         50
 
116.255 . 255.255   255.255 . 255.255     116.69 . 106.119   116.69 . 106.119         50
        
127.0 . 0.0          255.0 . 0.0          127.0 . 0.1         127.0 . 0.1         1
      
192.168 . 2.0      255.255 . 255.0       192.168 . 2.79      192.168 . 2.79         20
     
192.168 . 2.79   255.255 . 255.255          127.0 . 0.1         127.0 . 0.1         20
    
192.168 . 2.255   255.255 . 255.255       192.168 . 2.79      192.168 . 2.79         20
        
224.0 . 0.0          240.0 . 0.0       192.168 . 2.79      192.168 . 2.79         20
        
224.0 . 0.0          240.0 . 0.0     116.69 . 106.119   116.69 . 106.119         1
 
255.255 . 255.255   255.255 . 255.255     116.69 . 106.119   116.69 . 106.119         1
 
255.255 . 255.255   255.255 . 255.255       192.168 . 2.79      192.168 . 2.79         1

Default Gateway:    
116.69 . 106.119
===========================================================================
Persistent Routes:
 None

    第一列是网络目的地址。列出了路由器连接的所有的网段。

第二行网络掩码列提供这个网段本身的子网掩码,而不是连接到这个网段的网卡的子网掩码。这基本上能够让路由器确定目的网络的地址类。

第三列是网关。一旦路由器确定它要把这个数据包转发到哪一个目的网络,路由器就要查看网关列表。网关表告诉路由器这个数据包应该转发到哪一个IP地址才能达到目的网络。

第四列接口列告诉路由器哪一个网卡连接到了合适的目的网络。从技术上说,接口列仅告诉路由器分配给网卡的IP地址。那个网卡把路由器连接到目的网络。然而,路由器很聪明,知道这个地址绑定到哪一个物理网卡。

第五列是测量。测量本身是一种科学。该值越小的可信度越高

下面说说每一行内容代表的内容

Network Destination      Netmask          Gateway         Interface      Metric  
0.0 . 0.0                      0.0 . 0.0            116.69 . 106.119    116.69 . 106.119        1   

   这表示发向任意网段的数据通过本机接口116.69.106.119被送往一个默认的网关116.69.106.119它的管理距离是1管理距离指的是在路径选择的过程中信息的可信度管理距离越小的可信度越高。

第二行的内容:

Network Destination      Netmask          Gateway         Interface      Metric  
0.0 . 0.0                      0.0 . 0.0            192.168 . 2.226    192.168 . 2.79        20

   这表示发向任意网段的数据通过本机接口192.168.2.79被送往网关192.168.2.226,但是因为该行的管理距离(Metric)比第一行大,即表示第二行的可信度没有第一行高,所以在默认情况下会优先选择第一行的网关出去。

       第三行的内容:

Network Destination      Netmask          Gateway         Interface          Metric  
115.168 . 64.94             255.255 . 255.255      116.69 . 106.119   116.69 . 106.119         1

    第四行的内容:

Network Destination      Netmask          Gateway         Interface          Metric  
116.69 . 106.119            255.255 . 255.255      127.0 . 0.1          127.0 . 0.1               50

      表示从自己的主机发送到自己主机的数据包,如果使用的是自己主机的IP地址,跟使用回环地址效果相同,通过同样的途径被路由,也就是如果我有自己的站点,我要浏览自己的站点,在IE地质栏里面输入localhost116.69.106.119是一样的,尽管localhost被解析为 127.0.0.1 

       第五行的内容:

Network Destination      Netmask          Gateway         Interface          Metric  
116.255 . 255.255            255.255 . 255.255      116.69 . 106.119   116.69 . 106.119         50

   这里的目的地址是一个局域广播地址,系统对这样的数据包的处理方法是把本机116..69.106.119作为网关,发送局域广播帧,这个帧将被路由器过滤。 

       第六行的内容:

Network Destination      Netmask          Gateway         Interface          Metric  
127.0 . 0.0                     255.0 . 0.0            127.0 . 0.1         127.0 . 0.1             1

2.2 删除路由信息

       所用的命令为:

route delete 网络目的地址 [mask] [子网掩码]

   例如想要删除网络目的地址为192.168.2.0子网掩码为255.255.255.0的路由,可用:

route delete  192.168 . 2.0  mask  255.255 . 0.0

    删除路由时还可以用模糊匹配,例如要删除以115开头的IP路由表中的所有路由时,可用:

route delete  115 *

2.3 添加路由信息

       添加路由信息使用如下命令:

route add 网络目的地址 mask 子网掩码网关 [metric] [测量值]

   例如若要向带有255.255.0.0子网掩码、10.27.0.1网关,测量值为710.41.0.0的目标地址添加一条路由,可使用如下命令:

route add  10.41 . 0.0  mask  255.255 . 0.0   10.27 . 0.1  metric  7

3.  应用实例

我近来在上海出差,下面以我调试环境为例,需要接入内网进行调试,笔者的内网地址为5.0.217.47。另外接了个无线,可以上外网自动分配了个192.168.2.110

插上内网网线,并成功连接上外网后,此时内网是通的,但是外网连接不上。在命令窗口使用ipconfigroute print命令可以打印出当前的信息:

C: " Documents and Settings " 阿蜜果 > route print
===========================================================================
Interface List
0x1   MS TCP Loopback  interface
0x2   00   26   18   31  4f d1  Realtek RTL8168C(P) / 8111C(P) PCI - E Gigabit Ether
net NIC 
-  数据包计划程序微型端口
0x3   00   24  2c e7  57   11   Atheros AR5006X Wireless Network Adapter  -  数据
包计划程序微型端口

===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface Metric
          
0.0 . 0.0            0.0 . 0.0          5.0 . 217.1        5.0 . 217.47         10
          
0.0 . 0.0            0.0 . 0.0        192.168 . 1.1     192.168 . 1.110         25
        
5.0 . 217.0   255.255 . 255.192         5.0 . 217.47        5.0 . 217.47         10
       
5.0 . 217.47   255.255 . 255.255          127.0 . 0.1         127.0 . 0.1         10
    
5.255 . 255.255   255.255 . 255.255         5.0 . 217.47        5.0 . 217.47         10
        
127.0 . 0.0          255.0 . 0.0          127.0 . 0.1         127.0 . 0.1         1
      
192.168 . 1.0      255.255 . 255.0      192.168 . 1.110     192.168 . 1.110         25
    
192.168 . 1.110   255.255 . 255.255          127.0 . 0.1         127.0 . 0.1         25
    
192.168 . 1.255   255.255 . 255.255      192.168 . 1.110     192.168 . 1.110         25
        
224.0 . 0.0          240.0 . 0.0         5.0 . 217.47        5.0 . 217.47         10
        
224.0 . 0.0          240.0 . 0.0      192.168 . 1.110     192.168 . 1.110         25
 
255.255 . 255.255   255.255 . 255.255         5.0 . 217.47        5.0 . 217.47         1
 
255.255 . 255.255   255.255 . 255.255      192.168 . 1.110     192.168 . 1.110         1
Default Gateway:       
192.168 . 1.1
===========================================================================
Persistent Routes:
 None

C:
" Documents and Settings " 阿蜜果 > ipconfig
Windows IP Configuration
Ethernet adapter 本地连接:
        Connection
- specific DNS Suffix . :
        IP Address. . . . . . . . . . . . : 
5.0 . 217.47
        Subnet Mask . . . . . . . . . . . : 
255.255 . 255.192
        Default Gateway . . . . . . . . . :
Ethernet adapter 无线网络连接:
        Connection
- specific DNS Suffix . :
        IP Address. . . . . . . . . . . . : 
192.168 . 1.110
        Subnet Mask . . . . . . . . . . . : 
255.255 . 255.0
        Default Gateway . . . . . . . . . : 
192.168 . 1.1

route print命令的结果的第一行可以看到,只所以访问不到外网,是因为默认的情况是通过5.0.217.1的内网的网关出去的。

       为了达到能同时访问内外网的需求,只需要删除掉0.0.0.0的路由后,添加两条路由即可,将5开头的地址都通过5.0.217.1网关路由出去,而其余的地址都通过无线的网关192.168.1.110出去。参考如下:

C: " Documents and Settings " 阿蜜果 > route delete  0.0 . 0.0
C:
" Documents and Settings " 阿蜜果 > route add  0.0 . 0.0  mask  0.0 . 0.0   192.168 . 1.1
C:
" Documents and Settings " 阿蜜果 > route add  5.0 . 0.0  mask  255.0 . 0.0   5.0 . 217.1

此时运行route print命令,可看到运行结果如下:
C:
" Documents and Settings " 小海 > route print
===========================================================================
Interface List
0x1   MS TCP Loopback  interface
0x2   00   26   18   31  4f d1  Realtek RTL8168C(P) / 8111C(P) PCI - E Gigabit Ether
net NIC 
-  数据包计划程序微型端口
0x3   00   24  2c e7  57   11   Atheros AR5006X Wireless Network Adapter  -  数据
包计划程序微型端口
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface Metric
          
0.0 . 0.0            0.0 . 0.0        192.168 . 1.1     192.168 . 1.110         1
          
5.0 . 0.0          255.0 . 0.0          5.0 . 217.1        5.0 . 217.47         1
        
5.0 . 217.0   255.255 . 255.192         5.0 . 217.47        5.0 . 217.47         10
       
5.0 . 217.47   255.255 . 255.255          127.0 . 0.1         127.0 . 0.1         10
    
5.255 . 255.255   255.255 . 255.255         5.0 . 217.47        5.0 . 217.47         10
        
127.0 . 0.0          255.0 . 0.0          127.0 . 0.1         127.0 . 0.1         1
      
192.168 . 1.0      255.255 . 255.0      192.168 . 1.110     192.168 . 1.110         25
    
192.168 . 1.110   255.255 . 255.255          127.0 . 0.1         127.0 . 0.1         25
    
192.168 . 1.255   255.255 . 255.255      192.168 . 1.110     192.168 . 1.110         25
        
224.0 . 0.0          240.0 . 0.0         5.0 . 217.47        5.0 . 217.47         10
        
224.0 . 0.0          240.0 . 0.0      192.168 . 1.110     192.168 . 1.110         25
 
255.255 . 255.255   255.255 . 255.255         5.0 . 217.47        5.0 . 217.47         1
 
255.255 . 255.255   255.255 . 255.255      192.168 . 1.110     192.168 . 1.110         1
Default Gateway:       
192.168 . 1.1
===========================================================================
Persistent Routes:
 None

   可看到默认是通过无线的192.168.1.110出去的,此时内外网都可以同时用了,呵呵。还不错吧?!



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值