Linux系统中可以定义从1-252个路由表,系统本身维护了4个路由表:

table number

Description

0

系统保留表

253

default表,没有指定的默认路由都放在这个表里面

254

main表,没有指明路由表的所有路由都会放到这个表里面

255

local表,保存本地接口地址,广播地址,NAT地址,系统自己维护,不可以修改

查看一下文件/etc/iproute2/rt_tables,这里面保存了路由表序号和名字的关系

255 local

254 main

253 default

0 unspec

当然你可以通过命令添加自己定义的路由表。

1. 路由类型

依据子网掩码的类型可以分为三类,

路由类型

子网掩码

Flag字段

描述

主机路由

255.255.255.255

UH

指向单个IP地址或主机名的路由记录

网络路由

255.255.255.0

UN

代表主机可以到达的网络,比如说目的地址是192.19.12

默认路由

0.0.0.0

UG

当主机不能在路由表中查找到目标主机的IP时,数据包就发到默认路由上

U代表Route is Up

G代表使用网关

H代表目标是个主机(子网掩码是255.255.255.255)

2. 查看路由表

有两个命令,一个是route -n,另一个是ip route show,两个的输出是截然不同的,第二个命令默认显示main路由表的内容,

2.1. 查看main路由表

$ route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 192.168.99.254 0.0.0.0 UG 0 0 0 eth0

$ip route show

192.168.99.0/24 dev eth0 scope link

127.0.0.0/8 dev lo scope link

default via 192.168.99.254 dev eth0

上面两种显示方式虽然不太一样,但是他们表达的意思还是一样的。

回环网络的路由

127.0.0.0/8是回环网络的路由信息;

依据网络接口的IP而产生的路由信息

192.168.99.0/24这一条中,定义了scope是link,代表这个网络是合法的并且是可以通过eth0这个口联通的;

也就是说只要这个eth0的网卡是正常工作的,我们就可以经过这个口把数据发到192.168.88.0/24这个网段的任何IP地址;

这条路由信息同时也对应主机上面一个实际的网络接口;

默认路由

最后一条default是默认路由,如果找不到目标主机的IP,就通过eth0口发送到192.168.99.254地址;

这里Flags中带的G是gateway的缩写,代表必须使用外部设备作为网关;

这个gateway:192.168.99.254必须要在我们已经存在的路由环境中;

关于IP地址的scopt的描述,举个例子来说,比如说127.0.0.1这个地址属于local地址,它的scope就是host;比如说一个物理网卡分配了IP是192.168.56.101,这个地址就属于global的。

Scope

描述

global

全局合法

site

只在这个站点合法 (IPv6)

link

只在这个设备合法

host

只在这个host(机器)合法

2.2. 查看local路由表

$ ip route show table local

local 192.168.99.35 dev eth0 proto kernel scope host src 192.168.99.35

broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1

broadcast 192.168.99.255 dev eth0 proto kernel scope link src 192.168.99.35

broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1

local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1

local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1

输出的信息有助于我们了解这个机器直接连接的IP网络的信息,以及了解这个路由表是怎么去处理一些特殊地址,比如说广播地址

输出信息中的第一个字段告诉我们,这条消息是用于广播地址的,还是这个主机自己本地的地址(local);

后面的字段告诉我们通过哪个设备来和目的地址通信: dev eth0;

对于广播地址来说,它的目标是整一个IP网络,所以目标地址的scope定义为了link

最后一个字段的关键字是src,这个是告诉内核当使用这个设备往外路由信息时,选择的源地址是哪个

3. 显示路由缓存

内核通常会参考路由缓存表来进行路由,可以通过一下命令来查看

$ ip route show cache 192.168.100.17

192.168.100.17 from 192.168.99.35 via 192.168.99.254 dev eth0

cache mtu 1500 rtt 18ms rttvar 15ms cwnd 15 advmss 1460

192.168.100.17 via 192.168.99.254 dev eth0 src 192.168.99.35

cache mtu 1500 advmss 1460

