IPv4 funguje, IPv6 nie. Ako odhaliť čiastočný výpadok webu?
Zelený monitor nemusí preveriť obe adresné rodiny. Oddelené testy IPv4 a IPv6, správanie klientov a kontroly sieťovej cesty pri HTTPS.

Web otvoríte bez problémov, no časť návštevníkov hlási nedostupnosť alebo dlhé čakanie. Ak služba ponúka IPv4 aj IPv6, preverujte obe cesty samostatne. Úspech cez jednu z nich nevysvetľuje stav druhej. Nasledujúci postup sa sústreďuje na bežný dual-stack web a diagnostiku HTTPS cez TCP z Linuxu.
Overte DNS a vynúťte každú adresnú rodinu
Pre daný hostname si zaznamenajte A aj AAAA odpovede. AAAA obsahuje IPv6 adresu; samotný záznam však nepotvrdzuje dostupnosť služby na nej. Ak používate CDN alebo externú proxy, verejná adresa môže smerovať na ich vstupný bod. Najprv určte, ktorú časť cesty testujete, a porovnajte ju s konfiguráciou poskytovateľa.
Na stroji s overenou IPv4 aj IPv6 konektivitou použite curl -4 --http1.1 a curl -6 --http1.1 pre rovnakú HTTPS URL. Tým oddelíte adresné rodiny a pri tomto porovnaní zachováte HTTP/1.1. Uložte cieľovú adresu, výsledok a čas testu. Preverte aj prípadnú proxy v prostredí testu; môže meniť jeho sieťovú cestu.
Nenechajte sa zmiasť úspechom jedného klienta
Happy Eyeballs umožňuje klientovi rozložiť pokusy o spojenie medzi dostupné adresy a začať ďalší pokus, kým predchádzajúci ešte čaká. Úspešné IPv4 pripojenie tak môže zakryť nefunkčnú IPv6 cestu. Konkrétny výsledok závisí od klienta a siete. Úspech vo vašom prehliadači preto neposkytuje rovnaký dôkaz ako samostatný test IPv6.
RFC 8305 opisuje úspech pokusu spravidla už pri dokončení TCP spojenia. Nespoliehajte sa teda na Happy Eyeballs ako na univerzálnu záchranu pri následnej chybe TLS alebo aplikácie. Pri hlásení od návštevníka zaznamenajte klienta, sieť, čas a presný prejav. Rozlíšte chybu prekladu mena, timeout pripojenia, TLS chybu a neúspešnú HTTP odpoveď.
Preverte posluch služby aj cestu paketov
Na príslušnom linuxovom serveri alebo proxy porovnajte ss -lnt4 a ss -lnt6. Výpisy zobrazujú počúvajúce TCP sockety podľa adresnej rodiny. Samotný listener ešte nepreverí smerovanie ani pravidlá firewallu u poskytovateľa a na hostiteľovi. Kontrolujte vrstvu, na ktorú smeruje verejná adresa; pri CDN nemusí byť verejné IPv6 ukončené na vašom origin serveri.
Ak spojenie vznikne, ale väčší prenos sa zasekne, preverte aj MTU a ICMPv6 Packet Too Big. Tieto správy pri Path MTU Discovery informujú odosielateľa, že má prispôsobiť veľkosť paketov. Plošné blokovanie ICMPv6 preto môže narušiť komunikáciu. Je to jedna z diagnostických možností, nie dôkaz príčiny každého timeoutu. Pravidlá posudzujte cielene podľa sieťovej topológie.
Po oprave overte obe cesty aj skutočnú operáciu
Pri porovnaní ponechajte rovnaký hostname a zapnuté overenie certifikátu. Priame otvorenie IP adresy mení podmienky testu; curl pri HTTPS overuje aj zhodu názvu v certifikáte s menom v URL. Opravu potom overte aj bežným klientskym protokolom a operáciou, ktorá zlyhávala. Vynútený test HTTP/1.1 nie je úplným testom všetkých protokolov služby.
Ak IPv6 verejne poskytujete, nastavte samostatné kontroly pre obe adresné rodiny v nástroji, ktorý ich vie vynútiť. Pri výsledku zaznamenajte použitú adresu, chybu a odozvu, aby automatický výber cesty nezakryl poruchu. Po zmene DNS, siete alebo proxy zopakujte porovnanie aj z ďalšieho vhodného meracieho miesta.
- Zaznamenajte A a AAAA odpovede pre rovnaký hostname.
- Vynúťte IPv4 a IPv6 z miesta s overenou konektivitou.
- Oddeľte problém spojenia, TLS a HTTP; preverte aj MTU.
- Po oprave sledujte obe cesty a pôvodnú používateľskú operáciu.
Čo si odniesť
Pri čiastočnom výpadku zistite, ktorou cestou úspešný test skutočne prešiel. Samostatné overenie IPv4 a IPv6 pomôže oddeliť poruchu adresnej rodiny od chyby TLS alebo aplikácie a ukáže, čo treba po zásahu znova skontrolovať.
Dokumentácia a ďalšie čítanie
- RFC 3596: DNS Extensions to Support IP Version 6
- curl: IPv4, IPv6 and HTTP version options
- everything curl: Happy Eyeballs
- RFC 8305: Happy Eyeballs Version 2
- Linux iproute2: ss(8)
- RFC 8201: Path MTU Discovery for IP version 6
- RFC 4890: Filtering ICMPv6 Messages in Firewalls
- curl: TLS server certificate verification


