telnet recusando o tráfego na porta arbitrária pela rede em 11.10

3

Eu escrevi um script python para ouvir na porta 2626 e executar o script.

prova de que localhost está escutando

tcp        0      0 127.0.0.1:2626          0.0.0.0:*               LISTEN

Eu posso conectar via telnet a esta porta através de localhost com o seguinte comando:

:~$ telnet localhost 2626
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

No entanto, quando tento me conectar de uma máquina remota, a conexão é recusada.

 :~$ telnet 128.251.xxx.xxx 2626
 Trying 128.251.xxx.xxx...
 telnet: Unable to connect to remote host: Connection refused

Até emiti o seguinte comando para aceitar tráfego na porta 2626:

 sudo iptables -A INPUT -p tcp -i eth0 --dport 2626 -j ACCEPT

Qual poderia ser a razão pela qual o telnet na porta 2626 está recusando conexões de máquinas remotas e como posso corrigi-las?

    
por sadmicrowave 11.01.2012 / 14:33

2 respostas

6

O 127.0.0.1:2626 da saída netstat indica que seu script python está aceitando apenas conexões em 127.0.0.1 . Se você deseja aceitar conexões de qualquer endereço, aceite as conexões em 0.0.0.0

    
por ajmitch 11.01.2012 / 15:00
7

Essa saída mostra que seu programa está ouvindo apenas 127.0.0.1 . Soquetes de escuta (portas abertas) são ligados a uma interface específica, como neste caso, ou a todas as interfaces (caso em que você verá 0.0.0.0 como uma notação para 'qualquer endereço'). As implicações de vincular-se a 127.0.0.1 são apenas que as conexões através dessa interface irão para o soquete de escuta e, portanto, para o seu programa. Se você estiver usando a biblioteca socket do python, ligue-se ao seu IP externo na chamada bind() ou vincule-se a todos os IPs, algo assim:

>>> import socket
>>> s = socket.socket()
>>> s.bind(('', 6666))
>>> s.listen(1)

que dá o resultado que você quer do netstat

tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN

e de fato pode ser conectado a partir de outra máquina

ial@roach> telnet polihale 6666
Trying 128.243.20.139...
Connected to polihale.
Escape character is '^]'.
    
por Iain Lane 11.01.2012 / 15:00