Я пытаюсь использовать Squid как простой веб-прокси, однако после обновления моего сервера до Ubuntu 17.04 это перестало работать.
Я отключил ufw, поэтому брандмауэр не проблема. Я могу telnet
другие порты и подключитесь через ssh
так что я могу четко общаться с сервером. В дополнение к этому telnet localhost 3128
работает абсолютно нормально, но с внешним сбрасывается.
Мой squid.conf
:
acl SSL_ports port 443
acl CONNECT method CONNECT
cache_peer {redacted company filtering server} parent 80 0 no-query default
never_direct allow all
http_access allow all
#http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 127.0.0.1:3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
Результат netstat -plnt
:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2222/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1108/cupsd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1307/smbd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2061/mysqld
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 1627/systemd-resolv
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1307/smbd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1699/nginx: master
tcp6 0 0 :::22 :::* LISTEN 2222/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1108/cupsd
tcp6 0 0 :::3000 :::* LISTEN 2204/gitea
tcp6 0 0 :::445 :::* LISTEN 1307/smbd
tcp6 0 0 :::5355 :::* LISTEN 1627/systemd-resolv
tcp6 0 0 :::139 :::* LISTEN 1307/smbd
tcp6 0 0 :::80 :::* LISTEN 1699/nginx: master
Результаты telnet localhost 3128
:
seeng@GITServ:~$ telnet localhost 3128
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Результаты telnet {hostIP} 3128
с удаленной машины:
PS C:\Users\James.Hughes> telnet {hostIP} 3128
Connecting To 10.230.48.93...Could not open connection to the host, on port 3128: Connect failed
Этот сервер доступен только из сети компании, однако через cache peer
у него есть доступ к Интернету. По сути, я хочу, чтобы любой компьютер, который может подключиться к этому серверу, был проксирован на одноранговый узел кеша (который затем отправляет его в WWW), который работал до обновления, не беспокойтесь о безопасности или доступе.
Любые идеи?
В вашем сообщении я вижу две проблемы. Во-первых, похоже, что squid не работает и не прослушивает порт 3128, как видно из вывода netstat
. На порту 3128 нет процесса прослушивания.
Другая проблема заключается в том, что ваша конфигурация squid определяет http_port как:
http_port 127.0.0.1:3128
Это означает, что он будет прослушивать только интерфейс обратной петли и не будет подключаться ни к какому хосту, кроме localhost.
Проблема заключалась в использовании 127.0.0.1:3128
как часть http_port
директива.
Если я изменю это на просто 3128
он работает нормально. Я предполагаю, что он только прослушивал соединения с localhost на этом порту.