OSPF集合

OSPF**認證完整總結**

OSPF的認證有確切說是3種,OSPF頭裏其中認證字段0表示無認證, 1表示明文認證, 2表示MD5認證。明文認證發送密碼進行認證,而MD5認證發送的是報文摘要。有關MD5的詳細信息,可以參閱RFC1321.

OSPF的認證可以在鏈路上進行,也可以在整個區域內進行認證。另外虛鏈路同樣也可以進行認證。

img

虛鏈路配置:兩個ABR之間ospf進程下,指的是對方router-id 區域是中間穿越區域

area 1(中間穿越區域) virtual-link 3.3.3.3 (對方ABR router-id)

area 1(中間穿越區域) virtual-link 2.2.2.2 (對方ABR router-id)

注意:雙方的RID不需要路由能通!

基於接口認證

1. 在**R1R2的串行鏈路上進行OSPF**明文認證:

(config-if)#ip ospf authentication**(啓用認證)**

(config-if)#ip ospf authentication-key cisco**(配置密碼)**

只有一端開啓通過debug工具我們可以看到如下信息:

*Aug 15 22:51:54.275: OSPF: Rcv pkt from 10.1.1.2, Serial1/0 : Mismatch Authentication type. Input packet specified type 0**,** we use type 1

這裏的type0是指對方沒有啓用認證,type1是明文認證。

2.**R2R3的串行鏈路上進行MD5認證的:**

(config-if)#ip ospf authentication message-digest**(定義認證類型爲MD5 (config-if)#ip ospf message-digest-key 1 md5 cisco(定義key**和密碼)

#show ip ospf int s1/0

Serial1/0 is up, line protocol is up

Internet Address 11.1.1.2/24, Area 1

Process ID 10, Router ID 3.3.3.3, Network Type POINT_TO_POINT, Cost: 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

​ oob-resync timeout 40

​ Hello due in 00:00:05

Index 1/1, flood queue length 1

Next 0x648352C8(13)/0x0(0)

Last flood scan length is 1, maximum is 2

Last flood scan time is 0 msec, maximum is 0 msec

​ Flood pacing timer due in 0 msec

Neighbor Count is 1, Adjacent neighbor count is 1

​ Adjacent with neighbor 2.2.2.2

Suppress hello for 0 neighbor(s)

Message digest authentication enabled

Youngest key id is 1

所以要修改鏈路的MD5認證的密碼時,可以先將新的密碼配置到啓用認證的路由器後在將原來的密碼刪除,這樣的話可以保證在修改配置的時候鄰居關係依然存在。

區域**認證方法**(私有技術)

接口定義密鑰,區域啓用

  明文認證**
  
Router(config-if)#ip ospf authentication-key cisco啓用明文密鑰
  
Router(config-router)#area 1 authentication聲明明文認證**

  密文認證
  Router(config-if)#ip ospf message-digest-key 1 md5 cisco 啓用密文密鑰
  Router(config-router)#area 0 authentication message-digest 聲明密文認證

如果R2在區域0採用認證,且重啓進程,對於虛鏈路而言:

R2#sho ip ospf virtual-links

Virtual Link OSPF_VL0 to router 3.3.3.3 is up

Run as demand circuit

DoNotAge LSA allowed.

Transit area 1, via interface Serial1/1, Cost of using 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

​ Hello due in 00:00:06

Simple password authentication enabled

R3#sho ip ospf virtual-links

Virtual Link OSPF_VL0 to router 2.2.2.2 is up

Run as demand circuit

DoNotAge LSA allowed.

Transit area 1, via interface Serial1/0, Cost of using 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

Hello due in 00:00:04

因爲virtual-link屬於Area0,因此在R2配置完成Area0區域認證後,R3也需要相應的配置。

R3(config)#router ospf 10

R3(config-router)#area 0 authentication

R3(config-router)#

*Aug 15 23:32:57.175: %OSPF-5-ADJCHG: Process 10, Nbr 2.2.2.2 on OSPF_VL0 from LOADING to FULL, Loading Done

R2#sho ip ospf virtual-links

Virtual Link OSPF_VL0 to router 3.3.3.3 is up

Run as demand circuit

DoNotAge LSA allowed.

Transit area 1, via interface Serial1/1, Cost of using 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

​ Hello due in 00:00:05

​ Adjacency State FULL (Hello suppressed)

