Eu tenho um Raspberry Pi3 com Raspbian Stretch que está atrás de um roteador doméstico.
/var/log/auth.log no RPi mostra consistentemente tentativas de login com nomes de usuário genéricos (raiz, operador, webmaster etc.), em portas aleatórias com números altos, 3 tentativas a cada 10 segundos aproximadamente, a partir de um endereço chinês. Eu sei que isso não é surpreendente.
O que eu não entendo é como o PuTTY não consegue acessar o mesmo servidor quando tento entrar em contato através do meu IP público?
Sou muito novato neste campo, mas com o meu conhecimento, este é um paradoxo completo.
Algumas notas técnicas adicionais:
iptables está intocado
O nmap para o meu endereço IP público fornece "todas as 1000 portas verificadas são filtradas"
- um servidor LAMP funcional hospeda um Owncloud que funciona, mas apenas da LAN, pois qualquer tentativa de contato com meu endereço IP público falha miseravelmente.
- minhas tentativas de conexão com meu IP público são feitas na mesma LAN que os RPi's.
- a porta 22 é redirecionada para o RPi no roteador e o firewall do roteador está completamente desligado para os meus testes atuais.
- no roteador, meu RPi está definido para estar na DMZ. Afaik, os resultados são os mesmos com esta configuração desativada.
Onde meus pacotes são descartados e por quê?
Onde eu poderia procurar o log que me mostraria?
desde já, obrigado
fonte
Respostas:
Esse é um problema comum causado pela incapacidade de executar um NAT com gancho de cabelo. A maioria dos roteadores domésticos baratos lida com isso simplesmente ativando o encaminhamento de porta. No entanto, os roteadores mais avançados realmente precisam de regras separadas para resolver o problema.
Suas regras NAT normais funcionam apenas fora da sua rede. Se você tentar se conectar de dentro da sua rede, há um problema de NAT.
Considere isto...
Server A
na sua rede local com IP10.10.10.10
.Computer A
na sua rede local com IP10.10.10.20
.Router A
umLAN
IP de10.10.10.1
e umWAN
IP de11.11.11.11
.Computer B
fora da sua rede com IP12.12.12.12
.port 22
enviou do seu IP da WAN paraServer A
.Fora da sua rede, o tráfego fica assim:
O computador B tenta se conectar ao servidor A:
O NAT do roteador A envia o pacote para o servidor A:
O servidor A responde ao computador B:
O roteador A envia NAT ao pacote e o envia ao computador B:
Tudo funciona como pretendido. Agora, considere o mesmo cenário, mas de dentro da sua rede:
O computador A tenta se conectar ao servidor A:
O NAT do roteador A envia o pacote para o servidor A:
O servidor A responde ao computador A:
O IP de origem está na mesma sub-rede que o IP de destino.
Server A
não envia o pacote de volta ao roteador, ele o envia diretamente paraComputer A
.Computer A
descarta o pacote, porque ele veio10.10.10.10
e enviou o pacote original para11.11.11.11
. Ele espera que o pacote retorne11.11.11.11
.Para resolver o problema, você deve criar uma segunda regra NAT mais específica para corresponder ao tráfego originado dentro da sua rede. Ele virá após a regra NAT original. Você precisará fazer um NAT de origem parecido com este:
Agora, vejamos isso novamente:
O computador A tenta se conectar ao servidor A:
O NAT do roteador A envia o pacote para o servidor A:
O servidor A responde ao computador A:
O NAT do roteador A envia o pacote para o computador A:
Tudo funciona como pretendido.
Como você implementa essa segunda regra NAT depende do hardware e do software do roteador. Sua milhagem pode variar.
fonte