Ubuntu
Squid3 拒絕連接
我正在嘗試將 Squid 用作簡單的 Web 代理,但是,在將我的伺服器升級到 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
它就可以了。我猜它只是在那個埠上監聽來自本地主機的連接。