通常架設好 Squid Proxy 後, 用來做 Proxy 代理功能時, 會希望能限制可使用的來源 IP 或是可訪問或不可訪問的 IP (除了做權限管控外, 還可以管理限制使用者可以訪問的目的網站).
今天有個需求是這樣的, 允許特定 IP 訪問特定的網站, 乍看下會這樣下:
acl AllowedIPs src 192.168.100.0/24 acl AllowedDomains dstdomain .google.com .yahoo.com http_access allow AllowedIPs http_access allow AllowedDomains http_access deny all
但是這樣會變成 OR 的邏輯, 也就是只要白名單 IP, 或是白名單域名(包含子域名), 就會放行, 與原本需要的特定 IP 訪問特定網域不同.
所以若是要 AND 的邏輯, 就必需寫在同一行如下:
acl AllowedIPs src 192.168.100.0/24 acl AllowedDomains dstdomain .google.com .yahoo.com http_access allow AllowedIPs AllowedDomains http_access deny all
這樣就只有特定 IP 訪問特定網域時才能使用, 否則都會是 403回應囉.
這在設定內網存取外網時特別有用.