Linux 路由表详解及 route 命令详解
Linux 内核的路由表
通过 route 命令查看 Linux 内核的路由表:
[root@VM_139_74_centos ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0
10.139.128.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0ab63c131848
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-bccbfb788da0
172.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-7485db25f958
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.139.128.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0
10.139.128.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0ab63c131848
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-bccbfb788da0
172.20.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-7485db25f958
各列字段说明:
| 列 | 含义 |
|---|---|
| Destination | 目标网络或目标主机。Destination 为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关(这里是 10.139.128.1) |
| Gateway | 网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关 |
| Genmask | Destination 字段的网络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0 |
| Flags | 标记,含义参考表格后面的解释 |
| Metric | 路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用。) |
| Ref | 路由项引用次数 (不在Linux内核中使用。) |
| Use | 此路由项被路由软件查找的次数 |
| Iface | 网卡名字,例如 eth0 |
Flags 含义:
- U 路由是活动的
- H 目标是个主机
- G 需要经过网关
- R 恢复动态路由产生的表项
- D 由路由的后台程序动态地安装
- M 由路由的后台程序修改
- ! 拒绝路由
Linux 内核的路由种类
主机路由
路由表中指向单个 IP 地址或主机名的路由记录,其 Flags 字段为 H。下面示例中,对于 10.0.0.10 这个主机,通过网关 10.139.128.1 网关路由:
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0
...
网络路由
主机可以到达的网络。下面示例中,对于 10.0.0.0/24 这个网络,通过网关 10.139.128.1 网关路由:
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 10.139.128.1 255.255.255.0 UG 0 0 0 eth0
默认路由
当目标主机的 IP 地址或网络不在路由表中时,数据包就被发送到默认路由(默认网关)上。默认路由的 Destination 是 default 或 0.0.0.0。
[root@VM_139_74_centos ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
route 命令
route 命令可以显示或设置 Linux 内核中的路由表,主要是静态路由。
对于局域网中的 Linux 主机,要想访问 Internet,需要将局域网的网关 IP 地址设置为这个主机的默认路由。在命令行中通过 route 命令添加的路由在网卡重启或机器重启后失效。可以在 /etc/rc.local 中添加 route 命令来保证路由设置永久有效。
选项:
-A:设置地址类型-C:打印 Linux 内核的路由缓存-v:显示详细信息-n:不执行 DNS 反向查找,直接显示数字形式的 IP 地址-e:netstat 格式显示路由表-net:到一个网络的路由表-host:到一个主机的路由表
参数:
- add:增加路由记录
- del:删除路由记录
- target:目的网络或目的主机
- gw:设置默认网关
- mss:设置TCP的最大区块长度(MSS),单位MB
- window:指定通过路由表的TCP连接的TCP窗口大小
- dev:路由记录所表示的网络接口
添加路由 add
可以添加一条可用路由,或添加一条要屏蔽的路由。
添加路由
添加主机路由
添加主机路由时,需要指定网络 ID 和主机 ID,此时需要设置 netmask 255.255.255.255:
[root@VM_139_74_centos ~]# route add -net 10.0.0.10 netmask 255.255.255.255 gw 10.139.128.1 dev eth0
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0
...
添加网络路由
添加网络路由时,只需指定网络 ID,通过 netmask 设置掩码长度:
[root@VM_139_74_centos ~]# route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.139.128.1 dev eth0
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 10.139.128.1 255.255.255.0 UG 0 0 0 eth0
...
添加添加同一个局域网的主机
不指定 gw 选项时,添加的路由记录不使用网关:
[root@VM_139_74_centos ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eth0
...
屏蔽路由
[root@VM_139_74_centos ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
224.0.0.0 - 240.0.0.0 ! 0 - 0 -
...
删除路由记录
跟添加路由类似,可以删除一条可用路由,或删除一条屏蔽的路由。
删除可用路由
route del -net 224.0.0.0 netmask 240.0.0.0
删除屏蔽的路由
route del -net 224.0.0.0 netmask 240.0.0.0 reject
删除和添加设置默认网关
添加或删除默认网关时,Linux 会自动检查网关的可用性:
[root@VM_139_74_centos ~]# route add default gw 192.168.1.1
SIOCADDRT: Network is unreachable
[root@VM_139_74_centos ~]# route del default gw 192.168.1.1
SIOCDELRT: No such process
Linux 路由表详解及 route 命令详解的更多相关文章
- (转)linux route命令详解
linux route命令详解 原文:https://www.cnblogs.com/lpfuture/p/5857738.html && http://blog.csdn.n ...
- route命令详解与使用实例 ,同时访问内外网
route命令详解与使用实例 2011-10-18 12:19:41| 分类: 其他 | 标签:route |字号 订阅 1. 使用背景 需要接入两个网络,一个是部署环境所在内 ...
- Linux进程实时IO监控iotop命令详解
介绍 Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦. iotop 是一个用来监视磁盘 I/O 使用状况 ...
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...
- ZT linux的mount(挂载)命令详解
linux的mount(挂载)命令详解 来源:互联网 作者:佚名 时间:09-08 17:02:27 [大 中 小] 点评:linux下挂载(mount)光盘镜像文件.移动硬盘.U盘.Window ...
- Linux route命令详解和使用示例(查看和操作IP路由表)
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- linux route命令详解
考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师翻译成如下3道题. a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254? b. 192.1 ...
- windows下route命令详解(转载)
1.具体功能 该命令用于在本地IP路由表中显示和修改条目.使用不带参数的ROUTE可以显示帮助. 2.语法详解 route [-f] [-p] [co ...
- linux shell 脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详解,chattr命令详解
文件权限详解 一.chmod命令详解 文件权限和所有权是Unix/Linux文件系统最显著的特征之一.linux中的每一个文件都与多种权限类型相关联,在这些权限中主要分类为3种: 用户(User)是文 ...
随机推荐
- docker网络 macvlan
docker 还开发了另一个支持跨主机容器网络的 driver:macvlan. macvlan 本身是 linxu kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 ...
- 年月日联动select下拉菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Sql批量插入时如果遇到相同的数据怎么处理
测试数据 -- 创建测试表1 CREATE TABLE `testtable1` ( `Id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `UserId` I ...
- WannaCry的UWP版,哈哈哈
- 深入JavaScript之获取cookie以及删除cookie
cookie存在哪? 存在document.cookie中 ookie长啥样? cookie是一个字符串,长下面这样:“name=xxx; age=22;” 注意:分号后面有个空格,记住这一点,下面的 ...
- Elasticsearch Java Low Level REST Client(嗅探器)
https://segmentfault.com/a/1190000016828977?utm_source=tag-newest#articleHeader0 嗅探器 允许从正在运行的Elastic ...
- [NOI2004]郁闷的出纳员(平衡树)
[NOI2004]郁闷的出纳员 题目链接 题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的 ...
- ps:图层知识
如果我们要改变下左图上方的蓝色小球位置,就需要先创建一个符合小球大小的选区,这并不困难,可以使用椭圆选框工具来创建一个正圆的选区(可通过[空格 CTRL 单击图像]放大图像).之后使用移动工具移动选区 ...
- 六、MyBatis-缓存机制
MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制.缓存可以极大的提升查询效率.MyBatis系统中默认定义了两级缓存, 一级 缓存和 二级缓存.– 1.默认情况下,只有一级缓 ...
- 一次Oday提权批量拿取商城服务器root权限
此问题影响范围巨大,涉及到所有通过niushop开发的商城,希望通过这篇文章能够引起大家的重视.(注:演示的所用商城已经修复了此漏洞) 严重性:特级 解决方案:1.在用户访问漏洞页时对其身份进行判断: ...