注:在操作之前请以root用户登录SSH

  1. 使用以下命令安装 Squid:

    yum update -y
    yum install squid
    
  2. 安装完成后,编辑 Squid 配置文件 /etc/squid/squid.conf:

    vi /etc/squid/squid.conf
    
  3. 找到以下两行内容并取消注释:

    # http_access allow localnet
    # http_access allow localhost
    

    修改为:

    http_access allow all
    

    这样允许所有客户端连接 Squid。

  4. 找到以下一行内容:

    #cache_dir ufs /var/spool/squid 100 16 256
    

    修改为:

    cache_dir aufs /var/spool/squid 100 16 256
    

    这样设置 Squid 缓存目录。

  5. 找到以下一行内容:

    #http_port 3128
    

    修改为:

    http_port 3128 transparent
    

    这样设置 Squid 监听端口为 3128,并且开启透明代理。

  6. 保存并退出配置文件,然后重启 Squid 服务:

    systemctl restart squid
    
  7. 开启 IP 转发功能:

    vi /etc/sysctl.conf
    

    找到以下一行内容:

    #net.ipv4.ip_forward=1
    

    去掉注释,修改为:

    net.ipv4.ip_forward=1
    

    保存并退出。

  8. 使配置文件生效:

    sudo sysctl -p
    
  9. 配置 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,并开启路由转发的步骤。