問題
帶有身份驗證和多個WSA的WCCP是否會導致環路(限制客戶端訪問需要ACL)?
症狀
使用WCCP、身份驗證和至少兩個WSA時,客戶端在嘗試訪問透明身份驗證伺服器URL時將被重定向。這會在客戶端上顯示為嚴重的延遲或超時。
解決方案
當身份驗證與WCCP一起使用時,WSA必須首先將客戶端重定向到自身,然後才能執行身份驗證。這是必要步驟,因為無法對同一目的地執行兩次驗證。
發生的問題是當客戶端對WSA發出新請求時,WCCP路由器正在透過WCCP池將此請求重定向回。此請求可以透過其他WSA重新代理,這將導致第二個WSA嘗試從第一個WSA獲取對象。
為了防止此類意外行為,需要在WCCP路由器上建立ACL。該ACL應類似於以下內容:
ACL行 |
目的 |
access-list 105 deny ip host <WSA 1> any |
請勿重定向源自WSA 1的流量 |
access-list 105 deny ip host <WSA 2> any |
請勿重定向源自WSA 2的流量 |
access-list 105 deny ip host any <WSA 2> |
不要將任何客戶端重定向到WSA 1(身份驗證) |
access-list 105 deny ip host any <WSA 1> |
不要將任何客戶端重定向到WSA 2(身份驗證) |
這將防止客戶端被重定向到WSA的代理身份驗證請求。
您也可以利用群組清單來限制哪些WSA會被接受為Web快取:
ACL行 |
目的 |
access-list 15 permit <WSA 1> |
允許將此IP包含在指定的WCCP服務ID中 |
access-list 15 permit <WSA 2> |
允許將此IP包含在指定的WCCP服務ID中 |
使用這些ACL實作WCCP的語法如下:
ip wccp <service ID> redirect-list 105
ip wccp <service ID> redirect-list 105 group-list 15
注意:您需要為擁有的每個WSA增加規則。在上述場景中,只有兩個WSA。