Squid是一个功能强大且广泛使用的开源代理服务器和Web缓存守护程序。以下是详细的安装和配置步骤:
sudo apt update
sudo apt install squid
sudo yum install squid
# 或对于较新版本
sudo dnf install squid
Squid的主配置文件通常位于/etc/squid/squid.conf
。在修改前建议备份原始文件:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
修改监听端口(默认3128):
http_port 3128
设置访问控制:
acl localnet src 192.168.1.0/24 # 允许的客户端网络
http_access allow localnet # 允许该网络访问
http_access deny all # 拒绝其他所有访问
启用缓存:
cache_dir ufs /var/spool/squid 100 16 256
如果需要用户认证,可以配置基本认证:
安装htpasswd工具(Debian/Ubuntu):
sudo apt install apache2-utils
创建密码文件:
sudo htpasswd -c /etc/squid/passwords username
在squid.conf中添加:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
启动Squid:
sudo systemctl start squid
设置开机启动:
sudo systemctl enable squid
检查状态:
sudo systemctl status squid
重新加载配置(无需重启服务):
sudo systemctl reload squid
如果系统启用了防火墙,需要开放Squid端口(默认3128):
sudo ufw allow 3128
# 或对于firewalld
sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload
客户端需要配置使用代理服务器: - 地址:Squid服务器的IP或主机名 - 端口:3128(或你配置的其他端口) - 如果需要认证,提供用户名和密码
Squid日志通常位于/var/log/squid/
,可以使用以下命令查看:
tail -f /var/log/squid/access.log
透明代理:
http_port 3128 transparent
限制带宽:
delay_pools 1
delay_class 1 1
delay_access 1 allow all
delay_parameters 1 64000/64000
SSL拦截: 需要配置SSL bump功能(注意隐私和法律问题)
检查配置语法:
sudo squid -k parse
测试配置:
sudo squid -k check
清除缓存(如有问题):
sudo squid -k shutdown
sudo rm -rf /var/spool/squid/*
sudo squid -z
sudo systemctl start squid
通过以上步骤,你应该能够在Linux系统上成功设置并运行Squid代理服务器。根据你的具体需求,可以进一步调整配置参数。