​ Index 3/4, retransmission queue length 0, number of retransmission 1

​ First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)

​ Last retransmission scan length is 1, maximum is 1

​ Last retransmission scan time is 0 msec, maximum is 0 msec

Simple password authentication enabled

虛鏈路在建立起來後是不老化LSA,所以如果沒有重啓OSPF進程的話,即使一端配置了認證,虛鏈路也是不會斷開的。

   虛鏈路**認證方法**

  明文認證

(config-router)#area 2 virtual-link 3.3.3.3 authentication-key cisco 啓用明文(config-router)#area 2 virtual-link 3.3.3.3 authentication聲明明文認證

 密文認證

(config-router)#area 2 virtual-link 3.3.3.3 message-digest-key 1 md5 cisco
(config-router)# area 2 virtual-link 3.3.3.3 authentication message-digest

只支持等價負載均衡

默認4條,最大16條

Router(config-router)#maximum-paths 16

接口下修改優先級和cost

r1(config-if)#ip ospf priority 2**------大好**

r1(config-if)#ip ospf cost 65535

通告默認路由

r3(config-router)#default-information originate metric 100

r3(config)#ip route 0.0.0.0 0.0.0.0 null 0

兩個ABR連接兩個ISP,提供熱備冗餘備份。經測試,在骨幹區域ABR打入這個命令會向骨幹和非骨幹都會通告,但一般用在邊界的兩個ABR上面。全ospf通告泛洪

r1(config-router)#default-information originate metric 100--通告默認,但是這個默認必須提前在路由表中

r1(config-router)#default-information originate always metric 15---即使我路由表中沒有默認,也會自動創建一個廣播出去,且還有一個作用,減少默認路由抖動引起的數據庫操作,保證數據庫穩定。因爲我R1就沒有產生一個默認路由,就無從談起默認路由抖動問題了。默認metric爲1

r1(config-router)#default-information originate always metric 15 metric-type 1-----其他路由器收到,這個15的外部cost值加上自己去ASBR(誰通告默認誰是ASBR)的cost值。在有多條鏈路去往ASBR的環境中適用。默認是oe2

ACL匹配路由:

r1(config)#access-list 1 per 3.3.3.0 0.0.0.255

r1(config)#route-map aaa per 10

r1(config-route-map)#match ip add 1

r1(config-route-map)#exit

----------------------------------------------------------------

前綴列表匹配路由:

ip prefix-list aaa seq 1 permit 34.1.1.0/24

ip prefix-list aaa seq 2 permit 35.1.1.0/24!

!

route-map aaa permit 10

match ip address prefix-list aaa

exit

------------------------------------------------------------------------------------------

r1(config)#router ospf 100

r1(config-router)#default-information originate always route-map aaa

在我是ASBR,連接一個後面路由器,這個路由器連接互聯網,我作爲R1,只有路由表中有3.3.3.0的路由纔會向自己的ospf區域通告一個默認路由

路由彙總

ABR區域彙總:

area area-id range ip-address mask not-advertise**(不通告,就是抑制他,過濾LSA-3。路由聚合只針對域內路由做聚合,不能針對區域間路由做聚合)**

ASBR外部路由彙總:

summary-address ip-address mask

地址彙總計算方法:

1、簡單的 ,同一子網的彙總

192.168.1.0/24

192.168.2.0/24

192.168.3.0/24

192.168.4.0/24

192.168.5.0/24

192.168.6.0/24

判斷第幾位發生變化,轉換成二進制

192.168.00000 001.0/24

192.168.00000 010.0/24

192.168.00000 011.0/24

192.168.00000 100.0/24

192.168.00000 101.0/24

192.168.00000 110.0/24

將不變的位保留下來作爲子網掩碼的位數= 16+5=21

你也可以算變化的位 24-3=21

變化的位全部值0 那麼這個時候的網絡地址就是彙總後的地址

192.168.00000000.0/21=192.168.0.0/21

255.255.248.0

複雜一丁點的,不同子網的彙總

202.12.133.1/25 = 202.12.0.0/16

202.78.56.8/26 = 202.78.0.0/16

202.65.145.56/27 = 202.65.0.0/16

202.23.123.156/28 = 202.23.0.0/16

首先判斷是第幾段的地址位發生變化,後面的可以忽略

彙總成這個段的地址的主網絡號

其次使用上面簡單的處理方法

202.0 0001100.0.0/16

202.0 1001110.0.0/16

