Naar de inhoud
Avanet

Sophos Firewall ARP- en NDP-neighborcache controleren

Wanneer een apparaat ondanks een correct IP-adres niet bereikbaar is, hoeft niet meteen een firewallregel of route fout te zijn. In het lokale netwerk heeft Sophos Firewall ook het juiste MAC-adres van het doel nodig. Deze koppeling wordt opgeslagen in de neighborcache.

Onder Network > Neighbors (ARP–NDP) kan worden gecontroleerd welk IP-adres momenteel bij welk MAC-adres en welke interface hoort. Leg eerst de bestaande vermelding vast en vergelijk deze met de werkelijke netwerksituatie. Alleen wanneer de koppeling verouderd is, wordt de betreffende cache geleegd en opnieuw opgebouwd.

⚠️ Flush leegt de geselecteerde IPv4- of IPv6-cache, niet slechts één regel. Op een productief systeem moet de huidige vermelding daarom eerst worden vastgelegd, de test worden afgebakend en de cache niet tijdens een belastingspiek worden geleegd.

Wat ARP, NDP en de neighborcache doen

ARP koppelt binnen het lokale Layer 2-segment een IPv4-adres aan een MAC-adres. Hiermee wordt een direct bereikbaar apparaat bedoeld, doorgaans in hetzelfde VLAN. Voor IPv6 vervult Neighbor Discovery Protocol (NDP) deze taak met ICMPv6. De firewall heeft deze informatie nodig voordat een pakket via een direct aangesloten interface naar de volgende neighbor kan worden verzonden.

Dynamisch geleerde koppelingen blijven standaard 600 seconden in de cache. Daarna worden ze indien nodig opnieuw geleerd. Een verouderde vermelding kan bijvoorbeeld ontstaan na vervanging van een apparaat of netwerkkaart, of na een VM-wijziging. Een dubbel toegewezen IP-adres kan er daarentegen toe leiden dat het zichtbare MAC-adres herhaaldelijk verandert.

De neighborcache betreft alleen direct bereikbare neighbors in het betreffende Layer 2-segment. Voor een extern doel slaat de firewall niet het MAC-adres van de doelserver op, maar dat van de volgende router.

Dit is niet hetzelfde als Proxy ARP: daarbij antwoordt de firewall op een interface namens een ander doeladres op diens IPv4-ARP-verzoek. Dit bijzondere geval wordt afzonderlijk behandeld in Proxy ARP configureren en controleren op Sophos Firewall.

Eerst de neighborcache controleren

  1. Network > Neighbors (ARP–NDP) openen.
  2. Onder Show de IPv4 neighbor cache of IPv6 neighbor cache selecteren.
  3. Naar het betreffende IP-adres zoeken.
  4. IP-adres, MAC-adres en interface noteren.
  5. Onder Static neighbor table uitsluiten dat voor hetzelfde IP-adres een vaste maar onjuiste koppeling bestaat.
  6. Het MAC-adres vergelijken met het eindapparaat, de hypervisor, de switch of de volgende router.

De interface is even belangrijk als het MAC-adres. Een correcte IP-MAC-koppeling op de verkeerde poort wijst vaak op een probleem met een VLAN, bridge, LAG of bekabeling. Het verwachte MAC-adres is bijvoorbeeld te vinden in de netwerkinformatie van het eindapparaat, in de MAC-tabel van de switch of bij de direct aangesloten router. Als de vermelding volledig ontbreekt, wordt vanaf de firewall een gerichte ping naar het betreffende IP-adres uitgevoerd en wordt de weergave daarna opnieuw gecontroleerd.

Voor IPv4 kan de actuele ARP-tabel ook in de Device Console worden weergegeven. Na aanmelding via SSH of de console Option 4: Device Console openen en uitvoeren:

system diagnostics utilities arp show

Deze opdracht leest de toestand alleen uit. Dat is vooral nuttig wanneer WebAdmin niet bereikbaar is of wanneer de koppeling tijdens een test snel moet worden gecontroleerd. Voor IPv6 blijft de weergave IPv6 neighbor cache in WebAdmin het duidelijke controlepunt. De toegang wordt uitgelegd in Via SSH verbinding maken met Sophos Firewall.

Een verouderde koppeling gecontroleerd opnieuw opbouwen

