2016年8月2日 星期二

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設定很死板很沒有彈性,我們往往只會注意去的流量而忽略到回來的流量,因此使用時要特別小心注意。

沒有留言:

張貼留言