Cisco ACL 測試

這是我的架構圖,很簡單就兩個vlan routing,主要想做到 192.168.2.0網段不能PING到 192.168.1.0 網段,但是 192.168.1.0 網段可以PING到 192.168.2.0 網段。

因為Gateway在L3 Switch上,所以我們設了一個ACL,阻擋到 192.168.1.0/24網段,但是又要可以上網,所以最後一條是permit ip any any,最後放在interface vlan 2的 in 上,不要忘記的是ACL最後都會隱藏一條看不到的deny ip any any。

PC2確實不能PING到PC1,而且還有ACL的訊息 ICMP prohibited unreachable。

但是跟我們預期不太一樣,PC1也不能PING到PC2,而且點點點點點感覺是沒有收到回應的封包。

抓一下封包,確實只有送出 echo request 但沒有送出 echo reply。


蝦?原來是回應封包因為也是 來源 192.168.2.0/24 到目的地 192.168.1.0/24被ACL阻擋掉了。

我們加入一行允許 echo-reply 回去,並且把interface valn 2 上的ACL改成103。

果然PC1可以PING到PC2了。

檢查ACL政策剛剛加的那行也有符合的流量。

其實不只PING會有這個問題,像是TCP的協定也有類似的問題,三向交握開始的時候第二個回應的封包[SYN,ACK]就被ACL阻擋住了。

我們發現三向交握除了第一個封包SYN以外,之後的封包都有帶ACK,我們嘗試不封鎖帶ACK的封包試試看,CISCO tcp的關鍵字是 established。

果然PC1可以順利TELNET到PC2了。

抓封包來看,果然第二個SYN-ACK回應封包之後,回去的封包都有帶ACK。

查看ACL也有看到符合數再增加。
結論:
ACL設定很死板很沒有彈性,我們往往只會注意去的流量而忽略到回來的流量,因此使用時要特別小心注意。
留言
張貼留言