ARP flapping: příčiny, útoky a metody ochrany

Poslední aktualizace 28. 5. 2026

Úvod

Flapování ARP záznamů je proces, při kterém se pro jednu IPv4 adresu v síti opakovaně střídají dvě nebo více různých MAC adres. Způsobuje přeprogramování na úrovni ASIC procesoru switche, jehož důsledkem je nestabilita sítě. Tento návod popisuje nejčastější příčiny ARP flappingu, způsoby jeho detekce a metody ochrany.

Co je ARP a jak funguje?

ARP (Address Resolution Protocol) je protokol, který překládá IP adresy na MAC adresy v lokální síti. Bez něj by zařízení sice věděla, kam paket směřuje, ale nedokázala by ho doručit na správnou síťovou kartu.
Když chce zařízení komunikovat s jinou IP adresou ve stejné síti, odešle broadcast dotaz do celého segmentu: „Kdo má IP adresu [xxx.xxx.x.x]?“ Vlastník dané IP odpoví přímo zpět a přiloží svou MAC adresu, aby tazateli upřesnil, kam má data doručovat. Tazatel si odpověď uloží do své ARP tabulky a nadále komunikuje přímo, bez nutnosti opakovaného dotazování.

Poznámka: Protokol ARP nebyl navržen s důrazem na bezpečnost. Zařízení v síti automaticky přijímají ARP informace bez ověření jejich původu, což umožňuje útočníkům podvrhnout mapování IP a MAC adres.

Co je ARP flapping

Flapování ARP záznamů nastává tehdy, když se pro jednu IP adresu v síti opakovaně střídají dvě nebo více různých MAC adres. Při každé změně MAC adresy dojde k přeprogramování tabulek v ASIC procesoru switche. Ten pak nedokáže stabilně určit, na který port má provoz posílat. Pokud změny probíhají v krátkých intervalech, mohou způsobit krátké výpadky konektivity, ztrátovost paketů a síťovou nestabilitu.

Jedna IP adresa by měla být vždy svázána pouze s jednou MAC adresou. Ani u virtuálních IP adres se nepoužívá více MAC adres současně, nýbrž MAC virtuální. Technologie pro vysokou dostupnost obvykle pracují s jednou sdílenou virtuální MAC adresou. Opakované střídání MAC adres proto většinou signalizuje chybu konfigurace, síťovou smyčku nebo jiný problém v síti.

Příčiny ARP flappingu

Flapování ARP záznamů může být způsobeno chybami v konfiguraci, ale i záměrnými zásahy v síti. Setkat se můžete s následujícími problémy.

Duplicitní IP adresa

Nejčastější příčinou je nakonfigurování stejné IP adresy na dvě různá zařízení nebo rozhraní s různými MAC adresami. Obě zařízení následně odpovídají na ARP dotazy a informace o tom, která MAC adresa k dané IP patří, nejsou konzistentní.

Pro odstranění problému je potřeba identifikovat všechna zařízení, která v rámci VLAN používají danou IP adresu, a odstranit duplicity. Doporučujeme zkontrolovat ARP tabulky na zařízeních, provést síťový scan (IP scan) nebo využít některý z nástrojů pro detekci IP konfliktů.

Chybná konfigurace bondingu

Při nesprávně nastaveném bondingu může provoz se stejnou IP odcházet přes více fyzických rozhraní, která používají různé MAC adresy. Switch pak vidí stejnou IP adresu střídavě z různých portů a MAC adres, což vyhodnotí jako ARP flapping.

Aby k tomuto chování nedocházelo, musí být konfigurace bondingu na straně serveru a switche shodná. Postup správného nastavení bondingu (agregace linek) v MasterDC je popsán v návodu na využití technologie LACP.

ARP flux v OS Linux

Linux používá tzv. weak host model, ve kterém nejsou IP adresy striktně vázány na konkrétní rozhraní. Pokud má server více síťových rozhraní, může se stát, že ARP dotaz přijde např. na fyzické síťové rozhraní eth0, ale Linux odpoví přes rozhraní eth1, které má jinou zdrojovou MAC adresu. Toto chování se označuje jako ARP flux. Switch pak vidí odpovědi pro tutéž IP přicházet z různých MAC adres a hlásí flapping.

Jak zabránit ARP flux v linuxovém jádře

