Pode SSH e acertar a porta 80 (com nginx ouvindo), mas não pode pingar, ou acertar qualquer outra porta (aparentemente?)

1

Batendo com a cabeça nesta semana toda, e quando a sexta-feira chega ao fim, decidi perguntar à internet para ver se alguém tem algum insight

Vou lançar todas as informações que julgo poderem ser relevantes, mas também estou omitindo muitas informações que considero não relevantes

Eu tenho uma instância na nuvem executando o Ubuntu. Um engenheiro de outro departamento configurou isso para mim e, para que eu possa utilizá-lo, preciso usar uma .pem key

ssh -i mykey.pem ubuntu@IPOMITTED

Para testar minha sanidade, instalei o nginx e acessei com sucesso a página de boas-vindas quando acessei o servidor com / $ curl http://IPOMITTED:80

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

...

Mas, se eu tentar fazer ping no servidor, ele falhará

ping IPOMITTED
PING IPOMITTED (IPOMITTED): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
...

Qual seja o que for, pode não ser um problema.

O problema é que estou tentando ativar um servidor chamado Sync Gateway, que escuta na porta 4984.

Estou certo de que o instalei corretamente, pois posso acertar se fizer uma solicitação localmente. Eu não tenho certeza se estou faltando algum tipo de configuração, aqui estão duas linhas relevantes no arquivo de configuração para sync_gateway (mas realmente não há mais nada neste arquivo)

"adminInterface": "127.0.0.1:4985",
"interface": ":4984",

Aqui está o meu stat net:

sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:4985          0.0.0.0:*               LISTEN      2148/sync_gateway
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1070/sshd       
tcp6       0      0 :::4984                 :::*                    LISTEN      2148/sync_gateway
tcp6       0      0 :::22                   :::*                    LISTEN      1070/sshd       
udp        0      0 0.0.0.0:68              0.0.0.0:*                           921/dhclient    

Aqui está o que recebo quando faço uma solicitação local:

$ curl localhost:4984
{"couchdb":"Welcome","vendor":{"name":"Couchbase Sync Gateway","version":"2.0"},"version":"Couchbase Sync Gateway/2.0.0(832;2d8a6c0)"}

Mas se eu tentar fazer a solicitação remotamente:

$ curl IPOMITTED:4984
curl: (7) Failed to connect to IPOMITTED port 4984: Operation timed out

Alguém tem alguma idéia de como eu posso depurar ainda mais isso? Eu tenho muito pouca experiência em redes, sou de engenharia de clientes, então qualquer idéia pequena provavelmente seria útil.

Obrigado pelo seu tempo!

EDITAR: Mais algumas informações como por @Steve:

$ sudo ufw status verbose
Status: inactive

-

$ sudo iptables -nvL
Chain INPUT (policy ACCEPT 276K packets, 17M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER-USER  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 DOCKER-ISOLATION-STAGE-1  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      br-7d807f03cf39  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  *      br-7d807f03cf39  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  br-7d807f03cf39 !br-7d807f03cf39  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  br-7d807f03cf39 br-7d807f03cf39  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 273K packets, 116M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  br-7d807f03cf39 !br-7d807f03cf39  0.0.0.0/0            0.0.0.0/0           
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-ISOLATION-STAGE-2 (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 DROP       all  --  *      br-7d807f03cf39  0.0.0.0/0            0.0.0.0/0           
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0      
    
por A O 12.05.2018 / 02:00

2 respostas

1

Sim, apesar de eu ter basicamente perguntado com essa pergunta e informações exatas, o administrador do meu servidor me disse que não era um problema de firewall. Mas eu voltei para eles e disse para checar novamente, e sim, foi tão simples quanto adicionar uma exceção para a porta 4984.

Eu acredito que a confusão foi quando o administrador assumiu que eu tinha feito algo errado, e parou de ouvir quando eu expliquei que eu era capaz de obter uma resposta da porta 80, mas não 4984

T.T

    
por A O 14.05.2018 / 19:30
1

127.0.0.1:4985 significa que somente o host local pode acessá-lo, esse é seu primeiro problema.

Para testes de rede, você pode abrir uma conexão simples com o comando nc :

nc -l -p 4984

Em seguida, conecte-se a partir de uma conexão remota. Tente várias portas. É provável que haja um problema de firewall de rede se isso estiver "na nuvem".

    
por rtaft 13.05.2018 / 00:45