Verarbeitung von DHCP-Unicast-Paketen unter Linux

Verarbeitung von DHCP-Unicast-Paketen unter Linux

Ich versuche, DHCP-Pakete aus einer ERSPAN-Sitzung abzufangen und zu verarbeiten (in einer Analyse-App eines Drittanbieters), aber das gelingt mir nicht. Es gibt eine PHY-Schnittstelle, die ERSPAN-Verkehr empfängt, und eine Schnittstelle vom Typ „erspan“, um entkapselte Pakete abzurufen (ip link add inspan type erspan seq key 10 local 10.171.165.65 erspan_ver 1).

Ich verwende Nftables zum Abgleichen und Verarbeiten und die einfachste Regel:

table netdev inspan {
  chain catch {
    type filter hook ingress device "inspan" priority filter ; policy accept;
    iifname "inspan" udp dport 67 counter meta nftrace set 1 accept
  }
}

zeigt NUR Broadcast-Pakete (IP Daddr 255.255.255.255):

# nft monitor trace

trace id 6fd1132b inet filter input packet: iif "inspan" ether saddr 00:1a:64:33:8d:fa ether daddr ff:ff:ff:ff:ff:ff ip saddr 0.0.0.0 ip daddr 255.255.255.255 ip dscp cs0 ip ecn not-ect ip ttl 128 ip id 20986 ip protocol udp ip length 328 udp sport 68 udp dport 67 udp length 308 @th,64,96 0x1010600d5d272d200000000
trace id 6fd1132b inet filter input rule iifname "inspan" udp dport 67 counter packets 0 bytes 0 meta nftrace set 1 accept (verdict accept)

während ALLE Unicast-Pakete (die im gekapselten ERSPAN-Verkehr auf PHY vorhanden sind) in dieser Ablaufverfolgung fehlen, als ob sie irgendwo zwischen PHY und Inspan verbraucht (und gelöscht) worden wären.

Beachten Sie, dass ALLES ANDERE im Inspan erscheint (bei der Suche mit tcpdump) – alle anderen TCP-, UDP- usw.-Daten AUSSER DHCP-Uincast. Außerdem hängt es nicht von den Promisc-Einstellungen aller Schnittstellen in der Kette ab.

Das System scheint sauber zu sein. Dies ist Ubuntu 22.04, aber ohne DHCP-Server, DHCP-Clients, Netplan, Ifupdown und andere DHCP-bezogene Dinge; systemd-networkd vollständig deaktiviert (zu Testzwecken konfiguriere ich das Netzwerk manuell).

Irgendwelche Ideen, wo Unicast-DHCP-Pakete verloren gegangen sind? Für mich sieht es so aus, als ob etwas im Kernel diese Pakete abfängt und verwirft, da sie nicht für diesen Host bestimmt sind.

Danke schön.

verwandte Informationen