202.0 1000001.0.0/16

202.0 0010111.0.0/16

彙總後 子網爲8+1=9 或者16-7=9

202.00000000.0.0/9

轉發地址不可達情況

(config-router)#area 15 nssa translate type7 suppress-fa

ABR的路由器只有存在轉發地址的OSPF路由時候,纔會進行7轉5. 如果我的轉發地址不可達,可在NSSA區ABR處把轉發地址設置成0.0.0.0,默認是NSSA區域的ASBR的router-id。如果是0.0.0.0就是代表直接去找7轉5的ABR,不用去找轉發地址了

其他路由器收到這個external的lsa後,還要檢查是否有到達轉發地址的路由,這個去往轉發地址的路由必須是通過OSPF學習到的!如果沒有,不會參與計算

可用靜態路由測試!!!!!!!!!!!

--------------------------------------------------------------------------------------

img

img

過濾LSA-3:

該命令用來在ABR上作summary lsa過濾,如果是骨幹區域(非骨幹區域),就防止從其他非骨幹區域(骨幹區域)轉換到該區域符合特定條件的summary lsa生成,過濾徹底。對應IOS命令爲:

ip prefix-list bbb seq 1 deny 67.1.1.0/24

ip prefix-list bbb seq 2 permit 0.0.0.0/0 le 32

ABR(config-router)# area area-id filter-list prefix bbb in

如果是骨幹區域(非骨幹區域),就阻止從該區域轉換到其他非骨幹區域(骨幹區域)符合特定條件的summary lsa生成,過濾徹底。對應IOS命令爲:

Router(config-router)# area area-id filter-list prefix AAA out

img

img

T**unnel下啓用ospf:只是通告tunnel接口IP地址,分析兩層IP頭部**

:tunnel源是自己物理接口,目的是對方物理IP地址,用於封裝外層IP頭部,在使用一條默認只想對方物理IP地址,tunnel接口才能使用,再在tunnel接口運行動態路由協議

r1(config-if)#ip ospf hello-interval 10----hello發送時間

r1(config-if)#ip ospf dead-interval 40----hello死亡時間

r1(config-if)#ip ospf retransmit-interval 5-----LSU重傳時間

r1(config-if)#ip ospf transmit-delay 1-------age每次加一秒

r1(config-if)#ip ospf flood-reduction-----抑制hello和30分鐘刷新時間(有問題點,測試不成功)

r1(config-router)#timers pacing lsa-group 240-----30分鐘刷新時間後延時240秒,等待更多的LSA延時,以便組成一個組更新,這樣更加節省CPU資源,數據庫大,這個時間可以相對應設置小一點

Timers spf delay interval ---- 用於修改SPF計算的延遲和間隔,默認時間爲 5s/10s

(config-if)#ip ospf dead-interval minimal hello-multiplier 3----hello是333毫秒,1秒除以3得到的

修改接口網絡類型!!!點對點

管理距離

r1(config-router)#distance 110-------全部都改

​ OR

r1(config-router)#distance ospf intra-area 10 inter-area 10 external 150

r1(config-router)#distance 110 1.1.1.1 0.0.0.0---從1.1.1.1的router-id學到的路由修改AD值(如指向直連鄰居,且直連不是ABR,ABR在這個直連後面。對於這個直連的直連接口網段不起作用,但對於對方換回接口可以,指向後面的ABR更完美)如果修改的是區域間路由,後面IP地址設置爲ABR的RID,如果修改的是域內路由指向ABR的RID不會生效,因爲域內路由不是ABR給我的,反之,如果修改遇見路由把IP地址設置爲我域內一臺路由器的RID也不會生效,因爲區域間路由不是域內路由器通告給我的,而是ABR通告被我的!

r1(config)#access-list 99 per 3.3.3.0 0.0.0.255

r1(config-router)#distance 130 1.1.1.1 0.0.0.0 99---從router-id爲1.1.1.1收到的3.3.3.0修改它的AD值130

r1(config-router)#distance ospf inter-area 10(區間) intra-area 20 (區域內)external 30----修改域內,區域間,及外部路由AD值

改變外部路由的metric值

r1(config-router)#default-metric 20

但是如果在重分發時候手工已經指定metric,手工指定的優先

注意:充分發直連接口進來不會生效!!!

修改參考帶寬值

r1(config-router)#auto-cost reference-bandwidth 1000

