設定及驗證 IPv4 ACL
Configure and Verify IPv4 ACLs
以命名延伸ACL限制訪客網段對伺服器的流量,保留HTTP及其他必要連線。
基本拓撲 TOPOLOGY
原創示意圖 · 靜態拓撲設備與位址 ADDRESSING
先確認介面名稱,再開始設定| 設備 DEVICE | 介面 | IPv4 位址 | 子網路遮罩 | 預設閘道 |
|---|---|---|---|---|
| PC1 | Ethernet | 192.168.180.10 | 255.255.255.0 | 192.168.180.1 |
| R1 | Gi0/0 | 192.168.180.1 | 255.255.255.0 | — |
| R1 | Gi0/1 | 192.168.181.1 | 255.255.255.0 | — |
| SRV1 | Ethernet | 192.168.181.20 | 255.255.255.0 | 192.168.181.1 |
查看線路對照表(2 條連線)
| 起點 | 終點 | 介面對照 |
|---|---|---|
| pc1 | r1 | Ethernet ↔ Gi0/0 |
| r1 | srv1 | Gi0/1 ↔ Ethernet |
這次練習,你會學到
- 以來源/目的/協定/服務定義延伸ACL。
- 正確選擇套用介面與in方向。
- 理解first-match、implicit deny及hit counters。
開始之前
- 具備本題涉及的 IPv4/IPv6 與子網路基礎,能在自己的隔離練習環境開啟 Console。
- 使用合法設備與軟體映像,先備份現有設定,介面名稱以自己的裝置為準。
適用環境與驗證狀態
ISR 1941 / IOS 15.x待驗證原創教案,尚未於實體設備驗證。依實際硬體、IOS/AireOS 版本與授權核對命令;介面名稱不可直接套用至正式設備。
循序操作 STEP BY STEP
在你自己的練習環境操作。命令複製不包含提示字元;所有輸出皆為示例。
01 建立沒有ACL的基準
在自己的隔離環境設定兩個直連網段,SRV1啟動HTTP80並允許基準ICMP。先確認PC1能開HTTP並ping SRV1;若無HTTP服務,不能藉此判定ACL允許成功。
展開參考指令 R1 · 介面設定
enable
configure terminal
interface GigabitEthernet0/0
ip address 192.168.180.1 255.255.255.0
no shutdown
interface GigabitEthernet0/1
ip address 192.168.181.1 255.255.255.0
no shutdown
end在自己的隔離環境設定兩個直連網段,SRV1啟動HTTP80並允許基準ICMP。先確認PC1能開HTTP並ping SRV1;若無HTTP服務,不能藉此判定ACL允許成功。
查看預期結果 範例輸出,非真實執行
PC1經R1可達SRV1,HTTP與ICMP基準正常。02 先定義流量政策
政策只針對192.168.180.0/24至單一SRV1:允許TCP目的80、拒絕其他IP到該主機;其餘IP依最後permit放行。這是教學政策,不是完整企業安全規則。ACL無狀態檢查,不會自動追蹤session。
查看預期結果 範例輸出,非真實執行
可列出允許HTTP、拒絕到SRV1的ICMP、允許其他目的三類測試。03 建立具序號的命名ACL
first-match先命中即停止,所以特定HTTP permit需放在廣泛deny之前。最後permit ip any any用來限制本題變更範圍;若省略將遇到implicit deny。
展開參考指令 R1 · ACL設定
configure terminal
ip access-list extended GUEST_TO_SERVER
10 permit tcp 192.168.180.0 0.0.0.255 host 192.168.181.20 eq 80
20 deny ip 192.168.180.0 0.0.0.255 host 192.168.181.20
30 permit ip any any
end
show access-lists GUEST_TO_SERVERfirst-match先命中即停止,所以特定HTTP permit需放在廣泛deny之前。最後permit ip any any用來限制本題變更範圍;若省略將遇到implicit deny。
查看預期結果 範例輸出,非真實執行
序10允許HTTP,序20拒絕其餘到SRV1,序30放行其他。04 在訪客入口套用
本題PC1的封包由Gi0/0進R1,所以套in。請用Console或保留受控備援管理連線,避免錯方向/規則阻擋自己。
展開參考指令 R1 · 介面設定
configure terminal
interface GigabitEthernet0/0
ip access-group GUEST_TO_SERVER in
end
show ip interface GigabitEthernet0/0本題PC1的封包由Gi0/0進R1,所以套in。請用Console或保留受控備援管理連線,避免錯方向/規則阻擋自己。
查看預期結果 範例輸出,非真實執行
Inbound access list is GUEST_TO_SERVER。05 用不同流量驗證並對照counter
Windows PC1執行:curl.exe http://192.168.181.20/應成功,ping192.168.181.20預期被拒絕。不要從R1自身ping作為同樣測試,路由器產生封包未必走相同in ACL路徑。每次測試後看counter增量。
展開參考指令 R1 · 特權 EXEC
show access-lists GUEST_TO_SERVER
show ip interface GigabitEthernet0/0Windows PC1執行:curl.exe http://192.168.181.20/應成功,ping192.168.181.20預期被拒絕。不要從R1自身ping作為同樣測試,路由器產生封包未必走相同in ACL路徑。每次測試後看counter增量。
查看預期結果 範例輸出,非真實執行
HTTP使序10 counter增加;PC1的ICMP使序20增加。06 復原先解除附著
若要撤回,先no ip access-group再刪ACL,避免殘留不易察覺的政策。若保留則保存正常設定。
展開參考指令 R1 · 介面 / ACL
configure terminal
interface GigabitEthernet0/0
no ip access-group GUEST_TO_SERVER in
exit
no ip access-list extended GUEST_TO_SERVER
end若要撤回,先no ip access-group再刪ACL,避免殘留不易察覺的政策。若保留則保存正常設定。
查看預期結果 範例輸出,非真實執行
介面無本題in ACL;原基準流量可恢復。確認你的設定 VERIFICATION
show access-lists GUEST_TO_SERVER預期狀態 相應permit/deny counter隨PC測試增加。
沒有counter增量先查封包是否走過該介面/方向。
PC1: curl.exe http://192.168.181.20/預期狀態 HTTP成功、同主機ICMP預期拒絕。
HTTP80需實有監聽且主機防火牆允許。
常見問題與排查
全部流量都不通
查implicit deny、規則順序、wrong direction與來源wildcard;先Console解除附著復原。
R1 ping成功但PC ping失敗
可能符合ACL政策;R1自身流量路徑與PC ingress不同,不可混比。
參考資料
依 CCNA v2.2 主題自行編寫之練習,非官方逐字教材。
發布版本 1 · 範例輸出供理解,指令尚待實機驗證。