Squid 3.5.20 正向代理配置:CentOS 7.6 下 3 步完成基础部署与端口修改

📅 2026/7/13 12:24:49 👁️ 阅读次数 📝 编程学习
Squid 3.5.20 正向代理配置:CentOS 7.6 下 3 步完成基础部署与端口修改

CentOS 7.6 极简部署 Squid 3.5.20 正向代理:生产级配置与安全实践

在企业级网络架构中,正向代理作为关键基础设施,既能提升访问效率又可增强安全管控。本文将基于 CentOS 7.6 系统,通过三步核心操作完成 Squid 3.5.20 的高效部署,重点解决端口自定义、访问控制等生产环境常见需求,并提供开箱即用的配置模板与验证方案。

1. 环境准备与基础安装

1.1 系统兼容性检查

Squid 3.5.20 是 CentOS 7.6 官方仓库中的稳定版本,建议在干净的系统环境中部署。执行以下命令更新系统并检查依赖:

# 更新系统组件 yum update -y # 检查必要依赖(通常会自动安装) rpm -q gcc openssl-devel

1.2 一键安装与验证

通过Yum仓库快速安装Squid服务包:

yum install -y squid && rpm -ql squid | grep -E 'bin|conf'

关键安装文件路径:

  • 主程序:/usr/sbin/squid
  • 配置文件:/etc/squid/squid.conf
  • 日志目录:/var/log/squid/

注意:生产环境建议关闭SELinux或设置为permissive模式,避免权限问题导致服务异常:

setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

2. 核心配置优化

2.1 最小化安全配置

编辑/etc/squid/squid.conf保留以下关键参数,删除其他注释和默认配置:

# 基础网络配置 acl localnet src 10.0.0.0/8 # 允许内网段访问 acl SSL_ports port 443 # HTTPS端口 acl Safe_ports port 80 # HTTP端口 acl Safe_ports port 443 # HTTPS端口 acl CONNECT method CONNECT # 访问控制规则 http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access deny all # 监听端口设置(修改为自定义端口) http_port 6080

2.2 防火墙策略配置

开放自定义端口并永久生效:

firewall-cmd --permanent --add-port=6080/tcp firewall-cmd --reload # 验证端口开放状态 firewall-cmd --list-ports | grep 6080

2.3 服务管理命令

使用Systemd管理服务生命周期:

# 重载配置并重启服务 systemctl restart squid # 设置开机自启 systemctl enable squid # 检查服务状态 systemctl status squid -l

3. 客户端连接验证

3.1 Linux终端代理测试

通过curl命令验证代理可用性:

# 临时使用代理测试 curl -x http://代理服务器IP:6080 http://www.example.com # 永久环境变量配置(写入~/.bashrc) echo "export http_proxy=http://代理服务器IP:6080" >> ~/.bashrc echo "export https_proxy=http://代理服务器IP:6080" >> ~/.bashrc source ~/.bashrc

3.2 Windows浏览器配置

以Chrome为例的代理设置步骤:

  1. 进入设置 > 系统 > 打开代理设置
  2. 手动设置代理 → 输入服务器IP和端口6080
  3. 保存后访问 http://whatismyip.com 验证IP是否变化

3.3 常见问题排查

现象可能原因解决方案
407错误未配置认证在squid.conf添加http_access allow localnet
连接超时防火墙阻挡检查iptables/firewalld规则
域名解析失败DNS未通过代理客户端配置export no_proxy="localhost,127.0.0.1"

4. 高级生产配置(可选)

4.1 用户认证集成

如需添加基础认证,执行以下操作:

# 安装httpd-tools yum install -y httpd-tools # 创建认证文件(首次创建加-c参数) htpasswd -c /etc/squid/passwd proxy_user

在squid.conf追加配置:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic realm "Proxy Authentication Required" auth_param basic credentialsttl 24 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users

4.2 性能调优建议

根据服务器配置调整以下参数:

# 内存缓存设置(建议不超过总内存1/3) cache_mem 256 MB # 最大文件描述符 max_filedescriptors 8192 # 工作进程数(CPU核心数) workers 4

4.3 日志分析方案

Squid默认生成access.log,可通过以下命令实时监控:

tail -f /var/log/squid/access.log | awk '{print $3,$7,$8,$9}'

推荐日志轮转配置(/etc/logrotate.d/squid):

/var/log/squid/*.log { daily rotate 30 compress delaycompress missingok notifempty sharedscripts postrotate /usr/sbin/squid -k rotate endscript }

通过以上步骤,您已获得一个具备生产可用性的Squid正向代理服务。实际部署时,建议根据网络拓扑和安全要求进一步细化ACL规则,例如按部门划分访问权限或结合LDAP实现统一认证。