`
阅读更多

 ip命令手册(三)


8.ip route -- 路由策略数据库管理命令


8.1.缩写

  rule、ru

8.2.对象

  路由策略数据库的规则用于控制选择路由的算法。

  Internet上采用的路由算法一般是基于数据包目的地址的。理论上,也可以由
TOS域决定,不过这没有实际应用。 要了解经典路由算法的详细情况请参考
RFC-1812。

  而在某些情况下,我们不只是需要通过数据包的目的地址决定路 由,可能还需
要通过其他一些域:源地址、IP协议、传输层端口甚至数据包的负载。这就叫做:
策略路由(policy routing)。

  注意:策略路由(policy routing)不等于路由策略(rouing policy)。

  在这种情况下,传统的基于目的地址的路由表就无法满足要求了,需要使用路
由策略数据库(routing policy database,RPDB)代替,通过它选择执行某些路由。
这些规则可以由很多不同的状态,而且它们没有天生的次序,要由系统管理员决定
。 RPDB可以匹配以下的域:

数据包的源地址;
数据包的目的地址;
服务类型(Type of Service);
进入的网络接口;


  匹配IP协议和传输层端口也是可能的,不过这要依靠 iptables或者ipchains通
过fwmark为某些数据包做标记,并重定向。

  每个路由策略由一个选择符 (selector)和一个操作(action)组成。系统按照顺
序搜索路由策略数据库,把选择符和{源地址、目的地址、进入接口、tos、
fwmark} 等关键词进行匹配,如果匹配成功,就执行action定义的操作。操作或者
成功返回,或者失败并且中止对路由策略。否则,系统继续查询路由策略 数据库。


  操作如何定义?最原始的操作是选择下一跳(nexthop)和输出设备(output
device)。 Cisco IOS使用这种方式,我们姑且把这叫做匹配并设置(match & set)
。而Linux的方式则更为灵活,Linux 允许的操作包括:基于目的地址的路由表查询
以及按照最长匹配的原则从路由表中选择路由。因此,匹配并设置(match & set)
的 方式只是一个最简单的特例而已。

  再系统启动时,内核会为路由策略数据库配置三条缺省的规则:

优先级 选择符 操作 解释  
0 匹配任何条件 查询路由表local(ID 255) 路由表local是一个特殊的路由表,包
含对于本 地和广播地址的高优先级控制路由。rule 0非常特殊,不能被删除或者覆
盖。  
32766 匹配任何条件 查询路由表main(ID 254) 路由表main(ID 254)是一个通常的
表,包含所有的无策略路由。系统管理员可以删除或者使用另外 的规则覆盖这条规
则。  
32767 匹配任何条件 查询路由表default(ID 253) 路由表default(ID 253)是一个
空表,它是为一些后续处理保留的。对于前面的缺省策略没有匹配到的数据包,系
统使用这个策略进行处理。这个规则也可以 删除。  

  不要混淆路由表和策略:规则指向路由表,多个规则可以引用一个路由表,而
且某些路由表可以没有策略指向它。 如果系统管理员删除了指向某个路由表的所有
规则,这个表就没有用了,但是仍然存在,直到里面的所有路由都被删除,它才会
消失。


8.3.规则类型


  路由策略规则数据库可以包括如下类型的规则:

unicast 返回从被引用的路由表中发现的路由  
blackhole 丢弃数据包,不做任何反应  
unreachable 产生网络不可达(Network is unreachable)的ICMP错误信息  
prohibit 产生通讯被禁止(Communication is administratively prohibited)的
ICMP错误信息  
nat 把数据报的源地址转换为其它的值。详情请参考附录C  

8.4.命令

  add、delete、 show(或者list)


8.5.ip rule add -- 插入新的规则
ip rule delete -- 删除规则



缩写:add、a;delete、del、d



参 数

type TYPE(default) 这个规则的类型。有效的类型上一节已经介绍过了。  
from PREFIX 匹配的源地址  
iif NAME 选择数据包进入的设备。如果接口是回环设备,这个规则就只匹配源于
本机的数据包。这意味着,你 可以为本机发出的数据包和要转发的数据包分别建立
路由表,使两者完全隔离。  
tos TOS或者dsfield TOS 选择匹配的TOS值  
fwmark MARK 选择要匹配的fwmark值  
priority PREFERENCE 设置这个规则的优先级。每个规则的优先级都应该明确设置
为一个唯一的数值。实际上,由于历史的原因,ip roule add命令无需任何优先级
的值,也不必是唯一的。如果用户没有在命令中提供优先级的值,内核会自动选择
。如果用户提供的优先级值已经 存在,内核也不会拒绝这次请求,而是在相同优先
级的规则前面插入新的规则。  
table TABLEID 如果规则选择符匹配,就被查询的路由表识别符。  
realms FROM/TO 如果规则匹配和路由表查询成功,选择的realms值。  
nat ADDRESS 设置要进行网络地址转换的IP地址段。ADDRESS或者是进行网络地址
转换ip地址段,或者是一个本机地 址,甚至可以是0。  



警告

  使用上面两个命令对路由策略数据库进行的任何修改都不会 马上生效。只有使
用ip route flush cach命令刷新路由缓存之后才会生效。


示例

通过路由表inr.ruhep路由来自源地址为192.203.80/24的数据包
ip ru add from 192.203.80/24 table inr.ruhep prio 220

把源地址为193.233.7.83的数据报的源地 址转换为192.203.80.144,并通过表1进
行路由
ip ru add from 193.233.7.83 nat 192.203.80.144 table 1 prio 320

删除无用的缺省规则
ip ru del prio 32767





8.7.ip rule show -- 列出路由规则



缩写:show、list、sh、ls、l


参数

  好消息,这个命令没有参 数。


输出格式

kuznet@amber:~ $ ip ru ls
0:      from all lookup local
200:    from 192.203.80.0/24 to 193.233.7.0/24 lookup main
210:    from 192.203.80.0/24 to 192.203.80.0/24 lookup main
220:    from 192.203.80.0/24 lookup inr.ruhep realms inr.ruhep/radio-msu
300:    from 193.233.7.83 to 193.233.7.0/24 lookup main
310:    from 193.233.7.83 to 192.203.80.0/24 lookup main
320:    from 193.233.7.83 lookup inr.ruhep map-to 192.203.80.144
32766:  from all lookup main
kuznet@amber:~ $



  每行第一部分的数字是规则的优先级,接着是选择符。

  关键词lookup后 面接着路由表识别符。

  如果规则要进行网络地址转换,还需要一个关键词map-to设置转换以后的地址


  上面的示例非常简单,192.203.80.0/24和193.233.7.0/24组成内部网络,但
是它们向外发送数据包要通 过不同的路由。主机193.233.7.83和外界会话时,地址
需要转换为192.203.80.144。




9.ip maddress -- 多播地址管理


9.1.对象

  这个命令管理的对象是 多播地址。


9.2.命令

  add、delete、show(或者list)


9.3.ip maddress show -- 列出多播地址



缩写:show、list、sh、 ls、l


参数

dev NAME(defautl) 设备名           


输出格式

kuznet@alisa:~ $ ip maddr ls dummy
2:  dummy
   link  33:33:00:00:00:01
   link  01:00:5e:00:00:01
   inet  224.0.0.1 users 2
   inet6 ff02::1
kuznet@alisa:~ $



  输出的第一行是设备的索引和设备名。后面几行是多播地址,每行由协议识别
符开头。关键词link表示这是链路层多播 地址。

  如果一个多播地址有几个用户,那么用户数就在users关键词之后列出。上面
的例子没有出现关键词 static,它表示这个地址是由ip maddr add命令加入的。



9.4.ip maddress add -- 加入多播地址
ip maddress delete -- 删除多播地址



缩 写:add、a;delete、del、d


简介

  使用这两个命令,我们可以添加/删除在网络接 口上监听的链路层多播地址。
这个命令只能管理链路层地址。


参数

address LLADDRESS(default) 链路层多播地址  
dev NAME 加入/脱离这个多播地址的设备  



示例

  让我们继续上一小节的例子

netadm@alisa:~ # ip maddr add 33:33:00:00:00:01 dev dummy
netadm@alisa:~ # ip -O maddr ls dummy
2:  dummy
   link  33:33:00:00:00:01 users 2 static
   link  01:00:5e:00:00:01
netadm@alisa:~ # ip maddr del 33:33:00:00:00:01 dev dummy



  注意:ip命令和内核都不会检查多播地址的有效性。这意味着你可以使用
unicast 地址代替多播地址。大多数驱动都会忽略unicast地址,但是有些驱动(例
如:tulip)会把这个unicast地址加入其过滤器。这样作 的效果有些奇怪,如果你
使用了别的主机或者路由器的地址作为多播地址,你就可以收到发送到它们的数据
包。不过,这并非一个bug,而 是内核的一个功能。它可以用于网络监视。

分享到:
评论

相关推荐

    ip命令手册三.pdf

    下面将对ip命令手册中的知识点进行详细介绍。 ### IP命令手册概述 ip命令是Linux系统中用于配置和操作网络接口的强大工具,由iproute2软件包提供。它替代了许多传统的命令,如ifconfig和route,并且提供了更多的...

    Linux系统常用命令快速入门\Linux网络配置之IP命令手册·rar.rar

    "Linux网络配置之IP命令手册"就是这样一个资源,它详细介绍了Linux中的IP命令,这是一个强大的工具,用于管理网络接口和配置网络参数。在这个压缩包中,主要包含了一个名为"Linux网络配置之IP命令手册.pdf"的文件,...

    linux ip命令手册

    linux ip命令手册 作为日常的参考,很有帮助的。

    Linux网络配置之IP命令手册pdf

    摘要: ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络工具。例如:ifconfig、router等。这个手册分章节介绍IP命令及其选项。

    linux ip命令手册(PDF)

    PDF中文,强大的linux。

    IP命令手册 这个手册将分章节介绍ip命令及其选项

    【IP命令手册】深入解析 IP命令是Linux系统中iproute2软件包的一部分,它是一个功能强大的网络配置工具,能够替代传统的网络管理命令如ifconfig和route。IP命令提供了丰富的选项和子命令,用于管理网络设备、协议...

    ip route命令手册

    ### IP Route 命令手册知识点详解 #### 1. 关于IP Route命令与文档 `ip route`命令是Linux操作系统中用于网络配置的核心工具,它隶属于iproute2软件包,取代了传统的网络管理工具如`ifconfig`和`route`。这份手册...

    linux下的ip命令手册(中文版)

    linux ip命令详解,非常实用,绝对物超所值。 通过ip命令可以配置IP地址、路由、ARP、策略路由等等,非常强大。

    华为H3C命令手册((全)

    华为H3C命令手册 华为H3C命令手册是华为H3C设备所有操作命令的集合,让用户能够轻松地管理和维护华为H3C设备。本手册涵盖了路由器基本配置命令、交换机配置命令、VLAN 基本配置命令、端口聚合配置命令、STP 基本...

    IP命令手册

    ip 是iproute2 软件包里面的一个强大的网络配置工具,本书详细介绍了ip 命令及其选项。 其中包括: link: 网络设备; address:一个设备的协议(IP 或者IPV6)地址; neighbour: ARP 或者NDISC 缓冲...

    ubuntu命令手册.pdf

    Ubuntu 命令手册 本资源摘要信息将详细介绍 Ubuntu 命令手册中的各种知识点,涵盖了软件安装、系统管理、硬盘管理、进程管理、网络管理等方面。 软件安装 * 查看软件安装内容:使用 `dpkg -L` 命令查看软件安装...

    华为命令手册 pdf版最全

    华为交换机命令手册PDF版最全的资源包含了华为公司全系列交换机和路由器的配置与管理命令,旨在为网络管理员和IT专业人士提供详尽的参考资料。这份手册的重要性在于,它不仅是学习华为网络设备操作的基础,也是日常...

    三层技术-IP路由命令参考-整本手册

    总的来说,《三层技术-IP路由命令参考》是一本针对H3C CE3000-32F-EI以太网交换机的详细操作手册,它为工程技术人员提供了丰富的信息和实用的命令参考,是进行网络配置和维护的重要资源。通过对本手册的学习和运用,...

    华为最全命令手册(截至2021年2月15日).zip

    这份“华为最全命令手册”是针对华为设备管理和维护的重要参考资料,适用于网络管理员、系统工程师以及IT技术人员。手册截至2021年2月15日,意味着它包含了最新的华为设备命令集,对于日常操作和故障排查具有极高的...

    华为交换机命令手册.rar

    《华为交换机命令手册》是华为网络设备管理的重要参考资料,主要针对华为交换机的配置、管理和维护提供了详尽的操作指南。这份手册分为两个部分,一部分是以CHM( Compiled Help Manual)格式的手册,通常便于离线...

    linux下的ip命令手册(中文版).pdf

    ### Linux下的ip命令手册知识点详解 #### 一、引言 `ip` 命令作为 `iproute2` 软件包中的一个强大工具,逐渐取代了传统的网络管理工具如 `ifconfig` 和 `route`。它提供了一种更灵活、功能更丰富的网络配置方法。本...

    Linux网络配置之IP命令手册

    2.ip 命令的语法 3.ip 的错误信息 4.ip link--配置网络设备 4.1.ip link set--改变设备的属性 4.2.ip link show--显示设备属性 5.ip address--协议地址管理 5.1.ip address add--添加一个新的协议地址 5.2.ip ...

    IP相关命令使用手册

    ip是iproute2软件包里面的一个强大的网络配置工具,本文将分章节介绍ip命令及其选项。为了便于理解,作者在本文中列举了很多示例。但是,正如作者所说,这不是一个教程,而是一个使用手册。

    linux ip命令使用手册

    红帽整理的linux ip命令行使用手册,分用途整理了相关的使用说明。网络编程使用的同学可以下载了解下!

Global site tag (gtag.js) - Google Analytics