route 命令详解

route 命令详解转自“ITPUB博客”,链接:http://blog.itpub.net/86584/viewspace-755197/因为工作中需要了解网络配置,在众多文中,找到一详解,特此分享。1.使用背景需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网,外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要…

大家好,又见面了,我是你们的朋友全栈君。

转自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/86584/viewspace-755197/

因为工作中需要了解网络配置,在众多文中,找到一详解,特此分享。

 

1.   使用背景

需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁琐的“禁用网络连接”、“启用网络连接”的操作来进行内外网的切换,甚是麻烦。

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

 

2.   route命令

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

route命令的语法如下:

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

route命令常用的命令如下:

  • route delete:删除路由;
  • route print:打印路由的Destination;
  • route add:添加路由;
  • route change:更改现存路由。

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

 

2.1 打印路由信息

       打印路由信息使用命令: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地质栏里面输入localhost与116.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网关,测量值为7的10.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。

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

 

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



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出去。参考如下:

 

route delete 0.0.0.0

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

route add 5.0.0.0 mask 255.0.0.0 5.0.217.1

 

此时运行route print命令,可看到运行结果如下:

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出去的,此时内外网都可以同时用了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161109.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlsession、sqlsessionManager以及sqlsessionTemplate的理解

    sqlsession、sqlsessionManager以及sqlsessionTemplate的理解sqlSession是mybatis的核心操作类,其中对数据库的crud都封装在这个中,是一个顶级接口,其中默认实现类是DefaultSqlSession这个类,为什么说DefaultSqlsession不是线程安全的?首先我们都知道mybatis在底层都是使用的JDBC,而JDBC这本来就是线程不安全的(连接对象Connection只有一个),所以我们只要关注session和co…

    2022年5月8日
    42
  • 计算机网络曼彻斯特编码与差分曼彻斯特编码

    计算机网络曼彻斯特编码与差分曼彻斯特编码曼彻斯特编码与差分曼彻斯特编码 1 两种编码在中间均需要进行一次跳变 2 曼彻斯特编码 吉大原则为负到正为 1 正到负为 0 3 差分曼彻斯特编码 为 0 时发生跳变 为 1 时不发生跳变 在此处跳变的含义为中间虚线位置 若当前为 1 则与前一个编码的后半部分电平相同 若为 0 则与前一个编码的后半部分电平相反 4 对于差分曼彻斯特编码 第一个位置需自己决定 一般选择不同 从边界直着下来

    2025年10月14日
    6
  • 应用层,驱动层,硬件层_windows组件向导在哪里

    应用层,驱动层,硬件层_windows组件向导在哪里驱动层与应用层通信是通过DeviceIoControl,首先驱动层要实现:pDriverObject->DriverUnload=MyDriverUnload;pDriverObject->MajorFunction[IRP_MJ_CREATE]=MyCreate;pDriverObject->MajorFunction[IRP_MJ_CLOSE]=MyClose;

    2025年9月26日
    10
  • PKI体系详解_基于PKI体系的认证方式进行论述

    PKI体系详解_基于PKI体系的认证方式进行论述这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入VIP去广告VIP去广告VIP去广告VIP去广告VIP去广告#欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示

    2022年8月22日
    6
  • redis配置文件中常用配置详解[通俗易懂]

    redis配置文件中常用配置详解[通俗易懂]此次安装的版本为:5.0.3[root@localhostlocal]#redis-server–versionRedisserverv=5.0.3sha=00000000:0malloc=jemalloc-5.1.0bits=64build=afabdecde61000c3打开redis.cof###############################…

    2022年6月14日
    36
  • angular框架如何实现父子组件传值、非父子组件传值

    angular框架如何实现父子组件传值、非父子组件传值文章目录1.理解父子组件、非父子组件2.父组件给子组件传值–@input3.父组件通过@ViewChild主动获取子组件的数据和方法4.非父子组件如何传递数据1.理解父子组件、非父子组件什么是父子组件?组件的父子关系是相对来说的,即在一个A组件中嵌入了B组件,那么在这一层关系中,A组件是B组件的父组件,B组件是A组件的子组件。看下面两幅图即可理解:app.component.html与普通组件的关系:普通组件与普通组件:现在应该知道父子组件是什么关系了,关键看谁嵌入了谁那里。父子组件

    2022年5月13日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号