最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

juniper路由策略

来源:动视网 责编:小OO 时间:2025-09-25 21:25:33
文档

juniper路由策略

第一章    路由策略在开始阅读本章之前,你应该已经非常熟悉JUNOS软件中路由策略(routingpolicy)的功用并且能够运用它。你也应当理解一个多条件策略(multitermpolicy)是如何使用匹配标准和动作来执行它的功能。最后,我们也假定你已经掌握了路由过滤器(routerfilter)和与之相关的匹配类型的相关知识。在本章,我们要探索如何在JUNOS软件中运用路由策略。我们首先要考察改变一条策略处理过程的方法,包括策略链,子程序和表达式。之后我们还要讨论利用BGP团体值和AS路
推荐度:
导读第一章    路由策略在开始阅读本章之前,你应该已经非常熟悉JUNOS软件中路由策略(routingpolicy)的功用并且能够运用它。你也应当理解一个多条件策略(multitermpolicy)是如何使用匹配标准和动作来执行它的功能。最后,我们也假定你已经掌握了路由过滤器(routerfilter)和与之相关的匹配类型的相关知识。在本章,我们要探索如何在JUNOS软件中运用路由策略。我们首先要考察改变一条策略处理过程的方法,包括策略链,子程序和表达式。之后我们还要讨论利用BGP团体值和AS路
第一章        路由策略

在开始阅读本章之前,你应该已经非常熟悉JUNOS软件中路由策略(routing policy)的功用并且能够运用它。你也应当理解一个多条件策略(multiterm policy)是如何使用匹配标准和动作来执行它的功能。最后,我们也假定你已经掌握了路由过滤器(router filter)和与之相关的匹配类型的相关知识。

在本章,我们要探索如何在JUNOS软件中运用路由策略。我们首先要考察改变一条策略处理过程的方法,包括策略链,子程序和表达式。之后我们还要讨论利用BGP团体值和AS路径信息来使用路由策略定位路由。本章之中贯穿着如何建立和运用路由策略的例子。我们还会考察一些在应用你的路由策略之前使用test policy命令来校验它们的方法。

路由策略处理过程

JUNOS软件中策略语言的一个优点(或者一个缺点,取决于你的观点)就是它的巨大灵活性。总的来说,你通常有四到五种方法来实现同一个目的。一个具有多个条件的单个策略是一种常见的构建高级策略的方法。此外,JUNOS软件允许你使用策略链、子程序、前缀列表或者策略表达式来实现同一目的。这其中的每种方法在实现方面都是独特的,从不同角度来解决问题。让我们来对它们逐个详细考察。

策略链

我们在JNCIA Study Guide中第一次引入了策略链的概念。它虽然听起来很正式,但一个策略链仅仅就是很简单的在配置的某个特定位置应用多个策略而已。在Merlot路由器上可以看到下面这个策略链:

[edit protocols bgp]

user@Merlot#show

group Internal-Peers {

type internal;

local-address 192.168.1.1;

export [ adv-statics adv-large-aggregates adv-small-aggregates ];

neighbor 192.168.2.2;

neighbor 192.168.3.3;

}

除了缺省的BGP策略,“adv-statics”、“adv-large-aggregates”和“adv-small-aggregates”这三个附加的策略组成了应用于Merlot的BGP peer的策略链。当我们查看当前应用的策略时,我们发现它们还是相当简单的:

[edit policy-options]

user@Merlot#show

policy-statement adv-statics {

term statics {

from protocol static;

then accept;

}

}

policy-statement adv-large-aggregates {

term between-16-and-18 {

from {

protocol aggregate;

route-filter 192.168.0.0/16 upto /18;

}

then accept;

}

}

policy-statement adv-small-aggregates {

term between-19-and-24 {

from {

protocol aggregate;

route-filter 192.168.0.0/16 prefix-length-range /19-/24;

}

then accept;

}

}

你可能马上就会想到一招:仅仅把这个策略链转换为单独的一个多参数策略来应用在IBGP peer来达到同样效果。这肯定是正确的。但是你就丢掉了使用策略链的一个好处:为了达到不同目的来复用策略的能力。

