Routing

OSPF:quagga 和 HP ProCurve 不說話

  • July 8, 2011

這個問題與上一個關於 OSPF 路由的問題有關。

根據對上一個問題的建議,我現在自己製作了一張網路圖,確定了骨幹區域和所有其他區域,並開始在各種路由器上配置 OSPF。所有 HP ProCurve 7102dl 路由器都與每個路由器通信,並且工作正常。但是,在所有 Linux 伺服器的區域內路由器上,我使用的是 quagga(版本 0.99.10,來自 debian lenny),這根本不起作用。

以下是一些範例: 在一個特定區域,主要網路是 192.168.51.0/24,Linux 路由器和 HP 路由器在該網路中都有一個介面。HP 路由器有通往其他 HP 路由器的 VPN 隧道,並將整個子網連接到外部世界。Linux 路由器後面是 192.168.52.0/24 上的另一個子網。當我查看這些介面的 OSPF 配置時,我得到以下資訊:

Linux路由器:

uk-swa-bps01# show ip ospf interface eth0
eth0 is up
 ifindex 2, MTU 1500 bytes, BW 0 Kbit <UP,BROADCAST,RUNNING,MULTICAST>
 Internet Address 192.168.51.1/24, Broadcast 192.168.51.255, Area 0.0.0.51
 MTU mismatch detection:enabled
 Router ID 192.168.51.1, Network Type BROADCAST, Cost: 10
 Transmit Delay is 1 sec, State DR, Priority 1
 Designated Router (ID) 192.168.51.1, Interface Address 192.168.51.1
 No backup designated router on this network
 Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
 Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
   Hello due in 6.595s
 Neighbor Count is 0, Adjacent neighbor count is 0

uk-swa-bps01# show ip ospf database
  OSPF Router with ID (192.168.51.1)

           Router Link States (Area 0.0.0.51)

   Link ID         ADV Router      Age  Seq#       CkSum  Link count
   192.168.51.1    192.168.51.1    1335 0x80000016 0xabf6 2

在 HP 路由器上:

bps-test-vpn#show ip ospf interface ethernet 0/2
eth 0/2 is UP, line protocol is UP
 IP address: 192.168.51.254 255.255.255.0, Area: 0.0.0.51
 Router ID: 192.168.51.254, Network type: Broadcast, Cost: 1
 Transmit delay: 1, State: DR, Priority: 1
 Designated Router (ID): 192.168.51.254, Interface Address: 192.168.51.254
 Backup Designated Router (ID): 0.0.0.0, Interface Address: 0.0.0.0
 Timer intervals: Hello: 10, Dead: 40, Retransmit: 5
   Hello due in: 00:00:05
 Number of neighbors: 0, Adjacent neighbors: 0

bps-test-vpn#show ip ospf 0 database 

OSPF router with ID: 192.168.51.254

 Router Link States, Area 0
   Link ID          Adv Router        Age     Seq #         Checksum
   10.10.2.1        10.10.2.1          601    0x80000004    0xECAD
   10.176.1.33      10.176.1.33       1526    0x80000086    0xAAE1
   10.181.1.1       10.181.1.1         826    0x8000009A    0x56EF
   192.168.51.254   192.168.51.254     819    0x8000001D    0x0B13

 Summary Net Link States, Area 0
   Link ID          Adv Router        Age     Seq #         Checksum
   10.171.0.0       10.10.2.1          825    0x80000001    0x2867
   10.171.0.0       10.176.1.33       1520    0x80000001    0x3990
   10.181.0.0       10.181.1.1        1226    0x80000009    0x4989
   10.181.1.0       10.181.1.1        1226    0x80000032    0xD9D1
   192.168.51.0     192.168.51.254     824    0x80000016    0xF915
bps-test-vpn#show ip ospf 0.0.0.51 database 

OSPF router with ID: 192.168.51.254

 Router Link States, Area 0.0.0.51
   Link ID          Adv Router        Age     Seq #         Checksum
   192.168.51.254   192.168.51.254     845    0x80000009    0xFD79

 Summary Net Link States, Area 0.0.0.51
   Link ID          Adv Router        Age     Seq #         Checksum
   0.0.0.0          192.168.51.254     610    0x80000005    0x15AA
   10.10.1.40       192.168.51.254     835    0x80000001    0x87FF
   10.10.1.44       192.168.51.254     830    0x80000001    0x6919
   10.10.1.52       192.168.51.254     835    0x80000001    0x0F6C
   10.10.1.72       192.168.51.254     844    0x80000001    0x3C2C
   10.10.1.76       192.168.51.254     835    0x80000001    0x1E45
   10.171.0.0       192.168.51.254     830    0x80000001    0xA269
   10.181.0.0       192.168.51.254     830    0x80000001    0x34CC
   10.181.1.0       192.168.51.254     830    0x80000001    0x17EB

顯然,在 192.168.51.0/24 子網中的介面的兩端都啟用了 OSPF,但它們彼此不通信,因為否則我會在 Linux Box 上獲得一些 OSPF 路由。但我不是。那麼我做錯了什麼?我已經嘗試了各種各樣的事情,但我沒有取得任何進展。任何意見,將不勝感激。如果您需要更多資訊,請詢問,我會編輯我的文章。

鱷梨醬為我指明了正確的方向。我在 ProCurve 和 quagga 上進行了一些調試,發現其中一個將該區域視為存根區域,但另一個將其視為正常區域,這就是通信中斷的地方。一旦我將兩者都配置為將區域視為相同的區域,它就會像魅力一樣發揮作用。

引用自:https://serverfault.com/questions/280740