A conexão Telnet foi fechada por um host externo

1

O client PC IP: 10.49.46.5/24 e o server PC IP: 10.49.46.2/24 são dois computadores ligados à mesma rede. Quando tento criar uma comunicação interativa entre esses dois computadores usando o comando telnet , obtenho o seguinte:

[root@xxx:~]# telnet 10.49.46.2
Trying 10.49.46.2...
Connected to 10.49.46.2.
Escape character is '^]'.

Connection closed by foreign host.
[root@xxx:~]#

O servidor xinetd.conf é o seguinte:

    defaults
    {
            instances               = 60
            log_type                = SYSLOG authpriv
            log_on_success          = HOST PID EXIT
            log_on_failure          = HOST ATTEMPT
            cps                     = 25 30
    }
includedir /etc/xinetd.d

O servidor telnet.config é o seguinte:

service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/telnetd
        log_on_failure  += USERID
        instances       = 10
        disable         = no
}

O TCPWrapper hosts.allow é:

telnetd: /etc/telnetd.hosts
tfdpd: /etc/tftpd.hosts
sshd: /etc/sshd.hosts

O TCPWrapper hosts.deny é:

ALL:ALL

AGORA:

  1. Eu verifiquei ssh e está sendo executado em port 22 .
  2. Eu verifiquei /var/log/message e descobri que o comando xinetd inicia e sai do telnet imediatamente.
  3. Eu verifiquei que iptables não solta o pacote telnet usando o comando: iptables -L

Você poderia me ajudar a descobrir qual é o problema e como posso corrigi-lo?

    
por Yuri 23.09.2017 / 10:12

2 respostas

0

xhienne faz alguns bons pontos. O handshake TCP está sendo concluído. Que a conexão é então fechada significa uma das duas coisas.

1) O serviço telnetd está falhando quando é iniciado (verifique seus logs)

2) o cliente do qual você está se conectando não está listado em /etc/telnetd.hosts (verifique seus logs ou renomeie /etc/hosts.deny temporariamente para confirmar)

The client IP: 10.49.46.5/24

Não, os endereços de host IP não têm máscaras de rede.

E por favor, pare de usar o telnetd. Toda vez que você telnet uma gatinha chora. (use ssh ou telnet-tls)

    
por 25.09.2017 / 23:19
0
[root@xxx:~]# telnet 10.49.46.2
Trying 10.49.46.2...
Connected to 10.49.46.2.
Escape character is '^]'.

Isso significa que você estabeleceu com sucesso uma conexão TCP com o daemon remoto. Que daemon? O xinetd one que serve como um hub. Agora que você está conectado, xinetd tenta iniciar o serviço específico ( telnet ).

Connection closed by foreign host.

Isso significa que o lançamento do serviço telnet falhou. Você pode querer adicionar opções de depuração à linha de comando telnetd e ler xinetd logs para ver exatamente o que falhou.

Parece que você está executando a versão BusyBox de telnetd . Ao contrário das versões clássicas de telnetd , a fornecida com o Busybox é um daemon independente que precisa de uma opção -i para fazer interface com inetd (serviços lançados por inetd têm uma interface específica incompatível com um daemon independente: eles devem não abrir e ouvir soquetes, eles devem se comunicar com o cliente através de stdin / stdout).

Sua configuração xinetd deve ser:

service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/telnetd
        server_args     = -i
        log_on_failure  += USERID
        instances       = 10
        disable         = no
}
    
por 23.09.2017 / 13:33