用squid作透明反向代理。在这种架构下,可以很容易构造“访问控制列表”(ACL),把squid当做防火墙来使用。如果squid是局域网的入口点,那么ACL也是全局控制的。与传统的包过滤防火墙相比,squid除了实现基于IP的ACL,还可以构造基于正则表达式的URL的ACL。
举例如下,如果禁止网外的IP 1.1.1.1 访问本局域网内的系统,可以在squid.conf里构造规则如下:
acl blocked_ip src 1.1.1.1
http_access deny blocked_ip
如果禁止网外访问网内的test.1example.com/t.asp及test2.example.com/t.asp这两个url,可以在squid.conf里构造规则如下:
acl blocked_url url_regex -i test[1-2]+.example.com/t.asp
http_access deny blocked_url