本文为大家介绍linux策略路由配置实例(linux 策略路由 永久保存),下面和小编一起看看详细内容吧。
linux策略路由基础
策略是指ip数据包的路由是基于网络管理员根据需要设定的一些策略。例如,我们可以有这样一个策略:“所有来自网络a 的数据包选择路径x;其他选择路径y”,或者“所有tos 为a 的数据包选择路径f;其他选择路径k”
linux最多可以支持255个路由表,其中3个是内置的:
存在于文件/etc/iproute2/rt_tables
表255 本地路由表(local table) 本地接口地址、广播地址、nat地址都放在这张表中。路由表由系统自动维护,管理员不能直接修改。
表254 主表(main table) 如果不指定路由所属的表,默认所有路由都放在这个表中。一般来说,旧的路由工具(如route)添加的路由都会添加到这个表中。通常是正常路线。
表253 默认路由表(default table) 一般情况下,默认路由都放在这个表中,但如果指定,也可以是所有网关路由。
表0 保留
路由配置命令格式如下:
usage: ip route list 选择器
ip 路由{ 更改|删除|添加|附加|替换|监控} 路线
如果要查看路由表的内容,可以使用命令:
ip 路由列表表table_number
ip -6 路由列表表table_number(对于ipv6)
路由的操作包括更改、删除、添加、追加、替换、监控等。例如添加路由,您可以使用:
router# ip route add 0/0 via 192.168.0.4 table main
router# ip route 添加192.168.3.0/24 via192.168.0.3 表1
第一条命令是在主路由表(main table)中添加一条路由,也就是表254,路由的内容是设置192.168.0.4为网关。
第二条命令表示向路由表1添加一条路由,子网192.168.3.0(子网掩码255.255.255.0)的网关为192.168.0.3。
在具有多个路由表的路由系统中,所有的路由操作,如向网络路由表中添加路由,或在路由表中查找特定路由,都需要指定要操作的路由表。如果未指定路由表,则默认为主路由表(表254)运行。在单表系统中,路由操作不需要指定路由表。
规则配置ip规则
在linux中一共可以定义232条优先级规则,一个优先级只能有一条规则,即理论上一共可以有规则。其中3 条规则是默认的。命令用法如下:
usage: ip规则[列表|添加| del ] 选择动作
selector :=[from prefix] [to prefix] [tos tos]
[ 开发字符串] [ pref number ]
action :=[ 表table_id ] [ nat address ]
[禁止|拒绝|无法到达]
[ 流动类别]
table_id :=[ 本地|主要|默认|新|number
首先,我们可以查看路由表的所有默认规则:
root@netmonster# ip 规则列表
0: 来自所有本地查找
32766: 从所有查找main
32767: 从所有查找默认
注意:数字越小,优先级越高
规则0,即具有最高优先级的规则,规定所有数据包必须首先使用本地表(254) 进行路由。此规则不能更改和删除。
规则32766 规定所有数据包都使用主表进行路由。可以更改和删除此规则。
规则32767 规定所有数据包都使用表default 进行路由。可以更改和删除此规则。
默认路由时,会先根据规则0在本地路由表中查找路由,如果目的地址是本地网络或广播地址,可以在这里找到合适的路由;如果路由失败,则匹配下一条不为空的规则,这里只有32766条规则,会到主路由表中查找路由;如果失败,则匹配规则32767,即查找默认路由表。如果失败,路由将失败。这里可以看出策略路由是向前兼容的。
您还可以添加规则:
router# ip rule add [from 0/0] 表1 pref 32800
router #ip rule add from 192.168.3.112/32 [tos0x10] table 2 pref 1500 禁止
第一个命令将规则添加到规则链。规则匹配的对象是所有数据包。动作是选择路由表1的路由,这条规则的优先级是32800。
第二个命令将规则添加到规则链。规则匹配的对象是ip为192.168.3.112且tos等于0x10的数据包。使用路由表2。此规则的优先级为1500,操作为。添加后,我们可以查看系统规则的变化。
路由器# ip 规则
0: 来自所有本地查找
192.168.3.112/32 [tos0x10] 查找2 中的1500
32766: 从所有查找main
32767: 从所有查找默认
32800: 从所有查找1
上述规则以源地址为关键字,作为匹配的依据。除了源地址外,还可以使用以下信息:
from -- 源地址
to -- 目的地址(这里是选择规则时用到的,查找路由表时也会用到)
tos——ip头的tos(服务类型)字段
开发——物理接口
fwmark -- 防火墙参数
action to take 除了指定表外,还可以指定以下操作:
表表示要使用的表
nat透明网关
action 禁止丢弃数据包并发送comm.adm.prohiited 的icmp 报文
拒绝只是丢弃数据包
unreachable 丢弃数据包并发送net unreachable 的icmp 报文
好了,linux策略路由配置实例(linux 策略路由 永久保存)的介绍到这里就结束了,想知道更多相关资料可以收藏我们的网站。