图1.1显示了路由器Merlot和它的IBGP peer Muscat和Chablis。此外还与在AS65010中的路由器Cabernet和在AS65030中的路由器Zinfandel建立了EBGP邻接关系。当前在AS65020中的管理策略是仅发送静态路由给其他的IBGP邻居。任何提供穿透服务的EBGP邻居都只接受掩码长度小于18位的汇聚路由。任何提供邻接服务的EBGP邻居都要接受所有的客户路由以及所有掩码长度大于19位的汇聚路由。这些管理策略的每一个单独部分都用单独的路由策略在[edit policy-option]配置层次来编写。然后它们就可以为AS 65020的管理员提供一种对邻居广播路由的多样化的配置方式

注:Cabernet为AS 65020提供穿透服务,这允许它以最大化的形式广播分配给它们的路由空间到Internet。另一方面,Zinfandel提供的邻接服务允许AS 65020直接在AS之间为所有客户路由进行路由转发。

首先配置调通与Cabernet和Zinfandel质检的EBGP邻接会话:

[edit]

user@Merlot#show protocols bgp

group Internal-Peers {

type internal;

local-address 192.168.1.1;

export [ adv-statics adv-large-aggregates adv-small-aggregates ];

neighbor 192.168.2.2;

neighbor 192.168.3.3;

}

group Ext-AS65010 {

type external;

peer-as 65010;

neighbor 10.100.10.2;

}

group Ext-AS65030 {

type external;

peer-as 65030;

neighbor 10.100.30.2;

}

[edit]

user@Merlot#run show bgp summary

Groups: 3 Peers: 4 Down peers: 0

Table        Tot Paths                Act Paths                Suppressed        History Damp                State        Pending

inet.0                 12                         10                                 0              0                            0                  0

Peer                        AS                        InPkt        OutPkt        OutQ        Flaps        Last Up/Dwn        State

192.168.2.2        65020                170                172                0                0                1:22:50                5/6/0

192.168.3.3        65020                167                170         0                 0                 1:21:39                 5/6/0

10.100.10.2        65010                30                32                 0                 0                 12:57                 0/0/0

10.100.30.2        65030                55                57                 0                 0                 24:49                 0/0/0

策略“adv-large-aggregates”被应用在了Cabernet上,用来广播子网掩码在16位和18位之间的路由。在commit这个配置之后,我们来检查被发送到AS 65010的路由:

[edit protovols bgp]

user@Merlot#set group Ext-AS65010 export adv-large-aggregates

[edit protovols bgp]

user@Merlot#commit

[edit protocols bgp]

user@Merlot#run show route advertising-protocol bgp 10.100.10.2

inet.0: 32 destinations, 36 routes (32 active, 0 holddown, 0 hidden)

Prefix                                         Nexthop                         MED                 Lclpref                 AS path

192.168.0.0/16                         Self                                                                                 I

192.168.2.0/24                         Self                                                                                 I

192.168.2.16/28                         Self                                                                                 I

192.168.2.32/28                         Self                                                                                 I

192.168.2.48/28                         Self                                                                                 I

192.168.2./28                         Self                                                                                 I

192.168.3.0/24                         Self                                                                                 I

192.168.3.16/28                         Self                                                                                 I

192.168.3.32/28                         Self                                                                                 I

192.168.3.48/28                         Self                                                                                 I

192.168.3./28                         Self                                                                                 I

汇聚路由192.168.0.0、16依据管理策略被发送出去,但是大量具有更长子网掩码的其他路由也被发送给了Cabernet。让我们先来校验一下我们是否应用了正确的策略:

[edit protocols bgp]

user@Merlot#show group Ext-AS65010

type external;

export adv-large-aggregates;

peer-as 65010;

neighbor 10.100.10.2;

策略“adv-large-aggregates”的确是正确应用了。让我们来看看其他的路由都从何而来。“show route”命令给出了重要线索:

[edit]

user@Merlot#run show route 192.168.3.16/28

inet.0: 32 destinations, 36 routes (32 active, 0 holddown, 0 hidden)

+ = Active Route, - = Last Active, * = Both

192.168.3.16/28 *[BGP/170] 05:51:24, MED 0, localpref 100, from 192.168.3.3

AS path: I

> via so-0/1/1.0

Merlot是通过与Chabolis的BGP会话学到这些路由的。因为这是一个活动的BGP路由,它依照BGP缺省策略被自动地通告出去。记住对于JUNOS软件,缺省的策略总是被应用在在所有的策略链底部。我们现在需要一个屏蔽通告这些明细路由的策略。我们创建一个叫做“not-larger-than-18”的策略来拒绝在192.168.0.0/16地址空间中的所有子网掩码等于或长于19位的路由这就保证了所有子网掩码在16位至18位的汇聚路由能够被通告—这正是我们管理策略想要的。

[edit policy-options]

user@Merlot#show policy-statement not-larger-than-18

term reject-greater-than-18-bits {

from {

route-filter 192.168.0.0/16 prefix-length-range /19-/32;

}

then reject;

}

[edit policy-options]

user@Merlot#top edit protocols bgp

[edit protocols bgp]

user@Merlot#set group Ext-AS65010 export not-larger-than-18

[edit protocols bgp]

user@Merlot#show group Ext-AS65010

type external;

export [ adv-large-aggregates not-larger-than-18 ];

peer-as 65010;

neighbor 10.100.10.2;

[edit protocols bgp]

user@Merlot#commit

commit complete

[edit protocols bgp]

user@Merlot#run show route advertising-protocol bgp 10.100.10.2

inet.0: 32 destinations, 36 routes (32 active, 0 holddown, 0 hidden)

Prefix Nexthop MED Lclpref AS path

192.168.0.0/16 Self I

看起来你的策略链工作还算正常—只有192.168.0.0/16路由被通告给了Cabernet。事实上,一旦“not-larger-than-18”策略在你的策略链中先于BGP缺省策略出现,我们就得到了想要的结果。

我们现在开始来关注Zinfandel,我们在AS 65030中的邻居。我们的管理策略表明这个邻居只能接收到大于18位的汇聚路由和所有客户路由。由于我们预期到我们会遇到同样的麻烦,我们预先创建了一个叫做“notsmaller-than-18”的策略来拒绝所有子网掩码长度在16位和18位之间的汇聚路由。此外,我们还应用了“adv-statics”和“adv-small-aggregates”这两个策略来向邻居通告那些明细路由:

[edit policy-options]

user@Merlot#show policy-statement not-smaller-than-18

term reject-less-than-18-bits {

from {

protocol aggregate;

route-filter 192.168.0.0/16 upto /18;

}

then reject;

}

[edit policy-options]user@Merlot# top edit protocols bgp

[edit protocols bgp]

user@Merlot# set group Ext-AS65030 export adv-small-aggregates

user@Merlot# set group Ext-AS65030 export adv-statics

user@Merlot# set group Ext-AS65030 export not-smaller-than-18

[edit protocols bgp]

user@Merlot# show group Ext-AS65030

type external;

export [ adv-small-aggregates adv-statics not-smaller-than-18 ];

peer-as 65030;

neighbor 10.100.30.2;

[edit protocols bgp]

user@Merlot# commit

commit complete

[edit protocols bgp]

user@Merlot# run show route advertising-protocol bgp 10.100.30.2

inet.0: 32 destinations, 36 routes (32 active, 0 holddown, 0 hidden)

Prefix Nexthop MED Lclpref AS path

192.168.1.0/24 Self I

192.168.1.16/28 Self 0 I

192.168.1.32/28 Self 0 I

192.168.1.48/28 Self 0 I

192.168.1./28 Self 0 I

192.168.2.0/24 Self I

192.168.2.16/28 Self I

192.168.2.32/28 Self I

192.168.2.48/28 Self I

192.168.2./28 Self I

192.168.3.0/24 Self I

192.168.3.16/28 Self I

192.168.3.32/28 Self I

192.168.3.48/28 Self I

192.168.3./28 Self I

192.168.20.0/24 Self 0 I

看起来策略链正在按照我们的设计来工作。实际上,在逐个配置完成我们的策略之后,我们可以在路由器上以各种组合来使用它们。另一个可以重利用你配置的某一部分的有用工具就是策略子程序,所以下面让我们来研究一下这个概念。

文档

juniper路由策略

第一章    路由策略在开始阅读本章之前,你应该已经非常熟悉JUNOS软件中路由策略(routingpolicy)的功用并且能够运用它。你也应当理解一个多条件策略(multitermpolicy)是如何使用匹配标准和动作来执行它的功能。最后,我们也假定你已经掌握了路由过滤器(routerfilter)和与之相关的匹配类型的相关知识。在本章,我们要探索如何在JUNOS软件中运用路由策略。我们首先要考察改变一条策略处理过程的方法,包括策略链,子程序和表达式。之后我们还要讨论利用BGP团体值和AS路
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top