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:更改现存路由。
一般使用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出去的,此时内外网都可以同时用了
注:
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 -p
route add 5.0.0.0 mask 255.0.0.0 5.0.217.1 -p
这俩命令后面加-p,就完美了,不然重启后会失效的,,亲测!亲测!
- route命令详解与使用实例 ,同时访问内外网
route命令详解与使用实例 2011-10-18 12:19:41| 分类: 其他 | 标签:route |字号 订阅 1. 使用背景 需要接入两个网络,一个是部署环境所在内 ...
- apt-get 命令详解(中文),以及实例
apt-get 命令详解(中文),以及实例 一,什么的是apt-get 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubunt ...
- (转)linux route命令详解
linux route命令详解 原文:https://www.cnblogs.com/lpfuture/p/5857738.html && http://blog.csdn.n ...
- windows下route命令详解(转载)
1.具体功能 该命令用于在本地IP路由表中显示和修改条目.使用不带参数的ROUTE可以显示帮助. 2.语法详解 route [-f] [-p] [co ...
- Linux route命令详解和使用示例(查看和操作IP路由表)
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- route命令详解
1. 使用背景:需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络.如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁 ...
- linux route命令详解
考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师翻译成如下3道题. a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254? b. 192.1 ...
- CentOS里route命令详解
Route 功能简述:linux系统中的route命令能够用于IP路由表的显示和操作.它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0.当使用"add&q ...
- Linux 路由表详解及 route 命令详解
参考资料 Linux 内核的路由表 通过 route 命令查看 Linux 内核的路由表: [root@VM_139_74_centos ~]# route Kernel IP routing tab ...
随机推荐
- IBM WebSphere MQ 通道类型配置
IBM WebSphere MQ 通道类型配置 初学MQ,四种常见通道,windows下操作 目录 Sender--Receiver Server-Receiver Server-Requester ...
- Xcode7 Xcode6 中添加pch文件
在Xcode7 和 Xcode6 中添加.pch文件是一样的,具体操作图文如下: 第一步:在Xcode的项目里,一般在Supporting Files 文件夹下创建,选中Supporting File ...
- OC与Swift的区别二(常量、变量、运算符)
4.常量与变量声明 oc的变量声明使用 类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符 swift变量声明使用 var 变量名 = ...
- java新手笔记20 抽象类模板(letter)
1.抽象类 package com.yfs.javase; //信模板 public abstract class Templater { public abstract String toName( ...
- Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
3731 寻找道路 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在有向图G中,每条边的长度均为1,现给定起点和终点,请你在图中找 ...
- Codevs 1198 国王游戏 2012年NOIP全国联赛提高组
1198 国王游戏 2012年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 恰逢 H 国国庆,国王邀 ...
- ci 用本身 email 类发 email
//比如 在控制器用 email 方法发送邮件 //用126的smtp 发送,示例邮件为 myemail@126.com 密码为 password public function email() { ...
- jQuery 之 .stop() 方法
总结version 1.7版本前.stop([clearQueue][,jumpToEnd])clearQueue: 布尔值,默认是 false;此值处理是相关的动画队列是否移除,如果为 false ...
- 初识pngdrive
初识是第一次认识的意思,类似的词还有初见.初遇.初心.初愿.初恋.初吻……梦里相见如初识,很美好的感觉.同样,今天我们要认识的也是一个比较神奇美妙的东西,至少对于程序员来说. 我曾经尝试过很多文件加密 ...
- 关于angular 自定义directive
关于angular 自定义directive的小结 首先我们创建一个名为"expander"的自定义directive指令: angular.module("myApp& ...