A ligação a 0.0.0.0 apenas detectou endereços locais

1

Eu não sou um cara de servidor, e minhas habilidades de rede estão um pouco enferrujadas, então essa pode ser uma pergunta simples. Em uma máquina archlinux novinha em folha, eu configurei o sshd, e disse para ligar para 0.0.0.0:9223. Uma vez em execução, usei o netstat para confirmar que estava escutando *: 9223.

Executando "ssh -p 9223 localhost" conectado bem, mas as conexões remotas falharam. Eu então tentei "ssh -p 9223 [REMOTE_IP]" no servidor, e isso falhou.

Depois de tentar encontrar a origem do problema e falhar, configurei o sshd para vincular a [REMOTE_IP] e, de repente, tudo funcionou.

Então, minha pergunta é, o que faria com que um socket ligado a 0.0.0.0 ignorasse conexões do endereço IP da interface eth0?

    
por Mike Douglas 04.12.2010 / 07:59

1 resposta

6

O caso pode ser que sua interface eth0 esteja usando o protocolo IPv6. Ao configurar o servidor ssh com ListenAddress 0.0.0.0 in /etc/ssh/sshd_config , você desativou o protocolo IPv6. netstat , em seguida, tem apenas uma entrada para o ssh, começando com tcp . Adicione uma linha ListenAddress :: para também ouvir em tcp6 . netstat deve reportar duas entradas para o servidor ssh, uma em tcp6 :::9223 e outra em tcp 0.0.0.0:9223

    
por 04.12.2010 / 08:57