netcat é bloqueado, o telnet obtém conexão

2

Estou tentando instalar um servidor svn na minha máquina Linux (Ubuntu 9.04). Eu copiei uma linha para iniciar svnserve para o arquivo inetd.conf e reiniciei inetd . Mas não consigo me conectar com um cliente svn ao servidor. Eu sempre recebo a mensagem de erro

connection refused

Agora vem a parte estranha: Se eu ligar

netcat localhost 3690

a conexão também é recusada. Mas se eu ligar

telnet localhost 3690

Eu recebo algumas respostas de svnserve .

Alguma idéia do que poderia ser a causa disso - e como posso fazer meu svnserver funcionar?

Mais alguns detalhes:

  • Eu instalei o inetutils-inetd (Versão 2: 1.6-1)
  • netstat me dá a linha

    tcp6 0 0 ::: 3690 ::: * ESCUTE

  • Se eu desabilitar todos os "endereços IPv6 especiais" em /etc/hosts , telnet parará de funcionar e me fornecerá uma "conexão recusada" também.

  • Tentei ativar o daytime service de inetd (porta 13). Mesmo comportamento: netcat não é capaz de se conectar, telnet é.
  • Até onde eu posso ver, não há firewall ( ufw está instalado, mas não habilitado).
por tangens 30.09.2010 / 22:31

2 respostas

1

O Netcat só faz o IPv4 e o servidor está apenas escutando no IPv6.

Tente definir essa opção do kernel e, em seguida, eliminar e reiniciar inetd :

sysctl net.ipv6.bindv6only=0

(E mude a linha de serviço inetd para tcp . Sobre o tempo que você começa a usar a v6)

    
por 30.09.2010 / 23:08
0

Eu mesmo encontrei a resposta ...

O problema foi esta linha no inetd.conf :

svn stream tcp nowait subversion /usr/bin/svnserve svnserve -i -r /home/svn

Depois de mudar a palavra-chave tcp para tcp4 , tudo funciona bem. Agora netstat me dá esta saída:

tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN
    
por 30.09.2010 / 23:03