ubuntu 18.04 的 Squid 代理无法连接

Squid proxy at ubuntu 18.04 impossible to connect

我是 Google Cloud 的新手,所以我可能解释得不准确。\ 我在 Google Cloud Platform 上有 Ubuntu 18.04 的虚拟机,我在上面安装了 Squid 3 代理服务器。 代理已经配置了一些。

http_port 3128 transparent
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 2
auth_param basic realm My Proxy Server
auth_param basic credentialsttl 24 hours
auth_params basic casesensitive off

#add acl rules
acl users proxy_auth REQUIRED

#http access rules
http_access deny !users
http_access allow users

在 Google 控制台中,我可以看到服务器的外部 IP 地址,但无法通过它工作。

ifconfig命令显示下一个

ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1460
        inet 10.156.0.3  netmask 255.255.255.255  broadcast 0.0.0.0
        inet6 fe80::4001:aff:fe9c:3  prefixlen 64  scopeid 0x20<link>
        ether 42:01:0a:9c:00:03  txqueuelen 1000  (Ethernet)
        RX packets 104399  bytes 83418274 (83.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 93840  bytes 12598292 (12.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 16697  bytes 1149429 (1.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16697  bytes 1149429 (1.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

其中 inet 10.156.0.3 表示我的内部 IP。 我想我不明白 Google 平台或代理配置的一些简单工作规则。

你能告诉我哪里错了吗? 谢谢。

要解决您的问题,您需要检查 nmap 您的 VM 上打开了哪些端口,如果 3128 已关闭,请为您的 VM 设置 Network tag 并添加防火墙规则以允许访问它。

我已尝试在我的测试虚拟机上重现您的问题:

  1. 创建 VM 实例或使用现有实例
  2. 安装 Squid
  3. 检查 Squid 是否 运行:

    $ sudo systemctl status squid 
     ● squid.service - LSB: Squid HTTP Proxy version 3.x
       Loaded: loaded (/etc/init.d/squid; generated)
       **Active: active (running)** since Wed 2020-02-19 11:47:50 UTC; 26s ago
    
  4. 使用 nmap 检查 Squid 的可访问性:

    $ nmap -Pn 35.XXX.155.XXX
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-02-19 12:53 CET
    ...
    Host is up (0.023s latency).
    Not shown: 996 filtered ports
    PORT     STATE  SERVICE
    22/tcp   open   ssh
    3389/tcp closed ms-wbt-server
    8000/tcp closed http-alt
    8081/tcp closed blackice-icecap
    

    鱿鱼不可用

  5. 编辑 VM 并设置 Network tag proxy-server

  6. 添加防火墙规则以使用 Network tag:

    启用与 Squid 的连接
    $ gcloud compute --project=test-prj firewall-rules create proxy-server-rule --direction=INGRESS --priority=999 --network=default --action=ALLOW --rules=tcp:3128 --source-ranges=0.0.0.0/0 --target-tags=proxy-server
    
  7. 再次使用 nmap 检查 Squid 的可访问性

    $ nmap -Pn 35.XXX.155.XXX
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-02-19 12:53 CET
    ...
    Host is up (0.022s latency).
    Not shown: 995 filtered ports
    PORT     STATE  SERVICE
    22/tcp   open   ssh
    3128/tcp open   squid-http
    3389/tcp closed ms-wbt-server
    8000/tcp closed http-alt
    8081/tcp closed blackice-icecap
    

    现在 Squid 可以使用了。