Na verdade, quando você faz:
$ ssh -f -N -D 0.0.0.0:8080 [email protected]
$ curl --socks5 192.168.3.182:8080 ip.appspot.com
Os seguintes eventos ocorrem:
- CURL abre uma conexão TCP de [YOUR-HOST]: [RANDOM-PORT] para o servidor SOCKS que o SSHD executa em 192.168.3.182:8080
- O SSHD aceita a conexão
- O CURL pede ao SSHD para abrir uma nova conexão de 192.168.3.182: [RANDOM-PORT] para ip.appspot.com:80
- O SSHD tenta abrir uma conexão TCP e falha
- O SSHD retorna uma mensagem de falha: "canal 1: falha na abertura: proibida administrativamente: falha na abertura"
O SSHD não pode abrir uma nova conexão porque os pacotes IP destinados a ip.appspot.com:80 estão sendo gerados na caixa do roteador - não sendo roteados por ele. Por causa disso, os pacotes não recebem a marca, o kernel pula as tabelas myusb0 e myusb1 e a ausência de uma entrada de rota correspondente em main table causa um erro rede inacessível . Se você quisesse gerenciar pacotes gerados localmente, a cadeia correta na tabela mangle seria OUTPUT em vez de PREROUTING .
Sobre o problema do teste de porta:
$ curl portquiz.net:8080
curl: (7) Couldn't connect to server
Por favor, verifique a configuração do roteador:
-
Existe um gateway padrão na tabela "principal"?
$ ip route show
-
O encaminhamento de pacotes está ativado?
$ cat /proc/sys/net/ipv4/ip_forward
-
Os pacotes estão sendo NAT?
$ iptables -t nat -nvL # iptables -t nat -A POSTROUTING -o myusb0 -j MASQUERADE # iptables -t nat -A POSTROUTING -o myusb1 -j MASQUERADE