Squid 透明代理手记
1, 首先从 http://www.squid-cache.org 下载 squid-2.6.STABLE10-20070315.tar.gz 最新版
2, 解压配置编译参数 :
./configure --prefix=/usr/local/squid # 指定 squid 安装目录
--mandir=/usr/share/man # 指定 man的安装目录
--enable-async-io=20 # 采用同步 io 提高性能,负载高可设大点
--disable-icmp # 禁止 icmp 协议代理 ( 默认不允许 )
--enable-delay-pools # 允许延迟限止带宽
--enable-cache-digests # 允许缓存摘要 , 可以加快请求缓冲内容的速度 ( 集群用 )
--enable-snmp # 允许 snmp 协议支持 ( 如用 mrtg 进行流量监控等 )
--disable-ident-lookups # 禁止使用 RFC931识别
--enable-epoll # 支持 epoll 的 IO 模式 ,2.6 以上内核才具有
--enable-basic-auth-helpers="NCSA" # 允许带密码验证 ,NCSA 风格的用户名和密码档
--enable-linux-netfilter # 允许透明代理
--enable-arp-acl # 允许基于 MAC地址的存取过滤
--enable-err-language="Simplify_Chinese" # 支持的错误语言
--enable-default-err-language="Simplify_Chinese" # 指定默认的错误语言
3, 编译安装 :
make && make install
4, 添加 squid 启动用户和组 :
groupadd squid
useradd -g squid squid -s /sbin/nologin # 根据 cache_effective_user 指定缓冲管理的
用户
mkdir var/cache # 根据 cache_dir 指定
chown -R squid:squid /usr/local/squid # 更改目录所有者和组为 squid 连同子目录
5, 配置 squid.conf
首先生成干净的配置文件 :
mv squid.conf squid.conf.bak
cat squid.conf.bak | grep -v "#" | grep -v "^$" > squid.conf
#定义服务器地址和端口 ( 做 Proxy 时最好用 lan 的 ip 来设定绑定端口 ,transparent 表示支
持透明代理 )
http_port 192.168.1.253:3128 transparent