O comando netcat não pode acessar uma porta aberta

6

Eu tenho dois servidores sobre os quais estou tentando instalar algum software. Um é o servidor1 (IP 10.1.2.205) e o outro é o servidor2 (IP 10.1.2.206). Ambos são capazes de pingar uns aos outros por nome e por endereço IP (ou seja, do servidor2 eu posso ping server1 ou ping 10.1.2.205 )

Eu tenho a seguinte saída quando digito netstat -lnt no server1

    Proto Recv-Q Send-Q Local Address ForeignAddress State  
    tcp        0      0 0.0.0.0:111    0.0.0.0:*     LISTEN 
    tcp        0      0 0.0.0.0:22     0.0.0.0:*     LISTEN 
    tcp        0      0 127.0.0.1:631  0.0.0.0:*     LISTEN 
    tcp        0      0 127.0.0.1:25   0.0.0.0:*     LISTEN 
    tcp        0      0 0.0.0.0:52666  0.0.0.0:*     LISTEN 
    tcp        0      0 0.0.0.0:6817   0.0.0.0:*     LISTEN 
    tcp        0      0 0.0.0.0:6818   0.0.0.0:*     LISTEN 
    tcp        0      0 0.0.0.0:5672   0.0.0.0:*     LISTEN 
    tcp        0      0 :::111         :::*          LISTEN 
    tcp        0      0 :::22          :::*          LISTEN 
    tcp        0      0 ::1:631        :::*          LISTEN 
    tcp        0      0 :::36483       :::*          LISTEN 
    tcp        0      0 :::5989        :::*          LISTEN  

Agora, quando tento usar o comando netcat do server2, obtenho os seguintes resultados:

nc -v 10.1.2.205 22 e Connection to server1 22 port [tcp/ssh] succeeded! SSH-2.0-OpenSSH_5.3

nc -v server1 22 e Connection to server1 22 port [tcp/ssh] succeeded! SSH-2.0-OpenSSH_5.3

O problema é com as seguintes saídas:
nc -v server1 5989
nc: connect to server1 port 5989(tcp) failed: No route to host
Eu recebo a mesma resposta em todas as outras portas.
Nenhuma outra porta no server1 responde. Minhas portas de interesse são as portas 6817 e 6818. Eu tenho um aplicativo que precisa ouvir e responder nessas portas entre essas duas máquinas.

Saída de: iptables -L

    Chain INPUT (policy ACCEPT)
    target  prot opt source   destination         
    ACCEPT  all  --  anywhere anywhere  state RELATED,ESTABLISHED           
    ACCEPT  icmp --  anywhere anywhere            
    ACCEPT  all  --  anywhere anywhere            
    ACCEPT  tcp  --  anywhere anywhere  state NEW tcp dpt:ssh 
    REJECT  all  --  anywhere anywhere  reject-with icmp-host-prohibited 

    Chain FORWARD (policy ACCEPT)
    target  prot opt source   destination         
    REJECT  all  --  anywhere anywhere    reject-with icmp-host-prohibited 

    Chain OUTPUT (policy ACCEPT)
    target  prot opt source   destination    

O que poderia estar errado?

    
por Arjun J Rao 05.11.2013 / 13:05

2 respostas

7

Eu acho que você está usando o Centos. Como você pode ver nas regras do iptables, todas as conexões tcp diferentes da porta 22 estão bloqueadas.

Tente lavar as regras do iptables:

$ sudo iptables -F

Isso deve remover todas as regras do iptables. Deixe-me saber se isso funciona ou não.

    
por 05.11.2013 / 14:49
1

Depois de ter resolvido as regras de firewall como discutido acima, ainda pode haver alguma dificuldade em conectar o cups admin em 631 de outras máquinas.

Se você observar o formato do endereço IP antes do número da porta na saída do netstat, poderá ver que o serviço em execução na porta 631 parece estar ouvindo um intervalo de IP diferente dos outros serviços. Parece que está apenas ouvindo o endereço IP 127.0.0.1:631 e :: 1: 631, e não 0.0.0.0:631 ::: 631.

Isto sugere que ele está escutando na interface de loopback lo0 e não na interface principal da ethernet.

Você pode confirmar isso comparando a saída de

netstat -L lo0
netstat -L eth0  (or the name of your default network interface)

Esta é a configuração e o comportamento padrão da ferramenta de administração do CUPS.

Ele só aceita acesso administrativo a páginas da Web do host local. Veja /etc/cupsd.conf (man 5 cupsd.conf) para mais informações sobre como configurar o servidor cups para permitir acesso administrativo remoto.

Você provavelmente precisará alterar "Listen localhost: 631" para "Listen *: 631" e adicionar uma linha "Allow 10.1.2.206" ou especificar um IP e uma máscara de rede logo abaixo das linhas "Allow @LOCAL" (local interface), particularmente na seção / admin do arquivo de configuração e, em seguida, reinicie cupsd ("/etc/init.d/cups restart")

    
por 05.11.2013 / 14:25

Tags