Mục tiêu: Hiện tại R1 và R2 chưa thiết lập được neighbor. Chúng ta phải giải quyết vấn đề sao cho khi sử dụng lệnh show ip ospf neighbor thì các router láng giềng phải hiển thị với trạng thái FULL như ví dụ dưới:
Lý do: Vấn đề liên quan đến gửi và nhận gói tin hello trong OSPF. Tham khảo tóm tắt lý thuyết OSPF and Key ở đây
Ticket 1:
Cấu hình ban đầu:
Kiểm tra:
R1R1#show ip ospf neighbor
R1#
R1#show ip ospf interface et0/0
Ethernet0/0 is up, line protocol is up
Internet Address 192.168.12.1/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 1.1.1.1, Interface address 192.168.12.1
No backup designated router on this network
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
No Hellos (Passive interface)
Supports Link-local Signaling (LLS)
{...}
R2R2#show ip ospf neighbor
R2#
R2#show ip ospf interface et0/0
Ethernet0/0 is up, line protocol is up
Internet Address 192.168.12.2/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 2.2.2.2, Interface address 192.168.12.2
No backup designated router on this network
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:08
Supports Link-local Signaling (LLS)
{...}
Nhận xét:
Ta thấy OSPF trên hai router đã được enable, lớp mạng đã quảng bá đúng, tuy nhiên khi show ip ospf interface et0/0 trên R1 thấy có dòng No Hellos (Passive interface). Nếu chúng ta cấu hình passive interface thì network trên interface vẫn quảng bá tuy nhiên sẽ không gửi gói tin hello của OSPF, gói tin hello rất quang trọng trong việc thiết lập neighbor trong OSPF.
R1R1#show run | section ospf
router ospf 1
router-id 1.1.1.1
passive-interface Ethernet0/0
network 192.168.12.0 0.0.0.255 area 0
Giải pháp:
Phải xóa bỏ passive-interface Ethernet0/0 trong phần cấu hình OSPF của R1
R1
router ospf 1
no passive-interface Ethernet0/0
Kết quả:
R1R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:37 192.168.12.2 Ethernet0/0
R2R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/BDR 00:00:34 192.168.12.1 Ethernet0/0
Ticket 2:
Cấu hình ban đầu:
Kiểm tra:
R1R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 INIT/DROTHER 00:00:38 192.168.12.2 Ethernet0/0
R2R2#show ip ospf neighbor
R2#
Trạng thái trên R1 là INIT, R2 là không có gì cả
R1R1#show ip ospf interface et0/0
Ethernet0/0 is up, line protocol is up
Internet Address 192.168.12.1/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
{...}
R2R2#show ip ospf interface et0/0
Ethernet0/0 is up, line protocol is up
Internet Address 192.168.12.2/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
{...}
Interface của cả 2 router đều cấu hình đúng.
Nhận xét:
Với trạng thái INIT trên R1 là do R1 không thể nhận được thông tin trao đổi OSPF từ R2, R2 không nhận được bất kỳ thông tin về OSPF từ R1. OSPF sử dụng gói tin hello để trao đổi với nhau và thiết lập quan hệ láng giềng (neighbor), chúng sử dụng địa chỉ multicast 224.0.0.5
R1R1#ping 224.0.0.5
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 224.0.0.5, timeout is 2 seconds:
Reply to request 0 from 192.168.12.2, 1 ms
R2R2#ping 224.0.0.5
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 224.0.0.5, timeout is 2 seconds:
Reply to request 0 from 192.168.12.2, 1 ms
Khi ping địa chỉ multicast 224.0.0.5 mà OSPF sử dụng để trao đổi thông tin thông qua gói tin hello thì cả 2 vẫn nhận thông tin phản hồi của nhau.
R1R1#ping 192.168.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/5 ms
R2R2#ping 192.168.12.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Tuy nhiên chúng ta có thể ping đến được IP đấu nối của nhau. Vậy vấn đề có thể là liên quan đến traffic của OSPF multicast giữa 2 router.
R1R1#show ip interface et0/0 | include access list
Outgoing access list is not set
Inbound access list is not set
R2R2#show ip interface et0/0 | include access list
Outgoing access list is not set
Inbound access list is Permit-Rule
R2#show access-lists Permit-Rule
Extended IP access list Permit-Rule
10 permit tcp any any
20 permit udp any any
30 permit icmp any any (27 matches)
Có access-list Permit-Rule đã gán theo chiều in của interface Et0/0 của R2, và access list này chỉ cho phép tcp, udp và icmp mọi traffic còn lại sẽ bị chặn mặt định ở dòng cuối cùng của access list và dòng này bị ẩn chúng ta không thể thấy.
để thấy rỏ hơn chúng ta có thể debug access và xem có phải địa chỉ multicast có bị chặn hay không ta làm:
R2
access-list 101 permit ip 192.168.12.0 0.0.0.255 host 224.0.0.5
exit
debug ip packet 101 detail
R2R2#debug ip packet 101 detail
IP packet debugging is on (detailed) for access list 101
R2#
*Feb 6 05:55:06.071: IP: s=192.168.12.1 (Ethernet0/0), d=224.0.0.5, len 80, access denied, proto=89
Giải pháp:
Sửa lại access list Permit-Rule và chèn dòng permit ospf any any lên trên cùng của access list trên R2
R2
ip access-list extended Permit-Rule
5 permit ospf any any
end
write
Access-list sau khi điều chỉnh trên R2R2#show access-lists Permit-Rule
Extended IP access list Permit-Rule
5 permit ospf any any (19 matches)
10 permit tcp any any
20 permit udp any any
30 permit icmp any any (27 matches)
Kết quả:
R1R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:35 192.168.12.2 Ethernet0/0
R2R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/BDR 00:00:36 192.168.12.1 Ethernet0/0
Ticket 3:
Cấu hình ban đầu:
Kiểm tra:
R1R1#debug ip ospf hello
OSPF hello debugging is on
R1#
*Feb 6 06:12:27.942: OSPF-1 HELLO Et0/0: Rcv hello from 2.2.2.2 area 0 192.168.12.2
*Feb 6 06:12:27.942: OSPF-1 HELLO Et0/0: Mismatched hello parameters from 192.168.12.2
*Feb 6 06:12:27.942: OSPF-1 HELLO Et0/0: Dead R 50 C 40, Hello R 11 C 10 Mask R 255.255.255.0 C 255.255.255.0
Nhận xét:
Thấy R1 nhận từ R2 là: Hello intervel là 11 và Dead time là 50
Giải pháp:
Có thể vào interface Et0/0 của R2 bỏ cấu hình dead time và hello interval của OSPF đi, lúc này OSPF sẽ dùng thời gian mặt đinh là 10/40, hoặc vào Et0/0 của R1 cấu hình thêm hello/dead timer là 11/50
R1
interface Ethernet0/0
ip ospf dead-interval 50
ip ospf hello-interval 11
end
write
Kết quả:
R1R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:35 192.168.12.2 Ethernet0/0
R2R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/BDR 00:00:36 192.168.12.1 Ethernet0/0
Kết luận: Các câu lệnh sử dụng trong bài này là:
show ip ospf neighbor
show ip interface <interface>
show ip ospf interface <interface>
show run | section ospf
show ip interface <interface> | include access list
debug ip packet <acl-number> detail
show access-lists
debug ip ospf hello
Xong!