Não consigo detectar conexões de entrada de clientes de sincronização Nextcloud via netstat no meu servidor.
Eu tenho um servidor na minha LAN, executando o Nextcloud com MySQL em contêineres docker. Eu uso vários clientes Nextcloud (Linux, macOS e iOS), tudo está funcionando bem.
Quero verificar se os clientes estão conectados ao meu servidor no nível do host. Com o netstat, consigo ver se um cliente está conectado por meio da interface do usuário da Web do Nextcloud, mas não reconheço as conexões do cliente de sincronização do Nextcloud.
Alguém sabe o parâmetro netstat que estou perdendo? Qualquer dica é bem vinda.
BR Stefan
As conexões provavelmente são DNAT para os contêineres. Isso significa que o host agora está agindo como um roteador entre "fora" e os contêineres.
netstat
não exibirá essas conexões. Você precisará de ferramentas adicionais para os fluxos ausentes.Uma dessas ferramentas é o
conntrack
, que consulta o conntrack sobre conexões rastreadas. Usando este comando com a opção-j
:exibirá apenas conexões NATed, mostrando assim os fluxos atuais ativos estabelecidos entre os contêineres e fora e complementando a saída do
netstat
.Se você quiser uma saída semelhante
netstat
, tente, se disponívelnetstat-nat
, que depende mais ou menos do mesmo mecanismo.Um outro método, para executar em loop, seria consultar o Docker (usando
docker
diretamente no host) sobre o pid principal de cada contêiner e usar o resultado para acessar a rede do contêiner, para executar umnetstat
. Isso tem a vantagem de exibir certos estados que não são mais exibidos com conntrack (comoCLOSE_WAIT
, geralmente um sintoma de problemas em um aplicativo).Dado um contêiner do Docker em execução chamado
containername
, isso deve obter todas as suas conexões de rede, conforme visto de seu próprio ponto de vista, mesmo que o próprio contêiner não tenha nenhum comando útil para isso: