世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

分享:《路由表的创建和添加》

[复制链接]
查看: 2598 |回复: 0
1
世纪电源网-SUN
  • 积分:1748
  • |
  • 主题:73
  • |
  • 帖子:216
积分:1748
LV6
高级工程师
  • 2019-8-2 09:45:23
路由一般分为:静态路由,动态路由和策略路由
策略路由可以说是一种高级的静态路由,但是又与静态路由不同。普通的静态路由(也包括动态路由)是按照数据包的目的地址来进行路由,而策略路由是按照数据包的源地址来进行路由。在同一台路由器上如果配置了策略、静态、动态三种路由,路由器接口首先对入站的数据包源地址进行判断有没有匹配在此接口上配置的策略路由的数据流,如果有,则按照策略路由的配置转发数据包。如果没有,则按普通数据包情况路由。具体是静态路由协议优先还是动态路由协议优先(去往同一个目的地址根据路由协议的不同有多条路径),要看你在此路由器上定义的管理具体大小,管理距离越小则此种路由协议的可信度越高,则优先选用该种路由协议。而管理距离的默认值又根据各厂家路由器的不同而不同。
(策略路由的优先级最高)
Linux最多可以支持255张路由表,其中有3张表是内置的:
255 本地路由表(Local table) 本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
254 主路由表(Main table) 如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如route)所添加的路由都会加到这个表。一般是普通的路由。
253 默认路由表 (Default table) 一般来说默认的路由都放在这张表,但是如果特别指明放的也可以是所有的网关路由。
0 保留

策略性路由
策略性是指对于IP包的路由是以网络管理员根据需要定下的一些策略为主要依据进行路由的。例如我们可以有这样的策略:所有来直自网A的包,选择X路径;其他选择Y路径,或者是所有TOSA的包选择路径F;其他选者路径K”
策略性路由机制与传统的路由算法相比主要是引入了多路由表以及规则的概念。
多路由表(multiple Routing Tables
传统的路由算法是仅使用一张路由表的。但是在有些情形底下,我们是需要使用多路由表的。例如一个子网通过一个路由器与外界相连,路由器与外界有两条线路相连,其中一条的速度比较快,一条的速度比较慢。对于子网内的大多数用户来说对速度并没有特殊的要求,所以可以让他们用比较慢的路由;但是子网内有一些特殊的用户却是对速度的要求比较苛刻,所以他们需要使用速度比较快的路由。如果使用一张路由表上述要求是无法实现的,而如果根据源地址或其它参数,对不同的用户使用不同的路由表,这样就可以大大提高路由器的性能。
规则(rule
规则是策略性的关键性的新的概念。我们可以用自然语言这样描述规则,例如我门可以指定这样的规则:
规则一:所有来自192.16.152.24IP包,使用路由表10, 本规则的优先级别是1500”
规则二:所有的包,使用路由表253,本规则的优先级别是32767”
我们可以看到,规则包含3个要素:
什么样的包,将应用本规则(所谓的SELECTOR,可能是filter更能反映其作用);
符合本规则的包将对其采取什么动作(ACTION),例如用那个表;
本规则的优先级别。优先级别越高的规则越先匹配(数值越小优先级别越高)。
策略路由和静态路由:
QQ截图20190802094144.png
策略路由可以使数据包按照用户指定的策略进行转发。源地址路由就是指定具体的主机从具体的WAN口访问外网)
若针对内网所有IP地址且目的地址明确的,可使用静态路由,配置较简单;若涉及内网分地址段或者访问端口的,建议使用策略路由。需要注意的是,策略路由配置是自上往下匹配的,设置时需注意顺序。
策略路由实际用法:
1.首先我们要创建一个路由表,路由表的相关命令全部用ip一系列命令实现:
这里使用ip routeadd table + 表的编号(0-255其中有几个已经用到了) viavia的作用是指定网关的出口ip,这个和route添加静态路由用的gw参数一样的效果)+ip dev +网卡设备名称(我们也可以不用dev参数,如果只有一个网卡的话)
举例说明:ip route add table 3 via 10.0.0.1/24 dev ethX (ethx10.0.0.1所在的网卡,3 是路由表的编号)
意思是创建了一张标号为3的路由表,路由表的网关ip10.0.0.1 子网掩码为255.255.255.0 这张表对于网卡ethX有效
ip route add 192.168.0.0/24 via 192.168.1.2 table 3 3号表中添加一条到192.168.0.0网段的路由为192.168.1.2(添加ip网段)
2.进行路由时,根据路由规则来进行匹配,按优先级(pref)从低到高匹配,直到找到合适的规则。现在我们已经有了一张路由表,但是现在这张表里面是空的,现在我们就需要向这张表里面添加规则。(规则就类似于使用route -n命令显示的主路由表信息)
ip rule add from 192.203.80/24 table inr.ruhep(或者表编号) prio 220 通过路由表 inr.ruhep 路由来自源地址为192.203.80/24的数据包 (这条路由规则的优先级为220)
ip rule add from 193.233.7.83 nat 192.203.80.144 table 3 prio 320 把源地址为193.233.7.83的数据报的源地址转换为192.203.80.144,并通过表3进行路由 (这里的源地址是从数据包来看的 这条规则制定的是从193.233.7.83来的数据包,所以这条规则的意思就是将来自193.233.7.83的数据包的源地址ip转换成192.203.89.144,在路由器中设置这个代表的就是我内网的ip193.233.7.83pc的数据包到了路由器之后,会把源地址的ip转换成wanip地址,然后发送出
去。实际就是个路由转发)
如果pref值不指定,则将在已有规则最小序号前插入
注:创建完路由规则若需立即生效须执行#ip routeflush cache;刷新路由缓冲
可参数解析如下: &n
From-- 源地址
To -- 目的地址(这里是选择规则时使用,查找路由表时也使用)
Tos -- IP包头的TOStype ofsevice)域Linux高级路由-
Dev -- 物理接口
Fwmark -- iptables标签
采取的动作除了指定路由表外,还可以指定下面的动作:
Table 指明所使用的表
Nat 透明网关
Prohibit 丢弃该包,并发送 COMM.ADM.PROHIITEDICMP信息
Reject 单纯丢弃该包
Unreachable丢弃该包, 并发送 NETUNREACHABLEICMP信息
具体格式如下:更强大,使用更灵活,它使网络管理员不仅能
Usage:ip rule[ list |add | del] SELECTORACTION
SELECTOR:= [ fromPREFIX] [ to PREFIX] [ tos TOS ][ dev STRING] [ prefNUMBER]
ACTION := [ table TABLE_ID] [ nat ADDRESS ][ prohibit | reject | unreachable]
[ flowid CLASSID]
TABLE_ID:= [ local| main | default | new| NUMBER]
3.如果我们需要删除指定的策略路由的规则,则使用ip rule del命令删除规则信息
例如:ip rule del from 193.233.7.83 nat 192.203.80.144 table 3 prio 320 其实就是把add修改成为del
4.我们在新建的路由表中也必须创建默认路由,否则可能不能上网,建议将默认路由添加到table表的最下面(规则除了优先级之外,就是从上到下依次匹配)
例如:ip route add default via 192.168.0.1 dev eth0 via 192.168.0.1 是我的默认路由器
5.查看表的信息的话可以使用
ip route list table table_number(表的编号)
ip route list table table_name(表的名称)


热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦5层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)28285637 /(13823562357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报

Copyright 2008-2019 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348