Por que não consigo fazer telnet para uma porta local que tenha um serviço de escuta?

3

Suspeito que seja uma questão muito simples ou muito complexa.

Eu tenho um servidor headless rodando o ubuntu 10.04 que eu posso usar. Eu tenho acesso root completo ao sistema. Eu estou tentando configurar um túnel ssh para permitir-me vnc para o sistema (mas isso não é minha pergunta.

Eu tenho vnc em execução na porta 5903, aqui está a saída do netstat para isso:


Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5903            0.0.0.0:*               LISTEN      7173/Xtightvnc
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
465/sshd

Mas quando tento fazer telnet para essa porta, de dentro do mesmo sistema e login, não consigo conectar erros


# telnet localhost 5903
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection timed out

Eu posso fazer telnet para a porta 22 (como uma verificação)


~# telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7

Eu tentei abrir todas as portas possíveis usando o ufw (provavelmente de forma desajeitada)


# ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 5903                       ALLOW IN    Anywhere
[ 2] 22                         ALLOW IN    Anywhere

O que mais pode estar bloqueando essa conexão localmente?

Obrigado,

Editar:

A única referência à porta 5903 em iptable -L -n é esta:


Chain ufw-user-input (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5903
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:5903
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:8080

Eu posso postar toda a saída se isso for útil.

hosts.allow e hosts.deny contêm apenas comentários.

Re-edite: Algumas outras questões me apontaram para o nmap, então eu executei um portscan através desse utilitário:


# nmap -v -sT localhost -p1-65535

Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-09 09:58 PST
NSE: Loaded 0 scripts for scanning.
Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1.
Initiating Connect Scan at 09:58
Scanning localhost (127.0.0.1) [65535 ports]
Discovered open port 22/tcp on 127.0.0.1
Connect Scan Timing: About 18.56% done; ETC: 10:01 (0:02:16 remaining)
Connect Scan Timing: About 44.35% done; ETC: 10:00 (0:01:17 remaining)
Completed Connect Scan at 10:00, 112.36s elapsed (65535 total ports)
Host localhost (127.0.0.1) is up (0.00s latency).
Interesting ports on localhost (127.0.0.1):
Not shown: 65533 filtered ports
PORT   STATE  SERVICE
22/tcp open   ssh
80/tcp closed http

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 112.43 seconds
           Raw packets sent: 0 (0B) | Rcvd: 0 (0B)

Eu acho que isso mostra que o 5903 está bloqueado de alguma forma. Que eu praticamente sabia. A questão permanece o que está bloqueando e como modificar.

Re-re-edit:

Para verificar a resposta sugerida por Paul Lathrop, primeiro verifiquei meu endereço IP com ifconfig:


eth0      Link encap:Ethernet  HWaddr 02:16:3e:42:28:8f
          inet addr:10.0.10.3  Bcast:10.0.10.255  Mask:255.255.255.0

Em seguida, tentei fazer o telnet para o 5903 a partir desse endereço:


# telnet 10.0.10.3 5903
Trying 10.0.10.3...
telnet: Unable to connect to remote host: Connection timed out

Sem sorte.

Re-re-re-re-re-edit:

Ok, acho que o isolei um pouco para o vncserver, não para o firewall. Eu desliguei o vncserver e tive o netcat listen na porta 5903. Meu cliente vnc foi capaz de estabelecer uma conexão e esperar por uma resposta. Parece que eu deveria estar perseguindo um problema com vnc. Pelo menos, isso é progresso Obrigado pela ajuda

    
por Skip Huffman 09.11.2011 / 17:29

2 respostas

2

Ok, acho que o isolei um pouco para o vncserver, não para o firewall. Eu desliguei o vncserver e tive o netcat listen na porta 5903. Meu cliente vnc foi capaz de estabelecer uma conexão e esperar por uma resposta. Parece que eu deveria estar perseguindo um problema com vnc. Pelo menos, isso é progresso Obrigado pela ajuda

    
por 15.11.2011 / 17:55
1

O mais provável é que o seu servidor VNC não esteja vinculado à interface de loopback. Eu me deparo com isso com alguns daemons Java também, eles afirmam estar ouvindo em 0.0.0.0 que intuitivamente deve incluir loopback, mas na verdade eles estão ligados apenas às interfaces de rede "externas". Experimente: telnet <LOCAL_IP> 5904 ; se ele se conecta, então seu servidor VNC não está vinculado à interface de loopback.

    
por 09.11.2011 / 22:51