注:在操作之前请以root用户登录SSH
使用以下命令安装 Squid:
yum update -y yum install squid
安装完成后,编辑 Squid 配置文件 /etc/squid/squid.conf:
vi /etc/squid/squid.conf
找到以下两行内容并取消注释:
# http_access allow localnet # http_access allow localhost
修改为:
http_access allow all
这样允许所有客户端连接 Squid。
找到以下一行内容:
#cache_dir ufs /var/spool/squid 100 16 256
修改为:
cache_dir aufs /var/spool/squid 100 16 256
这样设置 Squid 缓存目录。
找到以下一行内容:
#http_port 3128
修改为:
http_port 3128 transparent
这样设置 Squid 监听端口为 3128,并且开启透明代理。
保存并退出配置文件,然后重启 Squid 服务:
systemctl restart squid
开启 IP 转发功能:
vi /etc/sysctl.conf
找到以下一行内容:
#net.ipv4.ip_forward=1
去掉注释,修改为:
net.ipv4.ip_forward=1
保存并退出。
使配置文件生效:
sudo sysctl -p
配置 iptables 规则:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o ens3 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i ens3 -o eth0 -j ACCEPT
这里假设 eth0 是外网接口,ens3 是内网接口。如果你的接口名称不同,请自行修改。
以上就是在 CentOS 7 上安装并配置 Squid,并开启路由转发的步骤。