一個路由器,有個G藉口,有個F接口,但算出來的cost值都是1,不公平!全局生效。單位是M

這個1000M實際是替代10的8次方

1G==1 000 000 000

100M==1 000 000 00

Distribute-list過濾

r1(config)#access-list 1 deny 3.3.3.0 0.0.0.255

r1(config)#access-list 1 deny 4.4.4.0 0.0.0.255

r1(config)#access-list 1 permit any

r1(config)#router ospf 100

r1(config-router)#distribute-list 1 in

過濾acl匹配的路由進入我的路由表,但數據庫中仍在,也會更新給別人

利用前綴列表來匹配路由條目:

ip prefix-list aaa seq 1 deny 192.168.100.0/24

ip prefix-list aaa seq 2 permit 0.0.0.0/0 le 32

router ospf 100

distribute-list prefix aaa in

exit

r1(config)#access-list 1 deny 3.3.3.0 0.0.0.255

r1(config)#access-list 1 deny 4.4.4.0 0.0.0.255

r1(config)#access-list 1 permit any

r1(config)#router ospf 100

rr1(config-router)#distribute-list 1 in f0/0

從f0/0接口進來的3.3.3.0和4.4.4.0的LSA計算路由的時候忽略;不能進入我的路由表,但要防止他能從其他接口進來

r1(config-router)#distribute-list 1 out

r1(config-router)#distribute-list 1 out f0/0

不會把自己的路由條目通告出去,但是ospf是通告lsa,所以這兩條命令對於ospf無效

r1(config)#access-list 1 permit 4.4.4.0 0.0.0.255

r1(config)#router ospf 100

r1(config-router)#distribute-list 1 out rip

只允許RIP路由4.4.4.0能進入我的數據庫,用於控制重分佈進來的路由進入我的數據庫(ASBR處配置)

ip prefix-list aaa seq 1 deny 34.1.1.0/24

ip prefix-list aaa seq 2 permit 0.0.0.0/0 le 32

r1(config)#router ospf 100

r1(config-router)#distribute-list prefix aaa in

從我的鄰居收到ospf路由,能進我的數據庫,但是34.1.1.0不能進入我的路由表

防止**LSA**向這個接口泛

僅支持**NBMA和多點接口下應用,相應接口下面必須配置(config-if)#ip os network point-to-multipoint**

(config-router)#nei 1.1.1.1 database-filter all out------基於鄰居的

r1(config-if)#ip ospf database-filter all out------------基於接口的

在**NBMA接口定義鄰居死亡後hello**的查詢間隔

r1(config-router)#nei 1.1.1.1 poll-interval 90------NBMA下鄰居死亡後仍然向這個接口發hello!!!點對多點接口不能使用這個

修改優先級

r1(config-router)#nei 1.1.1.1 priority 10----------對於1.1.1.1來說,我的優先級是10

r1(config-if)#ip ospf priority 10-------我這個接口優先級是10

最大router-id爲DR

被動接口

(config-router)#passive-interface s0/1

這個接口不發送**ospf**報文

r1(config-router)#passive-interface default

r1(config-router)#no passive-interface s0/1

所有接口置爲**passive,除了S0/1以外。R1連接100個分支,且只和R2建立ospf鄰居情況,這100個分支又包含在network**語句中

重分發

重分發**BGP默認cost==1,其他協議====2**

重點講解**route-map與重分發的配合問題,能match什麼,set**什麼??

不能把默認靜態充分發進OSPF

按需鏈路(收費鏈路)禁止**hello30**分鐘更新(需支持按虛鏈路,DC置位)但是需要在特定接口網絡類型中:point-to-point

(config-if)#ip ospf demand-circuit

donotage**標記**

(config-if)#ip ospf flood-reduction---**--發送帶有donotage標記的LSA給鄰居,讓鄰居age時間一直不變,相當於我這端每30分鐘泛洪功能沒有了,主要應用與大網中網絡環境很穩定,每30**分鐘發送更新沒有必要的情況下

MTU**不匹配**

鄰居起不來!!!!一直停留在**exstart狀態,因爲交換DBD數據庫描述包,DBD描述包裏有個MTU值,如果不匹配,我發的描述包對方不給確認,我會一直重發DBD描述包給對方,且狀態一直停留在exstart**狀態

r1(config-if)#ip ospf mtu-ignore------**忽略MTU檢查(小的一方)**

