今天針對某一個vlan做了一下acl限制,結果導緻ssh的通路非常慢。表現為伺服器A(1.1.1.5)通過ssh登陸伺服器B(2.2.2.5)時敲入ssh指令回車後會有3s内沒有響應,然後提示輸入密碼,而後一切正常。從此vlan上将此ACL取消後,ssh登陸的速度就恢複正常了。
ACL指令如下:
ip access-list extended fromv20
permit icmp any any
permit ip any host 224.0.0.2
permit tcp any 1.1.1.0 0.0.0.255 established
int vlan 20
ip access-group fromv20 in
從現象上看,肯定是acl有問題。于是,在acl上添加了一條"40 deny ip host 2.2.2.5 any log”進行日志檢視到底有什麼流量被拒絕了。結果發現在ssh的同時,2.2.2.5到3.3.3.6的dns請求包被拒絕了。當将這條改成"40 permit ip host 2.2.2.5 any log”後,ssh就正常了。進而确認了問題所在。是由于目标伺服器B在接受到請求伺服器A的ssh請求後,它會反向解析伺服器A的hostname,如果查詢正常則速度很快,但是如果查詢幾次失敗後也不影響到ssh的響應。其實可以在sshd_config中将這個反向dns請求關掉。這就避免了這個問題了。
問題總結分析:在部署ACL後發現異常問題是,可以通過添加一條ACE并打上log來檢視流量問題。進而确定是不是有一些必要的資料流被ACL拒絕了。
本文轉自 chris_lee 51CTO部落格,原文連結:http://blog.51cto.com/ipneter/208975,如需轉載請自行聯系原作者