1. 程式人生 > 實用技巧 >ospf

ospf

配置OSPF的基本功能
建立OSPF程序:
一臺路由器如果要執行OSPF協議,必須存在Router ID。路由器的Router ID是一個32位元無符號整數,是一臺路由器在自治系統中的唯一標識。為保證OSPF執行的穩定性,在進行網路規劃時應該確定Router ID的劃分並手工配置。

ospf [ process-id | router-id router-id | vpn-instance vpn-instance-name
//啟動OSPF程序,進入OSPF檢視

例如:ospf 1 router-id 1.1.1.1
//建立opsf程序1,並設定router-id為1.1.1.1

process-id為程序號,預設值為1。

路由器支援OSPF多程序,可以根據業務型別劃分不同的程序。程序號是本地概念,不影響與其它路由器之間的報文交換。因此,不同的路由器之間,即使程序號不同也可以進行報文交換。

router-id router-id為路由器的ID號。

預設情況下,路由器系統會從當前介面的IP地址中自動選取一個最大值作為Router ID。手動配置Router ID時,必須保證自治系統中任意兩臺Router ID都不相同。通常的做法是將Router ID配置為與該裝置某個介面的IP地址一致

說明:

每個OSPF程序的Router ID要保證在OSPF網路中唯一,否則會導致鄰居不能正常建立、路由資訊不正確的問題。建議在OSPF裝置上單獨為每個OSPF程序配置全網唯一的Router ID。

vpn-instance vpn-instance-name表示VPN例項。

如果指定了VPN例項,那麼此OSPF程序屬於指定的VPN例項,如果未指定則屬於公網例項。

建立OSPF區域:
區域是從邏輯上將裝置劃分為不同的組,每個組用區域號(Area
ID)來標識。區域的邊界是裝置,而不是鏈路。一個網段(鏈路)只能屬於一個區域,或者說每個執行OSPF的介面必須指明屬於哪一個區域。

[OSPF程序下] area area-id
//建立並進入ospf區域檢視
1
2
宣告OSPF網段:
建立OSPF程序後,還需要配置區域所包含的網段。一個網段只能屬於一個區域,或者說每個執行OSPF協議的介面必須指明屬於某一個特定的區域。該處的網段是指執行OSPF協議介面的IP地址所在的網段。

OSPF需要對接收到的Hello報文做網路掩碼檢查,當接收到的Hello報文中攜帶的網路掩碼和本裝置不一致時,則丟棄這個Hello報文,即不能建立鄰居關係。

宣告OSPF網段有兩種方法:

//1、區域下宣告
[區域檢視下] network ip-address wildcard-mask
//配置區域所包含的網段

//2.介面下宣告
[介面檢視下] ospf enable [process-id] area [area-id]
//在介面上使能OSPF。

root@focal:/var/log/frr# tcpdump -i ens3   ip proto ospf  -env
tcpdump: listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes
20:07:55.365256 fa:16:3e:07:4f:e6 > 01:00:5e:00:00:05, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 1, id 43803, offset 0, flags [none], proto OSPF (89), length 64)
    10.10.18.148 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 10.10.18.148, Backbone Area, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
20:08:05.365555 fa:16:3e:07:4f:e6 > 01:00:5e:00:00:05, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 1, id 43804, offset 0, flags [none], proto OSPF (89), length 64)
    10.10.18.148 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 10.10.18.148, Backbone Area, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
20:08:15.365867 fa:16:3e:07:4f:e6 > 01:00:5e:00:00:05, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 1, id 43805, offset 0, flags [none], proto OSPF (89), length 64)
    10.10.18.148 > 224.0.0.5: OSPFv2, Hello, length 44
        Router-ID 10.10.18.148, Backbone Area, Authentication Type: none (0)
        Options [External]
          Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.0, Priority 1
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
root@focal:/var/log/frr#