(Sou novo nisso!) Estou executando um servidor virtual rodando CentOS. Estou tentando executar um servidor que escuta na porta 37760. O código que estou executando é executado com êxito, então executo
netstat -lptu
Para mostrar uma lista de portas em escuta e
tcp 0 0 localhost.localdomain:37760 *:* LISTEN 15006/node
é uma das entradas. Porém, quando vou para ip:37760 no meu navegador, a conexão atinge o tempo limite!
Tenho certeza que é muito óbvio, mas alguma ajuda seria muito útil!!
Obrigado
Responder1
A netstat
saída mostra que node
está escutando apenas no host local, então você precisa usar um navegador nesse console virtual e navegar localhost:37760
ou atualizar a configuração do que quer que node
esteja para escutar em todos os endereços.
Responder2
Há uma excelente chance de que seu firewall local esteja bloqueando a conexão.
Verifique seu iptables
firewall local. Você pode ver o estado atual executando algo como:
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 pela 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 system-config-firewall
ferramenta se desejar um mecanismo de configuração GUI ou pode aproveitar esta oportunidade para aprender mais sobre como funciona a configuração do firewall na linha de comando.
Responder3
CentOS, por padrão, transformaTabelas IPativado 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 descarta todas as conexões de entrada, exceto SSH. Se você não está preocupado com segurança, você pode simplesmente executar
sudo service iptables stop
para desligar o IPTables completamente.
A outra coisa que pode estar atrapalhando você, no CentOs, éSELinux. Isso atua como uma segunda camada de segurança nos processos e no sistema de arquivos e evita que alguns servidores tenham permissão para servir arquivos por padrão, uma vez que eles não têm acesso ao diretório de onde servir os arquivos. Você tem algumas opções aqui.
1) Desligue o SELinux alterando a configuração /etc/selinux/config
conforme mostrado 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 issoCentOSEntrada Wiki, bem comoesseentrada do blog.
Por fim, se você estiver executando em uma VM, certifique-se de que sua VM tenha acesso à rede e permissões para usar a configuração NIC do hardware subjacente.