㈠ BGP工作原理(5)
一、BGP路由信息决策过程
1、Adj-RIB-In 存放从对等体接收到的更新
当从对等体接收到Update报文时,路由器会把Update报文存储到路由信息库RIB,并指明是来自哪个对等体的;
Update报文经过BGP输入策略引擎路由过滤或修改属性;
路由器执行路径选择算法,来为每一条前缀确定最佳路径;
2、Loc-RIB 存放经过输入策略引擎、路径选择处理过的路由
得出的最佳路径被存储到本地BGP RIB中,然后将loc-RIB的路由加载到IP-RIB中;
3、Adj-RIB-Out 存放经过输出策略引擎处理过的路由
Loc-RIB中的路由在被通告给其他对等体之前,必须通过输出策略引擎,只有那些成功通过输出策略引擎的路由,才会被安装到输出RIB中;
二、BGP选路规则
1、忽略下一跳不可达的路由;
2、优选prefer-value数值大的路由; 缺省值0
3、优选Local-preference数值大的路由; 缺省值100
----------------------------------------------------4、5、6三条规则用于比较自身产生的路由
4、聚合路由优于非聚合路由;
5、手工聚合路由优于自动聚合路由;
6、network发布的路由优于import发布的路由;
7、优选as-path长度短的路由;
8、IGP起源的路由优于EGP起源的路由优于未知起源的路由;
9、优选MED数值小的路由; 缺省值0,命令compare-different-as-med修改缺省比较行为
10、EBGP路由优于IBGP路由;
11、优选下一跳IGP开销小的路由;
============================满足以上条件可选实现负载分担;
12、优选cluster-list长度短的路由; 有的有,有的没有,没有的优先
13、优选Originator-ID或RouterID小的路由; 二选一,优先比较Originator-ID
14、优选对等体地址小的路由;
三、BGP的负载分担
1、BGP路由的负载分担
到达同一目的地通常会存在多条有效路由,但是BGP只将最优路由发布给对等体;
前11个属性完全相同的情况下,可通过命令maximum load-balancing ebgp|ibgp配置BGP负载分担的最大等价路由条数,实现下发多条不同下一跳的BGP路由到IP路由表中,缺省值为1,不进行BGP路由负载分担;
如果满足负载分担条件的BGP路由数大于定义的BGP负载分担规格,继续从第12条规则比较下去;
到达同一目的地的eBGP路由和iBGP路由不能形成负载分担,如果最优路由是ibgp路由,则只是ibgp路由形成负载分担;如果最优路由是ebgp路由,则只是ebgp路由形成负载分担;
缺省情况下,BGP只对AS-path属性完全相同的路由进行负载分担,也适用于联盟内部的自治系统之间,可通过命令load-balancing as-path-ignore配置路由在形成负载分担时不比较路由的as-path属性,但是该方式可能会引起路由环路;
2、下一跳路由的负载分担
BGP区别于IGP协议的一点是其下一跳地址可以是非直连路由的接口IP,非直连的下一跳在路由器上会执行迭代路由进行查找路由表,BGP依赖下一跳路由来转发数据,所以如果下一跳地址所对应路由在IP路由表中是负载分担的(IGP的ICMP),也就间接实现了BGP报文转发的负载分担;
BGP同步
在华为VRP平台中,BGP同步默认是关闭的,并且不能手动开启;
BGP同步指BGP路由器必须与IGP同步,AS内的路由器不仅要通过BGP学习到此路由,并且要从IGP协议学习到该路由,才会将该路由通告给eBGP邻居;
除了BGP同步外,避免路由黑洞问题的方法还有IBGP全互连、RR、联盟、MPLS VPN;
四、BGP路由及默认路由
1、生成BGP路由,BGP协议自身是不能发现路由的
(1)通过network方式生成来自IGP的路由
将IP路由表中存在的路由注入进BGP,注入的路由要和IP路由表中路由的前缀和掩码一致;
network方式注入的路由,origin属性为igp;
(2)通过import-route方式引入外部路由
import-route方式引入外部路由,origin属性为incomplete;
(3)通过aggregate进行聚合的路由
自动聚合
自动聚合只能对import引入的路由进行有类聚合,不能对network方式注入的路由进行自动聚合;
自动聚合通过命令summary automatic实现,只能在引入路由的设备上生效,缺省未启用;
手动聚合
手动聚合通过命令aggregate可以对BGP路由表中的路由进行聚合;
如果聚合路由中所包含的明细路由的origin属性各不相同,那么聚合路由的origin属性按照优先级incomplete>egp>igp;
聚合路由会继承原明细路由中的所有团体属性;
聚合时可以携带关键字:
detail-suppressed 缺省手工聚合后通告所有明细路由,此参数抑制明细路由;
suppress-policy 用来实现部分抑制,部分不抑制,匹配route-policy的明细才抑制;
as-set 聚合路由as-path继承成员明细路由的AS号,缺省聚合路由会丢失明细的AS信息;
与普通as-path的segment类型as-sequence不同的是,as-set类型是一种AS号的无序集合;
对明细路由做聚合时,把所有明细路由AS-Path由前向后相同的部分放在()的前面,其余部分去重后放入();
origin-policy 有条件的聚合,只有满足route-policy匹配条件时,才生成聚合路由;
attribute-policy 用来修改聚合路由的属性;
2、默认路由
如果一台设备在网络中有多个EBGP邻居,或者存在多个路由反射器,那么该设备将会从邻居或者反射器接收全网的路由,该设备也会向本AS内的IBGP对等体发布路由,这样会极大地增加路由表的容量,通过向对等体发布缺省路由,减少对等体路由表的数量。
通过命令peer x.x.x.x default-route-advertise向对等体发布一条默认路由,可以通过route-policy来设置默认路由的属性;
参数conditional-route-match-any/all用来设置匹配条件,如果满足条件则发布默认路由;
(1)any指当匹配任一条件时,发布默认路由;
(2)all指当匹配所有条件时,发布默认路由;
㈡ 鍗庣 RT-AC54U璺鐢卞櫒鍥轰欢鍔熻兘浣跨敤璇存槑
銆銆瀹藉甫璺鐢卞櫒鍦ㄤ竴涓绱у噾鐨勭卞瓙涓闆嗘垚浜嗚矾鐢卞櫒銆侀槻鐏澧欍佸甫瀹芥帶鍒跺拰绠$悊绛夊姛鑳斤紝鍏峰囧揩閫熻浆鍙戣兘鍔涳紝鐏垫椿鐨勭綉缁滅$悊鍜屼赴瀵岀殑缃戠粶鐘舵佺瓑鐗圭偣銆傛湰绡囨枃绔犱富瑕佷粙缁嶄簡鍗庣 RT-AC54U璺鐢卞櫒鍥轰欢鍔熻兘浣跨敤璇存槑锛屾垜瑙夊緱鎸轰笉閿欑殑锛岀幇鍦ㄥ垎浜缁欏ぇ瀹讹紝涔熺粰澶у跺仛涓鍙傝冦備竴璧疯窡闅忔垜杩囨潵鐪嬬湅鍚
銆銆鍏蜂綋浠嬬粛
銆銆鍗庣 RT-AC54U杩欐捐矾鐢卞櫒鍥轰欢锛岀晫闈㈠仛鐨勫緢涓嶉敊(璧风爜姣擮penWrt瑕佸ソ鐪)锛屽姛鑳戒篃姣旇緝寮烘倣锛屼絾鏄瀵逛簬鍒氬叆鎵嬭繖涓鍥轰欢鐨勭敤鎴峰彲鑳戒細瀵规ゅ浐浠剁殑涓浜涘緢濂界敤鐨勫姛鑳芥棤浠庝笅鎵嬶紝鎵浠ヨ繖閲屾垜灏卞啓涓嬩簡杩欎釜鏂囩珷銆
銆銆鍥轰欢鐩稿叧淇℃伅
銆銆鍥轰欢婧愪唬鐮佸湴鍧锛歱adavan / rt-n56u — Bitbucket
銆銆鍥轰欢婧愪唬鐮佺紪璇戣存槑锛欻owToMakeFirmware
銆銆浣跨敤璇存槑
銆銆鎺у埗鍙拌存槑
銆銆姝ゅ勫氨鏄璺鐢卞櫒鐨勫懡浠ゆ帶鍒跺彴锛屽拰Linux鐨勫懡浠よ屾搷浣滀竴鏍枫
銆銆杩欓噷鍙浠ヤ娇鐢ㄨ剼鏈杩涜岃嚜鍔ㄥ垎娴佽剧疆銆傚姞鍏ユ櫤鑳藉垎娴佽剼鏈鍚庡氨鑳藉噺杞籚PN鐨勮礋鎷, 鍜屽炲姞璁块棶鍥藉唴缃戠珯鐨勯熷害銆
銆銆棣栭〉瑕佹湁VPN鐨勮处鍙峰瘑鐮侊紝鎺ヤ笅鏉ユ寜鐓т笅鍥捐剧疆锛
銆銆adbyby骞垮憡杩囨护鎻掍欢
銆銆淇鏀瑰畬鎴愬悗锛岃繘琛屼繚瀛樺苟杞閲嶅惎(鍙充笂瑙掔殑閲嶅惎鎸夐挳锛屼笉鏄璺鐢卞櫒涓婄殑閲嶅惎鎸夐挳)
銆銆SS鍔熻兘璁剧疆
銆銆淇鏀瑰畬鎴愬悗锛岃繘琛屼繚瀛樺苟杞閲嶅惎(鍙充笂瑙掔殑閲嶅惎鎸夐挳锛屼笉鏄璺鐢卞櫒涓婄殑閲嶅惎鎸夐挳)
銆銆杩欎釜鍥轰欢杩樻湁鍑犱釜鍔熻兘锛岃繖閲屾垜鍙浠嬬粛浜嗗嚑涓甯哥敤鐨勫姛鑳姐
銆銆鐩稿叧闃呰伙細璺鐢卞櫒瀹夊叏鐗规у叧閿鐐
銆銆鐢变簬璺鐢卞櫒鏄缃戠粶涓姣旇緝鍏抽敭鐨勮惧囷紝閽堝圭綉缁滃瓨鍦ㄧ殑鍚勭嶅畨鍏ㄩ殣鎮o紝璺鐢卞櫒蹇呴』鍏锋湁濡備笅鐨勫畨鍏ㄧ壒鎬э細
銆銆(1)鍙闈犳т笌绾胯矾瀹夊叏 鍙闈犳ц佹眰鏄閽堝规晠闅滄仮澶嶅拰璐熻浇鑳藉姏鑰屾彁鍑烘潵鐨勩傚逛簬璺鐢卞櫒鏉ヨ达紝鍙闈犳т富瑕佷綋鐜板湪鎺ュ彛鏁呴殰鍜岀綉缁滄祦閲忓炲ぇ涓ょ嶆儏鍐典笅锛屼负姝わ紝澶囦唤鏄璺鐢卞櫒涓嶅彲鎴栫己鐨勬墜娈典箣涓銆傚綋涓绘帴鍙e嚭鐜版晠闅滄椂锛屽囦唤鎺ュ彛鑷鍔ㄦ姇鍏ュ伐浣滐紝淇濊瘉缃戠粶鐨勬e父杩愯屻傚綋缃戠粶娴侀噺澧炲ぇ鏃讹紝澶囦唤鎺ュ彛鍙堝彲鎵垮綋璐熻浇鍒嗘媴鐨勪换鍔°
銆銆(2)韬浠借よ瘉璺鐢卞櫒涓鐨勮韩浠借よ瘉涓昏佸寘鎷璁块棶璺鐢卞櫒鏃剁殑韬浠借よ瘉銆佸圭璺鐢卞櫒鐨勮韩浠借よ瘉鍜岃矾鐢变俊鎭鐨勮韩浠借よ瘉銆
銆銆(3)璁块棶鎺у埗瀵逛簬璺鐢卞櫒鐨勮块棶鎺у埗锛岄渶瑕佽繘琛屽彛浠ょ殑鍒嗙骇淇濇姢銆傛湁鍩轰簬IP鍦板潃鐨勮块棶鎺у埗鍜屽熀浜庣敤鎴风殑璁块棶鎺у埗銆
銆銆(4)淇℃伅闅愯棌涓庡圭閫氫俊鏃讹紝涓嶄竴瀹氶渶瑕佺敤鐪熷疄韬浠借繘琛岄氫俊銆傞氳繃鍦板潃杞鎹锛屽彲浠ュ仛鍒伴殣钘忕綉鍐呭湴鍧锛屽彧浠ュ叕鍏卞湴鍧鐨勬柟寮忚块棶澶栭儴缃戠粶銆傞櫎浜嗙敱鍐呴儴缃戠粶棣栧厛鍙戣捣鐨勮繛鎺ワ紝缃戝栫敤鎴蜂笉鑳介氳繃鍦板潃杞鎹㈢洿鎺ヨ块棶缃戝唴璧勬簮銆
銆銆(5)鏁版嵁鍔犲瘑
銆銆涓轰簡閬垮厤鍥犱负鏁版嵁绐冨惉鑰岄犳垚鐨勪俊鎭娉勬紡锛屾湁蹇呰佸规墍浼犺緭鐨勪俊鎭杩涜屽姞瀵嗭紝鍙鏈変笌涔嬮氫俊鐨勫圭鎵嶈兘瀵规ゅ瘑鏂囪繘琛岃В瀵嗐傞氳繃瀵硅矾鐢卞櫒鎵鍙戦佺殑鎶ユ枃杩涜屽姞瀵嗭紝鍗充娇鍦↖nternet涓婅繘琛屼紶杈擄紝涔熻兘淇濊瘉鏁版嵁鐨勭佹湁鎬с佸畬鏁存т互鍙婃姤鏂囧唴瀹圭殑鐪熷疄鎬с
銆銆(6)鏀诲嚮鎺㈡祴鍜岄槻鑼
銆銆璺鐢卞櫒浣滀负涓涓鍐呴儴缃戠粶瀵瑰栫殑鎺ュ彛璁惧囷紝鏄鏀诲嚮鑰呰繘鍏ュ唴閮ㄧ綉缁滅殑绗涓涓鐩鏍囥傚傛灉璺鐢卞櫒涓嶆彁渚涙敾鍑绘娴嬪拰闃茶寖锛屽垯涔熸槸鏀诲嚮鑰呰繘鍏ュ唴閮ㄧ綉缁滅殑涓涓妗ユ併傚湪璺鐢卞櫒涓婃彁渚涙敾鍑绘娴嬶紝鍙浠ラ槻姝涓閮ㄥ垎鐨勬敾鍑汇
銆銆(7)瀹夊叏绠$悊
㈢ pptp涓嶉渶瑕佸~瀵嗛挜
pptp涓嶉渶瑕佸~瀵嗛挜濡備笅
MPPE鍏跺疄涓鑸灏辨槸鐢ㄤ簬PPTP鐨勪竴绉嶅姞瀵嗗崗璁锛屼竴鑸琍PTP灏辨槸鍩轰簬杩欎釜鐨勩備絾鏄锛岃繖涓鍗忚鏈韬鏄鍩轰簬瀵嗛挜鍔犲瘑鐨勶紝涔熷氨鏄鍙﹀栫殑涓绯诲垪鍚嶈瘝锛
Microsoft Challenge Handshake Authentication Protocol (MS-CHAP),
Microsoft Challenge Handshake Authentication Protocol version 2 (MS-CHAP v2),
Extensible Authentication Protocol-Transport Level Security (EAP-TLS)
涓婅堪涓変釜璁よ瘉鐢ㄦ潵鎻愪緵瀵嗛挜銆備簬鏄灏卞紩鍑轰簡鏈鍚庣殑闂棰橈紝鑳藉惁琚鎴鑾枫傚叾瀹炴埅鑾风殑杩欎釜闂棰樺繀鐒跺瓨鍦锛屾埅鑾锋湰韬灏辨槸鎶撳埌鎶ユ枃銆備絾鏄鎶撳埌鎶ユ枃涓嶄唬琛ㄨ兘澶熻В鏋愬嚭鍏朵腑鍚涔夈傛墍浠ョ牬璇戠殑闂棰樿嚦鍏抽噸瑕併侻PPE鏈夌‖浼わ紝纭浼ゅ氨鏄涓鏃﹀瘑閽ョ煡閬撲簡锛岄偅灏卞交搴曡鐮磋瘧浜嗐傜浉姣斾箣涓嬶紝OpenVPN灏辨瘮PPTP濂戒簡锛岃嚦灏慜penVPN涓嶆槸閭d箞瀹规槗琚鐮磋瘧锛堟垜涔熷彧鏄鍚鍒浜鸿ㄨ猴紝瀵规よ█璁轰笉璐熷叾浠栬矗浠伙級銆備絾鏄疧penVPN鍦ㄤ娇鐢ㄤ笂鍙鑳芥湁寰堝ぇ灞闄愭э紝姣曠珶鐜板湪鐨勬墜鎸佺粓绔璁惧囧苟涓嶆槸閮芥敮鎸佺殑銆傝孭PTP鍒欐槸鏀鎸佺殑鍗佸垎骞挎硾锛屽敮涓鐨勯棶棰樺彲鑳芥槸杩愯屽晢鐨勯棶棰樸傝繍琛屽晢闈炶佸皝鎴慞PTP锛屾垜涔熸病鍔炴硶銆傚傛灉瀵瑰姞瀵嗚佹眰骞堕潪鏃跺垎閲嶈嗙殑鎯呭喌涓嬶紝浣跨敤濂界殑瀵嗙爜鏈哄埗锛屼娇鐢≒PTP涔熸槸鍙浠ョ殑銆