或者修改接口下面的**MTU,但以太接口不能修改MTU**

記錄ospf鄰居狀態

Router ospf 100

Log-adjacency-chenge [detail]-----------在控制檯顯示

Logging bufferad 4096 debugging-----------把ospf鄰居變化存放到內存

Show logging------------------------------------查看日誌

兩個ABR選路問題**一個區域兩個ABR,且COST相同,是走負載嗎?不是,選擇router-id大的轉發**

OSPF與BGP協議聯動

在存在備份鏈路的情況下,BGP在鏈路回切時,由於路由收斂速度滯後於OSPF路由收斂速度,從而造成流量丟失。

圖1所示,四臺設備RouterA、RouterB、RouterC、RouterD之間運行OSPF協議,並建立IBGP連接。RouterC爲RouterB的備份設備。當網絡環境穩定時,BGP與OSPF在設備上是完全收斂的。

正常情況下,從RouterA到10.3.1.0/30的流量會途經RouterB。當RouterB發生故障後,流量切換到RouterC。RouterB故障恢復以後,流量回切到RouterB,此時會有流量丟失。

這是因爲,在流量回切到RouterB的過程中,IGP收斂速度比BGP快,因此OSPF先收斂,BGP還沒有完成收斂,導致RouterB不知如何到達10.3.1.0/30。

這樣,當從RouterA去往10.3.1.0/30的流量被髮送給RouterB時,由於沒有必要的路由選擇信息,這些流量就會被丟棄。

圖1 OSPF與BGP聯動
img

R**outer OSPF**

M**ax-metric router-lsa on-starup 5分鐘**

OR

M**ax-metric router-lsa wait-for-bgp**

幀中繼

1,Ospf neighbor 1.1.1.1與ip ospf network broadcast

img

三個點,在同一個網段,全互聯PVC

由於幀中繼的NBMA環境不支持廣播,可使用neighbor命令指定發送hello報文或者直接把NBMA配置成廣播環境也行,二選其一

全互聯情況下,C選DR和路由器B選成BDR,其實在全互聯情況下選DR和BDR沒有什麼用處,但是如果非全互聯環境就不一樣了

但是全互聯有一個致命缺點:費用太昂貴

{(n)(N-2)}/2 就是5臺設備需要10個PVC,10臺設備需要45個PVC,11臺設備在額外增加11個PVC,可以採用hub-and-spoke聯網技術

hub-and-spoke聯網技術

img

img

img

img

img

路由器C被選成DR,因爲他的router-id最大,所有路由器與DR鄰接,B和C之間沒有直連,所以B不能成爲DR的鄰接鄰居!!解決:路由器A始終成爲DR,B和C優先級設爲0就可以了

修改完成,三臺設備路由表互相收斂完成,測試:

A ping 2.2.2.2 !!!!!

Ping 3.3.3.3 !!!!!

B ping 1.1.1.1 !!!!

Ping 3.3.3.3 ..........

C ping 1.1.1.1 !!!!!

Ping 2.2.2.2 ........

原因:B和C認爲他們有直連關係,因爲他們在同一個子網,而且網絡類型爲廣播,在B的路由表中:去往3.3.3.3下一條直接是C的S0接口,但是他們實際沒有直連PVC,肯定不通,必須讓A作爲中轉才能通,解決方案:增加一個MAP映射

Frame-relay map ip 10.1.1.3 110 broadcast-----------------B

Frame-relay map ip 10.1.1.2 120 broadcast-----------------C

img

img

ip ospf network point-to-multipoint

ip ospf network point-to-multipoint------點對多點網絡,我一個接口連接多個點對點

HUB可以配置成point-to-multipoint,兩個分支可以配置成point-TO-POINT網絡類型,但是鄰居關係出不來,因爲hello時間不匹配,因爲多點網絡hello是30s,點對點式10s

Ip ospf hello-interval 30----B和C

IP OSPF POINT-TO-POINT

img

所有路由器沒有打ip ospf network point-to-point, A只能和C形成鄰居關係,因爲子接口是point-TO-point情況下網絡類型也是point-TO-point,匹配的,但是B使用的物理接口,接口ospf網絡類型任然是NO-BROADCAST非廣播類型,A和B肯定無法建立鄰居關係,解決:B處手工指定鄰居或者在B接口使用ip ospf network point-to-point解決!!!!!

幀中繼下子接口反向ARP自動失效!!!!!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章