Následující postup provede trvalou změnu nastavení, která zůstane zachována i po restartu systému. Parametry nastavujte na rozhraní připojeném do sítě, ve které k ARP flux dochází – v příkladu níže je to eth0. Název rozhraní upravte podle skutečné konfigurace vašeho serveru.

  1. Otevřete soubor /etc/sysctl.conf.
  2. Přidejte do něj následující řádky:
    net.ipv4.conf.eth0.arp_ignore = 1
    net.ipv4.conf.eth0.arp_announce = 2
  3. Změny aplikujte příkazem sysctl -p.

    Vysvětlení parametrů příkazu:

    • arp_ignore = 1 – Linux odpoví na ARP dotaz pouze tehdy, když je dotazovaná IP adresa nakonfigurována na stejném rozhraní, přes které ARP dotaz přišel. Zabrání tak odpovídání přes nesprávné rozhraní s jinou MAC adresou.
    • arp_announce = 2 – Linux při odesílání ARP dotazů vždy zvolí jako zdrojovou adresu tu, která nejlépe odpovídá rozhraní, přes které provoz odchází. Zabrání tak situaci, kdy systém oznamuje IP adresu jiného rozhraní.

    ARP spoofing a ARP poisoning

    Pokud jste vyloučili konfigurační příčiny a ARP flapping přetrvává, může se jednat o záměrný útok. Útočník v lokální síti opakovaně rozesílá falešné ARP odpovědi a tvrdí v nich, že IP adresa výchozí brány nebo jiného klíčového serveru patří jeho vlastní MAC adrese. Tím se stává prostředníkem v komunikaci (Man-in-the-Middle) a může provoz odposlouchávat, měnit přenášená data nebo komunikaci zcela přerušit.

    Typickým scénářem je kompromitovaný virtuální stroj v lokální síti, který rozesílá podvržené ARP odpovědi s cílem odposlouchávat sousední servery ve stejné VLAN.

    Jak odhalit ARP flapping

    Aktuální stav ARP tabulky na hostiteli zobrazíte následujícími příkazy:

    • Pro Linux a macOS: arp -na
    • Windows: arp -a

    Pokud chcete zachytit střídání MAC adres, spusťte příkaz opakovaně v krátkých intervalech a porovnejte výstupy. Pokud podezříváte jako příčinu duplicitní IP adresu, doporučujeme provést také síťový scan nebo využít některý z nástrojů pro detekci IP konfliktů.

    Tip: Pro dlouhodobý monitoring je vhodný nástroj arpwatch, který průběžně sleduje ARP provoz. Na změny vazby mezi IP a MAC adresou může upozorňovat e-mailem.

    Ochrana před ARP flappingem

    Opatření proti flapování ARP záznamů lze realizovat na úrovni síťové infrastruktury (pokud spravujete vlastní switche v rámci Rack housingu) i přímo uvnitř operačního systému jednotlivých serverů.

    Ochrana na úrovni sítě

    Pokud máte pod správou vlastní síťové prvky (typicky u služby Rack housing), představuje implementace síťových funkcí nejúčinnější způsob, jak neautorizovaným změnám v ARP tabulkách zabránit. Následující technologie umožňují aktivně kontrolovat legitimitu síťového provozu:

    • Dynamic ARP Inspection (DAI): bezpečnostní funkce, při které switch monitoruje procházející ARP pakety a porovnává je s databází důvěryhodných IP a MAC vazeb (typicky vytvořených pomocí DHCP snoopingu). Pokud detekuje pokus o podvržení ARP odpovědi z neautorizované MAC adresy, switch tento paket okamžitě zahodí a zaznamená incident do logu.
    • Port Security (MAC Limiting): tato funkce omezuje maximální počet unikátních MAC adres, které mohou přes daný port switche komunikovat. Tím lze omezit situace, kdy se na jednom portu neočekávaně objevuje větší množství MAC adres nebo dochází k jejich častému střídání.

    Ochrana na úrovni operačního systému

    Další způsoby ochrany se provádí přímo na úrovni operačního systému serveru. Zatímco správné nastavení parametrů v sysctl (viz sekce ARP flux v OS Linux výše) pomáhá zabránit vzniku nekonzistentních ARP odpovědí na straně serveru, následující metody slouží především k ochraně před chybnou konfigurací jiných zařízení nebo před ARP spoofingem.

    Aktivní monitoring (arpwatch)

    Pro dlouhodobý monitoring ARP komunikace je vhodný nástroj arpwatch, který průběžně sleduje vazby mezi IP a MAC adresami a upozorňuje na jejich změny. Při správné konfiguraci může automaticky odesílat e-mailová upozornění na nově detekované nebo změněné ARP záznamy

    Filtrování pomocí firewallu v OS Linux

    V Linuxu lze ARP provoz filtrovat také pomocí firewallových pravidel. Tato metoda umožňuje povolit pouze důvěryhodné vazby IP a MAC adres a aktivně blokovat podvržené ARP odpovědi.
    Na starších systémech se k filtrování ARP provozu používá nástroj arptables, na moderních systémech je preferován nftables.

    Navigace v článku

    Pořád si nevíte rady?

    Napište nám, rádi vám pomůžeme.
    Pracovníci naší nonstop technické podpory vám odpoví, jakmile to bude možné.

      Nevidíte vaši vysněnou pozici?

      Pošlete nám životopis, a my se vám ozveme!

        * Povinný údaj
        Zasláním životopisu souhlasím se zpracováním osobních údajů za účelem náboru a výběrového řízení.