route 详解
语法:
[root@test root]# route [-nee]
[root@test root]# route add [-net|-host]目标主机或网域[netmask] [gw|dev]
[root@test root]# route del [-net|-host]目标主机或网域[netmask] [gw|dev]
参数说明:
-n:列出的资讯以IP来显示
-ee :列出较长列的资讯
add :增加路由资讯
del :删除一个路由资讯
-net:增加一个『网域』的路由,例如C Class的网域!
-host :增加到某个IP主机的路由!
netmask :就是netmask呀!
gw :这个是路由的通讯闸! gw是以IP来建置的
dev :这个是路由的通讯闸! dev是以介面( internet )代号来建置的!
范例:
[root@test root]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.30.0 * 255.255.255.0 U 1 0 0 eth1
default XiaoQiang 0.0.0.0 UG 0 0 0 eth1
[root@test root]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.30.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
0.0.0.0 192.168.30.1 0.0.0.0 UG 0 0 0 eth1
注意到route, route -n这两个范例喔!使用-n与否会使domain是否进行查询,
一般来说,我都喜欢加上-n的,因为不必去查询正反解,显示速度较快,
此外, default gateway就是0.0.0.0喔!
[root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1
#新增一个路由规则! 意思是所有以192.168.*.*开头的IP的数据都通过eth1口出。
[root@test root]# route del -net 192.168.0.0 netmask 255.255.255.0 dev eth1
#删除一个路由啰
[root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.30.1
#新增一个路由规则! 意思是所有以192.168.*.*开头的IP的数据的网关是192.168.30.1。
[root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.30.1 dev eth1
#新增一个路由规则! 意思是所有以192.168.*.*开头的IP的数据的网关是192.168.30.1,并指定通过eth1口出。
[root@test root]# route add default gw 192.168.1.2
#增加一个default gateway呢!
注意一下, gw后面接的是IP ,而dev后面接的则是装置代号。
Destination:目标,可以是IP也可以是网域!至于没有规定到的,则是以default来表示!
以上面为例,当我的机器要去192.168.30.0的时候,则以上表的192.168.1.0那一行的设定为主,但如果我要去tw.yahoo.com的时候,由于没有规定到!所以就要以default的资讯为主要的路由!因此,我就会经由192.168.30.1这个gateway来传送出去我的封包!
Gateway :该目标要经由哪一个网关传送?就是这一个设定值!
Genmask :就是该Destination的netmask啰!例如140.116.141.253为255.255.255.255 ,因为他是一个host而不是一个network呀!至于192.168.1.0就是255.255.255.0这个C Class啰!那如果是default的话,就显示0.0.0.0 ,也就是不论是哪里,都出自这一个gateway就是了!
Flages :旗标,有底下几种Flage呢:
U (route is up):该路由已经启动了;
H (target is a host):目标是一个主机( IP ;
G (use gateway):用来作为gateway的设定;
R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;
D (dynamically installed by daemon or redirect):已经由服务或转port功能设定为动态路由;
M (modified from routing daemon or redirect):路由已经被修改了;
! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
Iface :该设定使用的网路介面为何?
实际应用:
公司业务需求,一台服务器,双网卡,需要同时访问外网和内网。在设置过程中,同事反映原本好用的内网地址(192.168.1.100)在设置上外网地址后变的不好用,只要停止外网那个网卡内网就可以正常访问了。
其实是因为,你先设置了内网之后,又设置外网,在给外网设置了网关之后,由于没有设置默认网关,导致,内网的IP也会走外网的网关,肯定是不可以的。我们要做的仅仅是让内网走自己的网卡(注意:要先确认两个网关都可以ping通,即正常工作,如果ping不通,你又没有设置禁止ping网关,那就有可能是网卡没有启动,像esxi 5.1中用双网卡,就需要手动让两个网卡都启动,默认是一个启动,一个备用)
内网网卡:eth0 192.168.1.100 网关:192.168.1.100
外网网卡 : eth1 119.222.222.222 网关:119.222.222.1
首先设置默认网关,让所有IP包默认情况下均通过 119.222.222.1 进行转发:
route add default gw 119.222.222.1
然后,单独为内网设置转发特例,所有192.168开头的,全部走eth0
route add -net 192.168.0.0 netmask 255.255.0.0 dev eth0
路由添加的最好是要加到开机启动上
vi /etc/rc.local
另:删除默认网关的命令如下:
route del default
做个小推广:程序员经常久坐,颈椎毛病比较多,特别推荐ventry颈椎保健枕
route 详解的更多相关文章
- IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构(转载)
IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构 系列文章链接: IIS负载均衡-Application Request Route详解第一篇: ...
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- ASP.NET MVC Route详解
在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎.Razor在减少代码冗余.增 ...
- route使用详解
route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...
- linux route命令的使用详解
route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...
- route命令详解与使用实例 ,同时访问内外网
route命令详解与使用实例 2011-10-18 12:19:41| 分类: 其他 | 标签:route |字号 订阅 1. 使用背景 需要接入两个网络,一个是部署环境所在内 ...
- [转帖]Application Request Route实现IIS Server Farms集群负载详解
Application Request Route实现IIS Server Farms集群负载详解 https://www.cnblogs.com/knowledgesea/p/5099893.ht ...
随机推荐
- thinkphp自带的验证码出现的问题
thinkphp3.1.2版本中今天做验证码时出现了一个小问题. 在后台我引入过了一次验证也就是 import('ORG.Util.Image'); Image::buildImageVerify() ...
- Java 中 父类变量访问子类方法 需要使用 类型转换 (instenceof)关键字 /类型判断/
通过数组元素访问方法的时候只能访问在 Animal中定义的方法,对 于 Tiger类和 Fish中定义的方法时却不能调用,例如语句 animal[2].swim();就是不正确的.当 需要访问这些 ...
- Laravel5.1学习笔记20 EloquentORM 关系
Eloquent: Relationships Introduction Defining Relationships One To One One To Many Many To Many Has ...
- 3分钟看懂flex布局
首先要有个容器,并设置display:flex;display:-webkit-flex;该容器有以下六个属性: 1 2 3 4 5 6 7 8 9 10 11 12 flex-direction ( ...
- Android 使用WebView浏览有声音或者视频的网页,关闭WebView之后,声音或者视频不停止的解决办法
笔者最近使用Eclipse开发Android移动应用app,其实有一个功能是使用Android系统自带的WebView控件加载Web页面.开发很顺利,浏览也很正常.不过有个比较特殊的一点就是加载的We ...
- 使用Hexo搭建个人博客配置全过程
大致过程分为: 1.搭建Node.js 环境 2. 搭建Git 环境 3.安装配置Hexo 4.GitHub 注册和配置 5. 关联Hexo 与 GitHub Pages 7.Hexo的常用操作 下面 ...
- JS——滚动条
1.核心思想与之前的拖拽盒子是一样的 2.完全将鼠标在盒子中的坐标给滚动条是错的,因为这样会使滚动条顶部立刻瞬间移动到鼠标位置 3.必须在鼠标按下事件时记住鼠标在滚动条内部的坐标,再将鼠标在盒子中的坐 ...
- Git与SVN版本控制系统
关于版本控制 什么是版本控制?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任 ...
- css图片高清适配
同一张图片,在普通屏显示正常,但高清屏出现模糊.原因是原来一个像素的点分成的四个像素的点进行了显示. 解决方案:在高清屏中把图片变成二倍图,前提是二倍的高清图已经存在. .icon{ backgrou ...
- 获取qq音乐json数据---某课网音乐app学习
移动端qq音乐地址:https://m.y.qq.com/ .抓取QQ音乐数据 请求首页时,有如下链接,回调了jsonp https://c.y.qq.com/splcloud/fcgi-bin/p. ...