linux 路由表 文件,Linux路由表相关推荐

  1. linux php文件,Linux php文件安装目录在哪

    php文件安装目录一般默认在"/var/www"里面,如果是自定义安装,则可以用Linux的命令进行查找,查找的命令是"find / -name "*www*& ...

  2. linux 编码文件,linux文件编码

    linux下新建一个文件,或采用fopen新建,那么文件的编码是什么? 怎么查看文件编码格式: 查看文件编码file命令 file ip.txt ip.txt: UTF-8 Unicode text, ...

  3. 怎么解压linux镜像文件,linux 怎么解压文件

    linux怎么解压文件 Linux提供了一个很简单的功能,用来解压*.zip 文件. 解压命令:unzip filename.zip Linux系统中还有一类后缀为*.tar的文件. 解压命令为: t ...

  4. linux设备文件,Linux 文件系统与设备文件

    1 Linux 文件系统 1.1 Linux 文件系统与设备驱动关系 下图表明了 Linux 中虚拟文件系统.磁盘/Flash文件系统以及一般的设备文件与设备驱动程序之间的关系. 文件系统与设备驱动之 ...

  5. linux 移动 文件,linux移动文件命令

    linux移动文件命令 mv命令 功能:为文件或目录改名或将文件由一个目录移入另一个目录中.该命令如同DOS下的ren和move的组合. 语法:mv [选项] 源文件或目录 目标文件或目录 说明: 视 ...

  6. linux interfaces文件,Linux /etc/network/interfaces配置接口方法

    Linux下/etc/network/interfaces文件用来配置网络接口. 初始化网口Ethernet Interface 大部分的网络接口配置都可以在/etc/network/interfac ...

  7. python 测试linux dev文件,Linux测试开发人员要掌握的Linux命令有哪些?

    今天小编要跟大家分享的文章是关于Linux测试开发人员要掌握的学习Linux和 一.文件和目录相关 文件和目录相关 1.进入目录--cd cd /usr/local //进入/usr/local这个目 ...

  8. linux epoll 文件,Linux面试必知:一句话讲透epoll-文件句柄

    1. epoll概念 在Linux的Man文档中,我们可以看到如下定义Epoll - I/O event notification facility epoll是一种I/O事件通知机制 I/O事件I/ ...

  9. 定时从linux获取文件,Linux 使用scp命令定时将文件备份到另一台服务器

    主要思路就是使用scp命令 + linux定时执行任务. 目标:2台服务器,A为主服务器,B为备份服务器,需要每天中午12点将A上的文件备份到B上. 1.首先在A上安装except 一路yes下去即可 ...

最新文章

  1. $\LaTeX$笔记:Section 编号方式(数字、字母、罗马)计数器计数形式修改
  2. 10 大常用软件架构模式简介
  3. SpringSecurity自定义UsernamePasswordAuthenticationFilter
  4. 语音计算矩形面积_【2020年第7期】螺旋折流板换热器质心当量矩形通用计算模型...
  5. ABAP function group和Tomcat library重复加载问题
  6. c语言for循环的省略写法,C语言两种for循环写法分析
  7. 2021年中国移动游戏行业深度洞察报告
  8. 我面试几乎必问:你设计索引的原则是什么?怎么避免索引失效?
  9. 使用 IntraWeb (12) - 基本控件之 TIWGradButton、TIWImageButton
  10. CF1152 F. Neko Rules the Catniverse (dp)
  11. 路径规划算法:Dijkstra算法 - 附代码
  12. VC++ EasyPR车牌识别
  13. matlab求变上限积分的导数,变上限积分函数的求导
  14. cad记忆口诀_CAD的制图口诀
  15. coursera—Mini-project #1 - Rock-paper-scissor-lizard-Spock
  16. bat脚本设置系统环境变量即时生效
  17. 三十六计第三计 借刀杀人
  18. HTML+CSS实战(哈罗单车首页)
  19. 解决Win10锁屏超1分钟,显示器关闭问题
  20. 嗖一下【基于命令行交互的文件搜索工具】实现思路

热门文章

  1. tesseract ocr训练样本库以及样本库使用
  2. C#设置保存文件SaveFileDialog类的默认文件名
  3. 暑假2019培训:Day2提高组测试赛
  4. 花了几百万,仍然无法消除「数据孤岛」,这份数字化建设方案下载
  5. RelativeSource.TemplatedParent 属性wpf
  6. arcgis影像数据加密步骤(镶嵌数据集、金字塔、匀色)
  7. 第三方库实现中文词频分析和词语可视化(jieba,wordcloud库)
  8. matlab6.5字体调整,matlab6.5中如何设置下图中字体的大小?
  9. 内部排序算法比较(超详解)
  10. mysql新建分区设置阈值(less than)引发的问题