Einige Pakete werden gestoppt, bevor sie die Firewall erreichen

Einige Pakete werden gestoppt, bevor sie die Firewall erreichen

Ich habe eine Anwendung, die auf Port 20514 lauscht:

$ 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

Ich kann mit tcpdump Pakete sehen, die auf meinen Computer gelangen

$ 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 lässt (zu diesem Zeitpunkt) alles zu. Beachten Sie, dass es keine Pakete meldet, die der Regel von 172.18.248.0/28 entsprechen, obwohl wir oben eines sehen. In jeder Konvertierung ist -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

Es scheint also, dass Pakete gestoppt werden, nachdem sie die Schnittstelle erreicht haben, aber bevor sie die Firewall erreichen.

Wo kann ich sonst noch nachsehen, warum auf meinen Computer eingehende Pakete die Anwendung nicht erreichen?

Antwort1

Das Problem bestand darin, dass Docker Schnittstellen zu Netzwerken erstellte, die sich mit der Quelladresse der Pakete überschnitten.

Obwohl ich alle von Docker in IPtables erstellten Regeln gelöscht hatte, musste ich am Ende /etc/docker/daemon.json ändern, um Netzwerke in einem anderen IP-Bereich zu starten. Dann entfernte ich alle meine Container und löschte alle von Docker erstellten Netzwerke. Es gibt vielleicht eine weniger destruktive Möglichkeit, die Docker-Netzwerkschnittstellen zu löschen, aber ich war an nichts gebunden.

Danach kamen Pakete durch. Es schienen also die Netzwerkschnittstellen selbst zu sein, die das Problem verursachten.

verwandte Informationen