Tentando abrir uma porta usando o CentOS

3

(Eu sou novo nisso!) Estou executando um servidor virtual rodando o CentOS. Eu estou tentando executar um servidor que escuta na porta 37760. O código que estou executando executa com êxito, então eu corro

netstat -lptu

Para mostrar uma lista de portas ouvindo e

tcp        0      0 localhost.localdomain:37760 *:*      LISTEN      15006/node

é uma das entradas. No entanto, quando eu vou para ip: 37760 no meu navegador, a conexão expira!

Tenho certeza que é muito óbvio, mas alguma ajuda seria muito útil !!

Obrigado

    
por Max Woolf 19.03.2012 / 13:53

3 respostas

4

A saída netstat mostra que node está apenas ouvindo em localhost, portanto, você precisa usar um navegador nesse console virtual e navegar para localhost:37760 ou atualizar a configuração do que quer que seja node para ouvir em todos os endereços.

    
por 19.03.2012 / 14:23
2

Há uma excelente chance de o seu firewall local estar bloqueando a conexão.

Verifique seu firewall iptables local. Você pode ver o estado atual executando algo nos seguintes termos:

iptables -vnL

Isso produzirá uma saída semelhante a:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
9192K 3593M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   18   740 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
1763K  180M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 6124  367K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22

Essas quatro regras são assim:

  • Permitir tráfego associado a uma conexão existente
  • Permitir tráfego ICMP.
  • Permitir todo o tráfego na interface de loopback
  • Permitir novas conexões na porta TCP 22 (ssh)

Você pode ver o estado persistente em /etc/sysconfig/iptables . Você pode usar a ferramenta system-config-firewall se quiser um mecanismo de configuração da GUI ou pode usar essa oportunidade para aprender mais sobre como a configuração do firewall funciona a partir da linha de comando.

    
por 19.03.2012 / 14:06
1

O CentOS, por padrão, ativa IPTables e impõe uma política de segurança bastante rígida com o SELinux. Se você estiver tentando acessar a porta de outro computador, a configuração padrão do IPTables descartará todas as conexões de entrada, exceto o SSH. Se você não está preocupado com segurança, você pode simplesmente executar

sudo service iptables stop 

para desligar totalmente o IPTables.

A outra coisa que poderia estar prendendo você, no CentOs, é o SELinux . Isso atua como uma segunda camada de segurança nos processos e no sistema de arquivos e impede que alguns servidores tenham permissão para exibir arquivos por padrão, já que eles não têm acesso ao diretório para servir os arquivos. Você tem algumas opções aqui.

1) Desligue o SELinux alterando a configuração em /etc/selinux/config como visto abaixo:

SELINUX=disabled in /etc/selinux/config

2) Mais preferível, use audit2allow para verificar se o SELinux bloqueia seu servidor e, em caso afirmativo, gere uma nova política de segurança para permitir o servidor. Veja esta entrada do Wiki do CentOS , bem como esta entrada de blog .

Por fim, se você estiver executando em uma VM, verifique se sua VM tem acesso à rede e permissões para usar a configuração da NIC do hardware subjacente.

    
por 19.03.2012 / 14:13