Primeiro, verifique as entradas em /var/log/secure
para algo assim:
Feb 1 19:59:58 vps001 sshd[30375]: error: connect_to
www.somenonexistingdomain.com: unknown host (Name or service not known)
segundo, verifique se o selinux está bloqueando; (se você é baseado em RedHat))
$ sudo ausearch -m avc -c httpd
----
time->Sat Jan 6 08:58:11 2018
type=AVC msg=audit(1515229091.030:7212): avc: denied { map } for pid=20581 comm="httpd" path="/var/
você pode testar e desativar o selinux assim;
[~] $ sudo getenforce
Enforcing
[~] $ sudo setenforce Permissive
[~] $ sudo getenforce
Permissive
teste e veja se está funcionando agora.
[~] $ sudo setenforce Enforcing
Eu obtenho o comportamento open failed: administratively prohibited
se o servidor não puder se conectar ao site que você está solicitando no outro lado.
Por exemplo, se eu enviar uma solicitação para www.somenotexistingdomain.com
por meio de um proxy socks 5 ssh -S none -D1083 -vvv my.cheap.vps.com
, isso resultará nessa saída;
debug1: Connection to port 1083 forwarding to socks port 0 requested.
debug2: fd 10 setting TCP_NODELAY
debug2: fd 10 setting O_NONBLOCK
debug3: fd 10 is O_NONBLOCK
debug1: channel 4: new [dynamic-tcpip]
....
debug2: channel 4: dynamic request: socks5 host www.somenonexistingdomain.com port 80 command 1
debug3: send packet: type 90
debug3: receive packet: type 92
channel 4: open failed: administratively prohibited: open failed
debug2: channel 4: zombie
debug2: channel 4: garbage collecting
debug1: channel 4: free: direct-tcpip: listening port 1083 for www.somenonexistingdomain.com port 80, connect from 127.0.0.1 port 42598 to 127.0.0.1 port 1083, nchannels 22
e você pode ver que não pode se conectar.
Se tiver certeza de que o servidor que você está tentando acessar existe; Por exemplo, primeiro teste que você pode usar wget
ou curl
do site a partir da linha de comando remotamente.
$ wget -S -O - www.bbc.co.uk > /dev/null
Resolving www.bbc.co.uk (www.bbc.co.uk)... 212.58.244.69, 212.58.246.93
Connecting to www.bbc.co.uk (www.bbc.co.uk)|212.58.244.69|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 301 Moved Permanently
Server: nginx
Se isso não funcionar, é possível que, se você estiver encaminhando para o DNS proxy, o servidor remoto não consiga resolver o DNS. Então, verifique isso;
$ dig www.bbc.co.uk +short
www.bbc.net.uk.
212.58.246.91
212.58.244.67
e também verificar conexão direta com a porta usando netcat, telnet etc. no entanto, puxar o site com o wget deve ter testado tanto a conexão tcp quanto o DNS.
$ telnet www.bbc.co.uk 80
Trying 212.58.244.26...
Connected to www.bbc.co.uk.
Escape character is '^]'.
e definitivamente verifique as entradas no arquivo / var / log / secure.
Falha ao ativar o registro em log ( ssh -vvvvvvv
) e observar os dois lados da conexão.