Het legen van de cache is een diagnosestap, geen permanente reparatie. Een onjuiste statische koppeling wordt er evenmin door verwijderd. Wanneer dezelfde verkeerde koppeling terugkeert, ligt de oorzaak nog steeds in het netwerk.

  1. Het huidige IP-adres, MAC-adres en de interface vastleggen.
  2. De fout reproduceren met één ping of verbindingspoging.
  3. Bij een vermoeden van een dubbel IP-adres of manipulatie eerst de huidige toestand en een korte capture bewaren. Een onmiddellijke flush zou deze aanwijzing verwijderen.
  4. Onder Show de betreffende IPv4- of IPv6-cache selecteren.
  5. Op Flush klikken. Daarmee wordt de geselecteerde cache geleegd.
  6. Vanaf het betreffende apparaat opnieuw gericht verkeer genereren.
  7. Controleren welk MAC-adres en welke interface opnieuw zijn geleerd.
  8. De oorspronkelijke service opnieuw testen met dezelfde bron en hetzelfde doel.

Voor een gecontroleerde test vanuit de Device Console kunnen bijvoorbeeld vier pakketten naar een vastgelegd doeladres worden verzonden:

ping 192.0.2.10 count 4
ping6 2001:db8:10::10 count 4

De adressen zijn voorbeelden en worden vervangen door het werkelijke IPv4- of IPv6-doel. Een geslaagde ping bevestigt alleen de fundamentele bereikbaarheid; daarna moet nog steeds de oorspronkelijk verstoorde service worden getest.

Tijdens het opnieuw leren kunnen korte vertragingen optreden. De timeout sterk en algemeen verkorten is zelden de beste oplossing: de firewall moet neighbors dan vaker opnieuw omzetten, zonder dat daarmee een dubbel IP-adres of verkeerde switchpoort wordt verholpen.

Wanneer na de flush alleen een openbaar IP-adres nog steeds niet naar het nieuwe MAC-adres van de firewall wisselt, bevindt de verouderde vermelding zich waarschijnlijk bij de provider of een voorgeschakelde router. Daarvoor bestaat de aparte procedure ARP-problemen na een firewallmigratie oplossen.

Alleen voor vaste koppelingen een statische neighbor aanmaken

Een statische neighbor koppelt een IP-adres permanent aan een MAC-adres en een fysieke interface. Per IP-adres kan slechts één dergelijke koppeling bestaan. De firewall controleert statische vermeldingen vóór de dynamische cache en verwijdert bij het opslaan dynamische verwijzingen voor hetzelfde IP-adres. Wanneer IP-adres, MAC-adres of poort later niet meer klopt, kan de verbinding uitvallen terwijl het eindapparaat correct is geconfigureerd.

Statische vermeldingen passen daarom bij stabiele systemen, zoals een vast bekabeld infrastructuurapparaat met een vast IP-adres. Voor DHCP-clients, mobiele apparaten, HA- of VM-wijzigingen en wisselende switchpoorten zijn ze meestal ongeschikt.

Onder Network > Neighbors (ARP–NDP) de Static neighbor table weergeven en Add selecteren. Vervolgens worden de volgende waarden ingesteld:

  • IP version: IPv4 of IPv6 selecteren.
  • IPv4/IPv6 address: het vaste adres van het apparaat invoeren.
  • MAC address: het werkelijke MAC-adres van dit apparaat invoeren.
  • Interface: de fysieke interface selecteren waarlangs de neighbor bereikbaar is.

Een gedocumenteerd voorbeeld kan 192.0.2.10, 02:00:00:00:00:10 en Port1 gebruiken. Deze waarden zijn tijdelijke aanduidingen en moeten volledig worden vervangen door het werkelijke IP-adres, MAC-adres en de werkelijke poort.

De optie Add as a trusted MAC address to prevent a spoofing attempt neemt de IP-MAC-koppeling ook op in de lijst met vertrouwde MAC-adressen. Activeer deze alleen wanneer deze beveiligingsstrategie bewust wordt toegepast, omdat een latere wijziging van VM, NIC of poort dan als een legitiem conflict kan verschijnen. Hoe deze koppelingen samenwerken met dynamische netwerken, DHCP en virtualisatie wordt uitgelegd in Sophos Firewall Spoof Protection en DoS Settings controleren.

Na het opslaan wordt precies het gekoppelde apparaat getest. Daarnaast moet worden vastgelegd wie de vermelding bij een wijziging van hardware, IP-adres of poort aanpast. Een statische koppeling zonder deze verantwoordelijkheid wordt later gemakkelijk een onzichtbare foutoorzaak.

Mogelijke pogingen tot neighbor poisoning controleren

Een statische koppeling definieert de verwachte combinatie van IP-adres, MAC-adres en interface. Wanneer hetzelfde IP-adres met een ander MAC-adres verschijnt of dezelfde IP-MAC-combinatie op een andere gekoppelde poort verschijnt, behandelt de firewall dit als mogelijke manipulatie en werkt de cache niet bij met de afwijkende koppeling.

