/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

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 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.

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 route
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
Tham khảo cấu hình căn bản tại đây:



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


Cài đăt route đảm bảo Firewall có thể kết nối đế các VLAN bên dưới switch core (bạn có thể dùng bất kỳ giao thức nào bạn thích, ở đây tôi dùng Static Route), thông tin cài đặt như hình:

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


Đến đây các PCs chưa thể kết nối được internet vì mặc định firewall chặn tất cả các traffic đi qua nó

Để các tất cả PCs truy cập được internet chúng ta phải làm rule cho phép từ vùng LAN đến vùng WAN
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
 Gói tin đã đi đúng như các thông tin IP trong sơ đồ.

 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


Truy cập vào lại trang https://canyouseeme.org để kiểm tra

Đã đú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



Chú ý: ở đây chúng tôi cố tình chỉnh là: cho phép bên ngoài dùng IP 125.234.102.243 và port 2525 cũng map vào chính port 25 của IP 172.16.101.1 luôn.

Để 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


Bây giờ chúng ta kiểm tra các port đã public đúng chưa bằng cách truy cập vào trang https://www.yougetsignal.com/ (có nhiều trang lắm, trong lab này chúng tôi dùng trang này). Để đảm bảo việc mở port thành công thì:
  • 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é.

Đảm bảo Application Controll và cho phép sử dụng nhiều profile đã được bật

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
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
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
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!


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
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
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
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!

/*header slide*/