Прокси Squid на Ubuntu 18.04 невозможно подключить - PullRequest
1 голос
/ 19 февраля 2020

Я новичок в Google Cloud, поэтому могу объяснить не точно. \ У меня есть виртуальная машина с Ubuntu 18.04 на Google Cloud Platform, и я установил на ней прокси-сервер 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 Platform или просто с настройкой прокси.

Можете ли вы показать мне, где я не прав? Спасибо.

1 Ответ

1 голос
/ 19 февраля 2020

Чтобы решить вашу проблему, вам нужно проверить с помощью nmap , какие порты открыты на вашей виртуальной машине, и если 3128 закрыт, установите Network tag для вашей виртуальной машины и добавьте правило брандмауэра, чтобы разрешить доступ к ней.

Я пытался воспроизвести вашу проблему на моей тестовой виртуальной машине:

  1. создать экземпляр виртуальной машины или использовать существующий
  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. проверить доступность Squid с помощью nmap:

    $ 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
    

    Squid недоступен

  5. отредактируйте ВМ и установите Network tag proxy-server

  6. добавить правило брандмауэра для включения соединений с Squid с помощью Network tag:

    $ 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. проверить доступность Squid снова с помощью nmap

    $ 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 готов к использованию.

...