Mô Hình Mạng Cho Các Doanh Nghiệp Vừa & Nhỏ - Bài 3 - Chuyên Đề Firewall - FortiGate
MỤC ĐÍCH: KHÔNG khoe khoang hay phô trương gì cả - Giúp cho các bạn nào cần. Đây là bài CĂN BẢN CỦA CĂN CĂN BẢN. Nhiều bạn cứ hình dung, tưởng tượng Firewall là cái gì đó thật kinh khủng, mọi thứ kinh khủng thì đã có các kỹ sư của hãng làm hết rồi, mình chỉ bậc lên mà dùng thôi, quan trọng là sử dụng nó như thế nào thôi. Chúng tôi hay nói đùa với nhau rằng:"LÀM RULES/POLICIES LÀ NGHỆ THUẬT, NGƯỜI LÀM RULES/POLICIES LÀ NGHỆ SĨ". Nếu bạn đang đọc và làm theo bạn là nghệ sĩ rồi đấy.
MỤC TIÊU: Cài đặt đảm bảo các máy bên trong mạng LAN có thể truy cập được internet thông qua Firewall-FortGate của FortiNet, các máy bên ngoài internet cũng có thể kết nối vào máy tính nội bộ bên thông qua các rules/polices đã cài đặt. Chặn hay cho phép trang web, application của các thiết bị trong mạng LAN truy cập ra ngoài....
MÔ HÌNH LAB:
YÊU CẦU
1. Chuẩn bị và cấu hình căn bản và Reset FortiGate về mặc định nhà sản xuất
2. Cài đặt thông tin IP như sơ đồ và cấu hình sao cho các PCs trong vlan 101, vlan 102 có thể truy cập được internet.
3. NAT Source
Nếu các PCs trong VLAN 101 truy cập ra ngoài internet và sử dụng https- port 443 thì sử IP WAN 125.234.102.244 (IP này không phải IP đấu nối trên cổng WAN1)
4. NAT DestinationPublic port 25, và 2525 (các bạn hay nghe là: NAT port hay Port Forwarding) của server có địa chỉ 172.16.101.1 ra ngoài internet.
5. APPLICATION CONTROL: Cho phép vlan 102 truy cập được internet FULL quyền, nhưng CẤM truy cập YOUTUBE
6. WEB FILTERING
7. WEB RATING OVERRIDES
THỰC HIỆN
1. Chuẩn bị và cấu hình căn bản
ISP Router: ISP cấu hình. Hoặc cũng có thể tìm hiểu các cấu hình ở bài Lab 1, Lab 2
Cấu hình trên Switch
vlan 101
name HRDept
vlan 102
name AccDept
exit
!
interface Vlan101
description ===HR Default Gateway===
ip address 172.16.101.254 255.255.255.0
exit
!
interface Vlan102
description ===Acc Default Gateway===
ip address 172.16.102.254 255.255.255.0
exit
!
interface GigabitEthernet0/24
description ===Connect to FortiGate Port 16===
no switchport
ip address 192.168.200.2 255.255.255.0
exit
!
interface range g0/1-5
switchport access vlan 101
switchport mode access
spanning-tree portfast
exit
!
interface range g0/6-10
switchport access vlan 102
switchport mode access
spanning-tree portfast
exit
!
Cấu hình DHCP để cấp IP cho vlan 101 và vlan102
ip dhcp pool VLAN101
network 172.16.101.0 255.255.255.0
default-router 172.16.101.254
dns-server 8.8.8.8
exit
!
ip dhcp pool VLAN102
network 172.16.102.0 255.255.255.0
default-router 172.16.102.254
dns-server 8.8.8.8
!
exit
Cấu hình IP routing để đảm bảo các vlan có thể liên lạc được với nhau và default route trỏ về IP LAN trên Firewall
ip routing
ip route 0.0.0.0 0.0.0.0 192.168.200.1
end
write
Kiểm tra bảng route trên CoreSwitch
show ip routeTham khảo cấu hình căn bản tại đây:
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is 192.168.200.1 to network 0.0.0.0
172.16.0.0/24 is subnetted, 2 subnets
C 172.16.101.0 is directly connected, Vlan101
C 172.16.102.0 is directly connected, Vlan102
C 192.168.200.0/24 is directly connected, GigabitEthernet0/24
S* 0.0.0.0/0 [1/0] via 192.168.200.1
Reset FortiGate về mặc định nhà sản xuất
Để đảm Firewall chưa cấu hình gì cả chúng ta nên reset về mặc định nhà sản xuất:
exec factoryreset
Nhấn Y để khởi động lại và thực hiện tiếp dòng lệnh
exec factoryreset2
Nhấn Y để khởi động lại.
Đăng nhập vào thiết bị theo thông tin có in trên thiết bị mặc định là:
- IP MGMT: 192.168.1.99
- Username: admin
- Password: không có đặt password
2. Yêu cầu: Cài đặt thông tin IP như sơ đồ và cấu hình sao cho các PCs trong vlan 101, vlan 102 có thể truy cập được internet.
Đặt IP cho Zone LAN
Nên chọn SSH để thuận tiện cho việc cấu hình command line trong LAN
Đặt IP cho Zone WAN
Kết quả sau khi đặt IP trên port 16-LAN, và WAN1
Đặt IP cho LAN, WAN bằng CLI
config system interface
edit "wan1"
set ip 125.234.102.243 255.255.255.248
set allowaccess ping https http fgfm
set alias "Viettel"
set role wan
set snmp-index 3
next
!
edit "lan"
set ip 192.168.200.1 255.255.255.0
set allowaccess ping https ssh http fgfm capwap
set stp enable
set role lan
set snmp-index 9
next
end
Route cho vlan 101:
Với vlan 102 bạn cũng có thể clone từ vlan 101, các thông tin như hình:
Cài đặt defaut route để đảm bảo tất cả có thể truy cập được internet
Các route vừa tạo
Kiểm tra sự tồn tại của các route
Cấu hình route bằng CLI
config router static
edit 1
set gateway 125.234.102.241
set device "wan1"
next
!
edit 2
set dst 172.16.101.0 255.255.255.0
set gateway 192.168.200.2
set device "lan"
set comment "To VLAN 101"
next
!
edit 3
set dst 172.16.102.0 255.255.255.0
set gateway 192.168.200.2
set device "lan"
set comment "To VLAN 102"
next
end
Vì các IP private không được route trên InterNet, nên nhớ chọn Enable NAT nhé. Lúc này các PCs trong LAN sẽ lấy IP của WAN1 để giao tiếp với internet
Policies vừa tạo
Cấu hình CLI
config firewall policy
edit 1
set name "Permit Any to InterNET"
set srcintf "lan"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set status enable
set schedule "always"
set service "ALL"
set nat enable
next
end
Kiểm tra kết nối đến internet của từng vlan:
Ping đến 8.8.8.8 đã thông.
Kết quả tracert cho chúng ta thấy thông tin các gói tin là:
- 1. IP của default gateway
- 2. IP của firewall
- 3. IP mặt trong (LAN) của router IPS
Xem trên firewall đã có dữ liệu đi qua.
Trong FortiView thấy IP 172.16.101.1 đã bị áp bởi policies có ID = 1 và truy cập đến đích 8.8.8.8 cũng được thể hiện trên firewall.
Tương tự VLAN 102 cũng có thể truy cập được internet.
3. NAT Source
Yêu cầu: Nếu các PCs trong VLAN 101 truy cập ra ngoài internet và sử dụng https- port 443 thì sử IP WAN 125.234.102.244 (IP này không phải IP đấu nối trên cổng WAN1)
Kiểm tra ban đầu:
Vào trang https://canyouseeme.org/ để kiểm tra IP WAN hiện tại mà các PC trong LAN sử dụng để giao tiếp bên ngoài là bao nhiêu
Chính IP đấu nối trên WAN1 của firewall.
Định nghĩa IP WAN cần NAT theo đúng yêu cầu đề bài, trường hợp này là 125.234.102.244
Định nghĩa VLAN 101
Tạo Policies, chọn source là VLAN 101, services HTTPS và Dynamic IP Pool trỏ về Pool vừa định nghĩa ở trên.
Chú ý: Vì firewall hành xử là đọc các policies từ trên xuống nên nhớ phải move policy này lên trên nhé.
Cấu hình CLI
config firewall ippool
edit "125.234.102.244"
set type one-to-one
set startip 125.234.102.244
set endip 125.234.102.244
next
end
!
config firewall address
edit "VLAN 101"
set associated-interface "lan"
set color 3
set subnet 172.16.101.0 255.255.255.0
next
end
!
config firewall policy
edit 2
set name "VLAN 101 to InterNET 443"
set srcintf "lan"
set dstintf "wan1"
set srcaddr "VLAN 101"
set dstaddr "all"
set action accept
set status enable
set schedule "always"
set service "HTTPS"
set ippool enable
set poolname "125.234.102.244"
set nat enable
next
end
Đã đúng yêu cầu đặt ra là IP 125.234.102.244.
Các bạn nhớ là chỉ có https mới dùng IP 125.234.102.244 thôi nhé, các servicies/port khác vẫn dùng IP đấu nối của firewall.
Giải thích thêm:
Các bạn có thể định nghĩa 1 IP cụ thể nào đó thay vì nguyên cả VLAN như trong bài này. Với chúng tôi hay dùng NAT Source trong trường hợp là với 1 thiết bị khi gửi mail ra ngoài với port 25 thì dùng IP khác, các port còn lại dùng IP mặc định trên cổng đấu nối. Làm vậy sẽ giúp cho IP mail server của bạn it bị black list hơn (mail blacklist cả một chuyên đề lớn nếu có thời gian viết sẽ viết).
4. NAT Destination
Public port 25, và 2525 (các bạn hay nghe là: NAT port hay port forwarding) của server có địa chỉ 172.16.101.1 ra ngoài internet.
Định nghĩa Virtual IPs cho IP WAN 125.234.102.243 và port 25 map vào port 25 của IP 172.16.101.1
Chúng ta cũng có thể clone Virtual IPs vừa tạo và chỉnh sửa thông tin theo yêu cầu
Để hạn chế sai xót chúng ta nên gôm các địa chỉ Virtual IPs thành 1 Group Virtual IPs
Tạo Policies cho phép bên ngoài có thể truy cập vào, cài đặt như hình
Nên tắt NAT đi để khi phân tích log chúng ta biết được đúng IP bên ngoài nào đã truy cập vào, nếu không trong log sẽ hiển thị IP vùng LAN của firewall thôi như vậy rất khó phân tích.
Cấu hình CLI
config firewall vip
edit "Public Port 25"
set extip 125.234.102.243
set extintf "wan1"
set portforward enable
set color 6
set mappedip "172.16.101.1"
set extport 25
set mappedport 25
next
!
edit "Public Port 2525"
set extip 125.234.102.243
set extintf "wan1"
set portforward enable
set color 6
set mappedip "172.16.101.1"
set extport 2525
set mappedport 25
next
end
!
config firewall vipgrp
edit "Public Server 172.16.101.1"
set interface "wan1"
set color 6
set member "Public Port 25" "Public Port 2525"
next
end
!
config firewall policy
edit 3
set name "Permit WAN to Server 172.16.101.1"
set srcintf "wan1"
set dstintf "lan"
set srcaddr "all"
set dstaddr "Public Server 172.16.101.1"
set action accept
set status enable
set schedule "always"
set service "ALL"
next
end
- Các port trên máy 172.16.101.1 phải được mở
- Firewall trên server phải cho phép
Ta thấy trạng thái là OPEN có nghĩa là mở port thành công.
Xem log trên phần mềm giả lập mở port chúng ta thấy địa chỉ Public 198.199.98.246 đã truy cập vào (nếu không tắt NAT thì bạn sẽ thấy là 192.168.200.1)
NAT-DES: Thông thường dùng để mở port cho Camera, mail server, web server, SQL, MySQL,... nếu muốn truy cập từ internet. Trong phần policies các bạn cũng có thể cho phép 1 vài IP public nào đó nhằm đảm bảo security hơn, lab này chúng tôi cho phép tất cả các IP từ internet có thể truy cập được.
5. APPLICATION CONTROL: Cho phép vlan 102 truy cập được internet FULL quyền, nhưng CẤM truy cập YOUTUBE
Định nghĩa VLAN 102 tương tự như đã làm ở yêu cầu 2 nhé.
Thêm các application có liên quan đến Youtube vào phần Application Overrides và action là block.
Tạo policies và cho vlan 102 và trong phần Application Control trỏ đến profile vừa tạo và đưa lên trên tất cả các policies như hình
Kiểm tra thấy VLAN 102 sẽ không truy cập được youtube
Trong FortiWiew thấy vlan 102 đang bị áp bởi policies có ID là 4
Trong phần Log & Reports -> Application Control -> Filter -> Source -> nhập IP cần kiểm tra
Thấy IP 172.16.102.1 của vlan 102 truy cập vào youtube đã bị block.
6. WEB FILTERING
Đảm bảo tính năng Web Filtering và Multiple Security Profiles đã được bật
Định nghĩa profile
Cách làm tương tự như chặn application, định nghĩa địa chỉ cần áp dụng cho policies, tạo polices phần web filtering cho profile vừa tạo vào. OK tới.
Chú ý: Các profile security là độc lập nhau (đã được phân theo từng nhóm sẵn như: nhóm web filtering, antivirus, application control), nên bạn có thể chọn nhiều nhóm Security Profiles cho 1 polices sẽ không có vấn đề gì, Fortigate sẽ hành xử theo từng nhóm ấy.
Các bạn cũng có thể lập lịch (thiết lập thời gian) để áp đặt policies tùy biến nhé.
Nhận xét: Với cách lọc không linh động lắm vì lệ thuộc vào Categories của hãng, nên khi triển khai nên kết hợp với phần Web Rating Overrides
7. WEB RATING OVERRIDES
Tự định nghĩa Categories cho riêng mình, ở đây chúng tôi tạo 2 categories đó là Block và Permit, các bạn có thể tạo tùy theo yêu cầu thực tế.
Kết quả sau khi định nghĩa categories
Thêm các trang web vào Categories vừa định nghĩa
Đến đây mới chỉ định nghĩa web site theo từng nhóm thôi nhé, chưa hành xử gì cả, Muốn hành xử thế nào thì chúng ta phải chỉnh lại profile trong phần Web Filter.
Ở đây chúng tôi chọn Action là Block cho Categories Block, và Allow cho categories Permit. Có nghĩa là các web trong categories Block sẽ bị chặn (ở ví dụ này là trang tuoitre.vn), và các trang trong categories Permit sẽ được allow (ở ví dụ này là news.zing.vn).
Để thêm các trang cho phép truy cập hay bị chặn thì chúng ta chỉ cần thêm vào phần Web Rating Overrides là được.
Trong bài này chúng tôi giới thiệu FortiGate nó có thể làm được các tính năng như đã nêu trên và thực tế FortiGate còn làm được nhiều hơn thế nữa. Chúng tôi không khuyến khích làm rập khuôn như bài lab này. Làm policies thế nào là chuyện của các "Nghệ Sĩ" nhé.
"LÀM RULES/POLICIES LÀ NGHỆ THUẬT, NGƯỜI LÀM RULES/POLICIES LÀ NGHỆ SĨ". hihihi
Kết luận: Đến đây chúng tôi huy vọng rằng sẽ xóa được mù chữ về cấu hình ForitGate, bạn đã có được tí tí gì đấy để làm cơ sở tìm hiểu kỹ hơn và thuần hóa được thiết bị này thông qua tài liệu chính thức của hãng.
P/s: Bài LAB được thực hiện trên FG100E-6.0.2
Xong!LAB Troubleshooting OSPF - Bài 2
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:
R1
R2
interface Ethernet0/0
description ===Connect to R2 Et0/0===
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
router ospf 1
router-id 1.1.1.1
passive-interface Ethernet0/0
network 192.168.12.0 0.0.0.255 area 0
R2
interface Ethernet0/0
description ===Connect to R1 Et0/0===
ip address 192.168.12.2 255.255.255.0
no shutdown
exit
router ospf 1
router-id 2.2.2.2
network 192.168.12.0 0.0.0.255 area 0
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:
R1
R2
interface Ethernet0/0
description ===Connect to R2 Et0/0===
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
router ospf 1
router-id 1.1.1.1
network 192.168.12.0 0.0.0.255 area 0
R2
interface Ethernet0/0
description ===Connect to R1 Et0/0===
ip address 192.168.12.2 255.255.255.0
no shutdown
exit
router ospf 1
router-id 2.2.2.2
network 192.168.12.0 0.0.0.255 area 0
exit
ip access-list extended Permit-Rule
permit tcp any any
permit udp any any
permit icmp any any
exit
interface Ethernet0/0
ip access-group Permit-Rule in
end
write
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:
R1
R2
interface Ethernet0/0
description ===Connect to R2 Et0/0===
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
router ospf 1
router-id 1.1.1.1
network 192.168.12.0 0.0.0.255 area 0
R2
interface Ethernet0/0
description ===Connect to R1 Et0/0===
ip address 192.168.12.2 255.255.255.0
ip ospf dead-interval 50
ip ospf hello-interval 11
no shutdown
exit
router ospf 1
router-id 2.2.2.2
network 192.168.12.0 0.0.0.255 area 0
exit
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!
LAB Troubleshooting OSPF - Bài 2
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:
R1
R2
interface Ethernet0/0
description ===Connect to R2 Et0/0===
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
router ospf 1
router-id 1.1.1.1
passive-interface Ethernet0/0
network 192.168.12.0 0.0.0.255 area 0
R2
interface Ethernet0/0
description ===Connect to R1 Et0/0===
ip address 192.168.12.2 255.255.255.0
no shutdown
exit
router ospf 1
router-id 2.2.2.2
network 192.168.12.0 0.0.0.255 area 0
Kiểm tra:
R1
R1#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)
{...}
R2
R2#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.
R1
R1#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ả:
R1
R1#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
R2
R2#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:
R1
R2
interface Ethernet0/0
description ===Connect to R2 Et0/0===
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
router ospf 1
router-id 1.1.1.1
network 192.168.12.0 0.0.0.255 area 0
R2
interface Ethernet0/0
description ===Connect to R1 Et0/0===
ip address 192.168.12.2 255.255.255.0
no shutdown
exit
router ospf 1
router-id 2.2.2.2
network 192.168.12.0 0.0.0.255 area 0
exit
ip access-list extended Permit-Rule
permit tcp any any
permit udp any any
permit icmp any any
exit
interface Ethernet0/0
ip access-group Permit-Rule in
end
write
Kiểm tra:
R1
R1#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
R2
R2#show ip ospf neighbor
R2#
Trạng thái trên R1 là INIT, R2 là không có gì cả
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
{...}
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
{...}
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
R1
R1#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
R2
R2#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.
R1
R1#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
R2
R2#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.
R1
R1#show ip interface et0/0 | include access list
Outgoing access list is not set
Inbound access list is not set
R2
R2#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
R2
R2#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 R2
R2#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ả:
R1
R1#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
R2
R2#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:
R1
R2
interface Ethernet0/0
description ===Connect to R2 Et0/0===
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
router ospf 1
router-id 1.1.1.1
network 192.168.12.0 0.0.0.255 area 0
R2
interface Ethernet0/0
description ===Connect to R1 Et0/0===
ip address 192.168.12.2 255.255.255.0
ip ospf dead-interval 50
ip ospf hello-interval 11
no shutdown
exit
router ospf 1
router-id 2.2.2.2
network 192.168.12.0 0.0.0.255 area 0
exit
Kiểm tra:
R1
R1#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ả:
R1
R1#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
R2
R2#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!
Subscribe to:
Posts (Atom)