route -n 讲解
我们经常会出现临时添加路由,或者是路由重启路由丢失等导致网络不通的情况,上网查发现很多介绍或者没有实验跟进导致理解的时候很费劲的情况,可能人家认为是比较简单的事情了,但是很多不尽然,老手也不一定能很快解决这样问题。所以这里还是以添加的实验结果为主。
route 输出项 说明
| Destination | 目标网段或者主机 |
| Gateway | 网关地址,”*” 表示目标是本主机所属的网络,不需要路由 |
| Genmask | 网络掩码,可以设定 netmask 决定网域的大小 |
| Flags | 标记。一些可能的标记如下: |
| U — 路由是活动的,可以使用 | |
|
H — 目标是一个主机,H 该路由是到一个主机,也就是说, 目的地址是一个完整的主机地址。如果没有设置该标志,说明该路由是到一个网络, 而目的地址是一个网络地址:一个网络号,或者网络号与子网号的组合 |
|
| G — 路由指向网关 | |
| R — 恢复动态路由产生的表项 | |
| D — 由路由的后台程序动态地安装 | |
| M — 由路由的后台程序修改 | |
| ! — 拒绝路由 | |
| Metric | 路由距离,到达指定网络所需的中转数(linux 内核中没有使用) |
| Ref | 路由引用次数(linux 内核中没有使用) |
| Use | 此路由项被路由软件查找的次数 |
| Iface | 转发的网络设备即虚拟网卡名称 |
添加网段路由,想要只显示U
[root@ht23 k8snode]# route add -net 192.168.1.0 netmask 255.255.255.0 dev ens192
[root@ht23 k8snode]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
flags:u
//意思是192.168.1.0网段全部可以通过
//Flags:U
添加主机路由,显示UH
[root@ht23 k8snode]# route add -host 192.168.1.1 dev ens192 //添加成功,不需要指定掩码注意 [root@ht23 k8snode]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 ens192 //显示UH,表示主机192.168.1.1这台机器,可以被ens192网卡转发出去.
添加网关路由,显示UG
[root@etcd2 system]#route add default gw 10.129.55.1
[root@etcd2 system]#route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.129.55.1
[root@etcd2 system]#route del default gw 10.129.55.1
[root@etcd2 system]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.129.55.1 0.0.0.0 UG 0 0 0 ens192
//表示去往任何网段的数据包即所有目的地的数据包由网关10.129.55.1通过网卡ens192来转发
//添加了一个网关 ,Flags:UG
添加网段错误,不能指定ip
错误 -net 只能指定网段,不能指定具体ip
[root@nagios ~]# route add -net 211.211.10.69 netmask 255.255.255.0 dev ens192
route: netmask doesn't match route address
//正确方法,指定网段
[root@nagios ~]# route add -net 211.211.10.0 netmask 255.255.255.0 dev ens192
[root@ht23 k8snode]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
211.211.10.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
//显示结果是Flags是U
添加主机路由错误
添加路由和删除路由时报错记录:
//添加路由,出错1,网卡不存在
[root@ht23 k8snode]# route add -host 192.168.1.1 dev eth0
SIOCADDRT: No such device //因为网卡名称不对
[root@ht23 k8snode]# route add -host 192.168.1.1 dev ens192 //添加成功
[root@ht23 k8snode]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 ens192
//显示UH,表示主机192.168.1.1这台机器,可以被ens192网卡转发出去.
添加一个主机路由,不能指定子网掩码
[root@ht23 k8snode]# route add -host 10.129.59.11 netmask 255.255.255.0 dev ens192
route: netmask 000000ff doesn't make sense with host route //正确的方法
[root@ht23 k8snode]# route add -host 10.129.59.11 dev ens192 [root@ht23 k8snode]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.129.59.11 0.0.0.0 255.255.255.255 UH 0 0 0 ens192
//显示UH
//如果你重复添加,则提示已存在
[root@ht23 k8snode]# route add -host 192.168.1.1 dev ens192
SIOCADDRT: File exists
//删除该主机路由
[root@ht23 k8snode]# route del -host 192.168.1.1 dev ens192
你要添加的网关不在你主机所在的网段
SIOCADDRT: No such process 解决方法:
比如你要添加的网关是10.128.51.1 但是本机没有10.128.51段的网卡
[root@ht23 k8snode]# route add 10.128.51.1/32 dev ens192
然后再
[root@ht23 k8snode]#route add default gw 10.128.51.1 实例演示:
[root@ht23 k8snode]# route add 10.128.51.1/32 dev ens192
[root@ht23 k8snode]# route add default gw 10.128.51.1
[root@ht23 k8snode]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.128.51.1 0.0.0.0 UG 0 0 0 ens19210.128.51.1 0.0.0.0 255.255.255.255 UH 0 0 0 ens192
在linux下永久添加静态路由
一、让路由重启服务器后生效:
1,在/etc/rc.local里面添加:
添加路由命令为:直接将在命令行操作的命令复制到该文件中,保存退出即可。
二、两种方式添加静态路由对比:
1、rc.local:
重启服务器生效;
重启网络服务,则静态路由失效;
rc.local是系统启动后最后运行的一个脚本,因此如果有如NFS需要网络才能挂载的服务需求,则该方式不适合;
2、static-routes:
重启服务器生效;
重启网络服务生效:
route -n 讲解的更多相关文章
- Route学习笔记
前言 UrlRoutingModule.class:这块的代码关联了上一篇中路由部分的一个详细说明 一:Route的讲解 1. 路由模板匹配 添加路由: MapRoute 剔除的路由:IgnoreRo ...
- iptables的实战整理
一.iptables使用场景: 内网情况下使用:在大并发的情况下不要开iptables否则影响性能 二.iptables出现下面的问题: 在yewufa ...
- html post
post请求对应的html页面 页面效果 html代码 <html> <body> <form method="post" > First na ...
- 实例讲解react+react-router+redux
前言 总括: 本文采用react+redux+react-router+less+es6+webpack,以实现一个简易备忘录(todolist)为例尽可能全面的讲述使用react全家桶实现一个完整应 ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- uTenux——LED驱动讲解
LED驱动讲解,对于一个嵌入式的工程师还是一个刚开是学习相关电子设计的朋友,对于LED的驱动问题应该不甚陌生.我所说的LED驱动并不是类似大功率LED照明的那个驱动,而是简单的控制器对LED的控制驱动 ...
- MVC中Controller和Action讲解上篇
一般我们用mvc开发程序时一般需要三个步骤, 创建模型.创建控制器.创建视图 之前开发程序都是按照这样的步骤来开发的,也没有想过mvc的原理,比如route是怎么找到controller的,contr ...
- 一步步学习ASP.NET MVC3 (14)——Route路由
请注明转载地址:http://www.cnblogs.com/arhat 由于今天是星期六,所以多写几篇,感觉前几天的忙碌没有及时发布文章,趁着周末老魏尽力的多写几篇文章.因为本系列基本上快结束了,所 ...
- 以helloworld为例讲解magento中控制器的工作
1.下面介绍的前提是你已经安装了magento ,版本是1.9.1.0. 2.下面是实际步骤 ①在工程下面创建下面的文件目录 app/code/local/Magentotutorial/Hellow ...
随机推荐
- 使用Truffle 部署智能合约
使用Truffle 部署智能合约 之前我们使用Geth,原生的以太坊Golang工具,分析了创世区块的参数内容,在本地创建了私有以太坊区块链,并使用两个账户进行了挖矿和转账操作,对以太坊有了基本了解. ...
- [SniperOJ](web) Inject again 注入 过滤左右括号 order by
0x00 题目概述 题目地址:http://web2.sniperoj.cn:10004/ 拿到题,尝试注入,发现有过滤. 进行fuzz,发现过滤了 左右括号,分号,等号 ,还有一些查询关键字 . 在 ...
- loj2341「WC2018」即时战略(随机化,LCT/动态点分治)
loj2341「WC2018」即时战略(随机化,LCT/动态点分治) loj Luogu 题解时间 对于 $ datatype = 3 $ 的数据,explore操作次数只有 $ n+log n $ ...
- Shiro Session放到Redis中常遇到的问题
Shiro会话管理:https://shiro.apache.org/session-management.html#SessionManagement-CustomSessionIDs Redis主 ...
- CAS 的问题 ?
1.CAS 容易造成 ABA 问题 一个线程 a 将数值改成了 b,接着又改成了 a,此时 CAS 认为是没有变化,其实 是已经变化过了,而这个问题的解决方案可以使用版本号标识,每操作一次 versi ...
- elasticsearch 的倒排索引是什么 ?
面试官:想了解你对基础概念的认知. 解答:通俗解释一下就可以. 传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置. 而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表 即 ...
- java-面向对象相关
public class DemoMethodOverload { public static void main(String[] args) { int[] array = new int[]{1 ...
- SpringDataJpa 实体类过滤伪删除
当需要过滤实体类的数据时,根据伪删除字段进行过滤,需要使用Hibernate提供的@Where注解 使用方式: @Entity(name = "Account") @Where( ...
- Java 中的编译期常量是什么?使用它又什么风险?
公共静态不可变(public static final )变量也就是我们所说的编译期常量,这里 的 public 可选的.实际上这些变量在编译时会被替换掉,因为编译器知道这些 变量的值,并且知道这些变 ...
- Python turtle 模块可以编写游戏,是真的吗?
1. 前言 turtle (小海龟) 是 Python 内置的一个绘图模块,其实它不仅可以用来绘图,还可以制作简单的小游戏,甚至可以当成简易的 GUI 模块,编写简单的 GUI 程序. 本文使用 tu ...