Ubuntu上安装Squid

2023/11/07 19:45 下午 posted in  服务器

Ubuntu上安装Squid代理服务器是一个直截了当的过程。以下是通过命令行安装和配置Squid的基本步骤:

安装Squid

  1. 首先打开终端。

  2. 更新你的系统包列表以确保你安装最新版本的软件:

    sudo apt update
    
  3. 安装Squid包:

    sudo apt install squid
    

配置Squid

安装Squid后,其配置文件默认位于/etc/squid/squid.conf。为了编辑配置文件,你可以使用任何文本编辑器,如nano或vim。

  1. 打开Squid配置文件进行编辑:

    sudo nano /etc/squid/squid.conf
    
  2. 你可能想要配置一些基本的设置,如允许访问你的Squid服务器的客户端:

    # 定位到 http_access 部分
    # 允许你的本地网络,例如:
    acl localnet src 192.168.0.0/24
    http_access allow localnet
    
    # 允许本地主机
    http_access allow localhost
    

    192.168.0.0/24替换为实际的本地网络IP范围。

  3. 保存并关闭文件。在nano中,你可以通过按CTRL + X,然后按Y,最后按Enter来做到这一点。

启动和测试Squid

  1. 重新加载Squid配置并启动服务:

    sudo systemctl restart squid
    
  2. 检查Squid服务的状态以确认它正在运行:

    sudo systemctl status squid
    
  3. 你还可以检查Squid是否正在正确监听默认的3128端口:

    sudo netstat -lnp | grep squid
    
  4. 作为一个简单的测试,你可以尝试使用curl通过Squid代理服务器访问一个网页:

    curl -x http://localhost:3128 http://example.com
    

配置防火墙

如果你的Ubuntu服务器正在运行ufw防火墙,你需要允许Squid的端口通过:

sudo ufw allow 3128/tcp
sudo ufw reload

这样客户端就可以连接到Squid代理服务器了。

配置客户端

你需要在客户端的网络设置中指定代理服务器。这涉及到设置代理的主机为Ubuntu服务器的IP地址,端口为Squid监听的端口(默认是3128)。

完成以上步骤后,你的Squid代理服务器应该已经在Ubuntu上成功安装和配置。记得查看官方的Squid文档来了解更多高级配置选项,例如用户认证、详细的访问控制规则等。

一些问题

只监听了ipv6

root@iZuf6g1yg3mbl0l2t20ehqZ:~# sudo netstat -lnp | grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      2329759/(squid-1)   
udp        0      0 0.0.0.0:55058           0.0.0.0:*                           2329759/(squid-1)   
udp6       0      0 :::35062                :::*                                2329759/(squid-1)   

根据您提供的输出,Squid确实只在TCP6(IPv6)上监听,对应的端口是3128。如果您希望Squid同时监听IPv4,您需要更改Squid的配置。

这里有一些步骤可以确保Squid同时监听IPv4和IPv6:

  1. 打开Squid配置文件,您可以使用如下命令:

    sudo nano /etc/squid/squid.conf
    
  2. 查找所有包含http_port的行。如果您找到类似于下面的行:

    http_port [::]:3128
    

    它表示Squid被配置为仅在IPv6地址上监听。要更改它以便也在IPv4上监听,您可以将其更改为:

    http_port 3128
    

    这将允许Squid在所有可用的IPv4和IPv6接口上监听端口3128。

  3. 保存并关闭配置文件。如果您在使用nano,您可以通过CTRL + X,然后按Y并按回车来保存更改。

  4. 重启Squid以应用配置更改:

    sudo systemctl restart squid
    
  5. 再次检查Squid的监听状态:

    sudo netstat -plnt | grep squid
    

    或者使用ss

    sudo ss -plnt | grep squid
    

如果按照上述步骤操作后Squid仍然只监听在IPv6,那么可能是操作系统配置的行为,您可能需要检查系统级别的网络配置。

有时,某些Linux系统上的网络栈配置可能会默认优先使用IPv6。如果您想让Squid忽略IPv6并且只在IPv4上监听,您可能需要使用以下配置:

http_port 0.0.0.0:3128

但通常情况下,只需使用http_port 3128即可让Squid同时监听IPv4和IPv6。

再次重申,修改配置文件后,请确保重启Squid服务来使更改生效。