Alguns pacotes sendo interrompidos antes de atingir o firewall

Alguns pacotes sendo interrompidos antes de atingir o firewall

Eu tenho um aplicativo escutando na porta 20514:

$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 192.168.100.213:20514   0.0.0.0:*                           3629/python3

Posso ver pacotes entrando no meu computador com tcpdump

$ sudo tcpdump -i enp0s25 -n -N udp port 20514
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s25, link-type EN10MB (Ethernet), capture size 262144 bytes
15:54:56.832307 IP 172.18.248.3.514 > 192.168.100.213.20514: SYSLOG user.critical, length: 111

iptables está (neste ponto) permitindo tudo. Observe que ele não relata nenhum pacote que corresponda à regra 172.18.248.0/28, apesar de termos visto um acima. Em qualquer conversão, -P INPUT é ACCEPT

$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 134 packets, 79373 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  any    any     192.168.100.0/24     anywhere             tcp dpt:ssh
 4745  282K ACCEPT     tcp  --  any    any     10.8.0.0/24          anywhere             tcp dpt:ssh
    0     0 ACCEPT     all  --  any    any     172.18.248.0/28      anywhere

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 533 packets, 89933 bytes)
 pkts bytes target     prot opt in     out     source               destination

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

Chain DOCKER-ISOLATION-STAGE-1 (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-ISOLATION-STAGE-2 (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-USER (0 references)
 pkts bytes target     prot opt in     out     source               destination

Chain LOGACCEPT (0 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 LOG        all  --  any    any     anywhere             anywhere             LOG level info prefix "INPUT:ACCEPT:"
    0     0 ACCEPT     all  --  any    any     anywhere             anywhere

Parece que os pacotes estão sendo interrompidos após entrar na interface, mas antes de atingir o firewall.

Onde mais posso verificar por que os pacotes que entram em minha máquina não estão chegando ao aplicativo?

Responder1

O problema era que o Docker estava fazendo interfaces com redes que se sobrepunham ao endereço de origem dos pacotes.

Mesmo tendo limpado todas as regras do docker feitas no IPtables, acabei tendo que alterar /etc/docker/daemon.json para iniciar redes em um intervalo de IP diferente. Em seguida, removi todos os meus contêineres e excluí todas as redes que o Docker havia criado. Pode haver uma maneira menos destrutiva de excluir as interfaces de rede do docker, mas eu não estava apegado a nada.

Depois disso, os pacotes estavam chegando. Portanto, pareciam ser as próprias interfaces de rede que estavam interferindo.

informação relacionada