Como posso determinar se uma porta está aberta no meu servidor? Se estiver fechado, como posso abri-lo?

2

Acabei de configurar o ElasticSearch no meu servidor, mas não consigo me conectar a ele remotamente (o padrão é a porta 9200). Eu posso me conectar a ele via localhost, mas não consigo me conectar a ele remotamente quando especifico o endereço IP. Eu suponho que isso é porque a porta está fechada (mas não tenho certeza). Assim, gostaria de saber como verificar se uma determinada porta está aberta e, além disso, como abrir uma porta que possa estar fechada.

    
por Eva 04.12.2012 / 00:43

4 respostas

5

Para verificar as portas abertas no seu servidor, você pode fazer isso como sudo:

iptables --list

Para abrir uma porta TCP (porta 9200)

iptables -I INPUT -p tcp --dport 9200 --syn -j ACCEPT

Para porta UPD, você usaria (porta 9200)

iptables -I INPUT -p udp --dport 9200 -j ACCEPT

Por fim, para salvar as alterações, use:

service iptables save

No entanto, como o @Codezilla mencionou, você provavelmente está atrás de um roteador e precisa encaminhar as portas.

    
por 04.12.2012 / 01:05
2

Parece que você está atrás de um roteador, você provavelmente precisará encaminhar as portas. Se este for o caso, confira este site para uma explicação muito fácil de como configurar o encaminhamento de porta. Você precisa encaminhar as portas do roteador para que as pessoas de fora da rede acessem determinados aplicativos / serviços em determinadas portas. Basicamente, ele diz ao roteador que sempre que alguém quiser ver o servidor da Web em seu endereço IP, por exemplo (ou que os aplicativos do ElasticSearch), ele sabe encaminhar a solicitação ao computador apropriado por trás do roteador.

link

    
por 04.12.2012 / 00:51
1

Existem algumas maneiras de fazer isso ...

Primeiro, em qual sistema operacional você está hospedando o ElasticSearch? Janelas? Linux? Quando você diz remotamente, você quer dizer outras máquinas que não a sua máquina ou você quer dizer computadores não conectados à sua LAN na Internet?

Para referência futura, diga qual sistema operacional você está usando no POST. Eu não notei as tags do CentOS até ter 20 minutos para escrever uma resposta sobre como fazer isso no Windows ...

Tente

sudo iptables -L

você vê uma regra que permite a porta 9200 nessa lista? se não, você provavelmente só tem que adicionar uma nova regra para permitir conexões no 9200 (TCP eu vou adivinhar)

tente isso (como root)

iptables -A INPUT -m tcp -p tcp --dport 9200 -j ACCEPT  
iptables -A INPUT -m udp -p udp --dport 9200 -j ACCEPT
    
por 04.12.2012 / 01:04
1

Se você tiver problemas de permissão, tente usar sh para salvar sua configuração iptables :

sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    
por 03.03.2016 / 16:13