Onder Network > Neighbors (ARP–NDP) kan Log possible neighbor poisoning attempts worden ingeschakeld en met Apply worden opgeslagen. De optie helpt bij de diagnose, maar betekent niet dat elke afwijking onmiddellijk als aanval moet worden beoordeeld. Ook een dubbel IP-adres, een vervangen netwerkadapter, een verplaatste VM of een poortwijziging veroorzaakt een conflict.

Verworpen IPv4-ARP-pakketten kunnen tijdens een korte test in de Device Console worden weergegeven:

drop-packet-capture 'arp'

Bij veel interfaces kan de uitvoer worden beperkt tot één fysieke poort:

drop-packet-capture interface Port1 'arp'

Port1 is een voorbeeld en wordt vervangen door de betreffende interface. Reproduceer de fout daarna eenmaal en beëindig de doorlopende uitvoer met Ctrl+C. Het filter toont alleen verworpen ARP-pakketten en is geen permanent logarchief. Voor IPv6-NDP of een algemene pakketanalyse wordt Packet Capture in WebAdmin gebruikt, waarbij bron, doel, protocol en interface gericht worden afgebakend.

Typische foutbeelden beoordelen

  • Na vervanging van een apparaat of NIC blijft het doel onbereikbaar: de oude en opnieuw geleerde MAC-waarde vergelijken, de cache beheerst legen en opnieuw testen.
  • Het MAC-adres verandert herhaaldelijk: controleren op een dubbel IP-adres, DHCP-lease, VM-kloon of HA-gedrag. Een statische vermelding zou het eigenlijke conflict alleen verbergen.
  • De koppeling verschijnt op de verkeerde interface: VLAN, bridge, LAG, switchpoort en bekabeling controleren.
  • Een statisch gekoppeld apparaat valt na een wijziging uit: IP-adres, MAC-adres en fysieke poort met de koppeling vergelijken en de vermelding bewust aanpassen of verwijderen.
  • Alleen IPv6 is getroffen: IPv6 neighbor cache, Router Advertisements, VLAN en het ICMPv6-pad controleren. Een IPv4-ARP-opdracht levert hiervoor geen bewijs.
  • Pakketten bereiken de firewall, maar de service werkt nog steeds niet: firewallregel, NAT, routing en retourpad afzonderlijk controleren. De neighborcache bewijst alleen de lokale Layer 2-aflevering.

Eindcontrole

  • Betreffend IP-adres, verwacht MAC-adres en interface vastgelegd.
  • IPv4- of IPv6-cache vóór een wijziging gecontroleerd.
  • Indien nodig precies de geselecteerde cache geleegd en gericht verkeer gegenereerd.
  • Opnieuw geleerde koppeling vergeleken met eindapparaat, switch, hypervisor of router.
  • Statische koppeling alleen gebruikt bij een permanent stabiele combinatie van IP-adres, MAC-adres en poort.
  • Poisoningmelding onderscheiden van een dubbel IP-adres, apparaatvervanging en netwerkwijzigingen.
  • Oorspronkelijke service na de Layer 2-controle opnieuw getest.

FAQ

Wat is het verschil tussen de ARP- en NDP-cache?

ARP zet IPv4-adressen om naar MAC-adressen. NDP voert deze neighbor-resolutie voor IPv6 uit met ICMPv6. In Sophos Firewall worden beide weergaven beheerd onder Network > Neighbors (ARP–NDP).

Kan de neighborcache zonder onderbreking worden geleegd?

De vermeldingen worden door nieuw verkeer automatisch opnieuw geleerd, maar daarbij kunnen korte vertragingen optreden. Omdat Flush de geselecteerde cache volledig leegt, moet deze stap worden gepland, vastgelegd en buiten een belastingspiek worden uitgevoerd.

Wanneer is een statische neighbor zinvol?

Alleen wanneer IP-adres, MAC-adres en fysieke interface permanent stabiel blijven en de koppeling operationeel wordt onderhouden. Bij DHCP, mobiele apparaten, VM-wijzigingen of wisselende poorten is dynamisch leren meestal robuuster.

Betekent een melding over poisoning automatisch een aanval?

Nee. De melding wijst in eerste instantie op een afwijking van de verwachte koppeling. Naast een aanval kunnen ook dubbele IP-adressen, vervanging van een apparaat of NIC, verplaatste VM’s en poortwijzigingen de oorzaak zijn.