admin 管理员组

文章数量: 887021


2023年12月23日发(作者:如何实现圆形按钮样式)

Windows route命令

一个完整的route命令如下:

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 13 IF 13

其中,192.168.1.1是网关,IF 31是接口,这个接口在电脑有多个网卡时是必不可少的,因为你需要确定一条路由是从哪个接口进来和出去的,31就是执行route print后,每个网卡前面的第一个省略号前面的数字。

Metric 后面的1是通过ipconfig查看出来的比如下面的13和12

完整示例:与add一起使用添加-p即可将路由写进注册表达到永久路由的效果

route –f (删除已存在的路由)

ipconfig (确认metric后面的值,即为IPV6地址后面的数值)

route print (确认IF后面的值,即为对应网卡前面的数值)

route add -p 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 13 IF 13(192.168.0.1为外网网关)

route add -p 22.0.0.0 mask 255.0.0.0 22.192.0.254 metric 12 IF 12(22.0.0.0和255.0.0.0表示把所有22断的ip都添加到路由中,22.192.0.254为内网网关)

1. 使用背景

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

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

2. route命令

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

route命令的语法如下:

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

[if Interface]]

route命令常用的命令如下:

1)route delete:删除路由;

2)route print:打印路由的Destination;

3)route add:添加路由;

4)route change:更改现存路由。

5)route –f:删除所有路由

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

2.1 打印路由信息

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

===========================================================================

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

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

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

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

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

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

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

NetworkDestination 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,管理距离指的是在路径选择的过程中信息的可信度,管理距离越小的,可信度越高。

第二行的内容:

NetworkDestination 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)比第一行大,即表示第二行的可信度没有第一行高,所以在默认情况下会优先选择第一行的网关出去。

第三行的内容:

NetworkDestination Netmask Gateway Interface Metric

115.168.64.94 255.255.255.255 116.69.106.119 116.69.106.119 1

第四行的内容:

NetworkDestination 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。

第五行的内容:

NetworkDestination 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作为网关,发送局域广播帧,这个帧将被路由器过滤。

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

===========================================================================

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

===========================================================================

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

===========================================================================

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

===========================================================================

可看到默认是通过无线的192.168.1.110出去的,此时内外网都可以同时用了


本文标签: 路由 网关 网络 路由器 地址