🛠️ Diagnostyka i rozwiązywanie problemów z łącznością IPv6 w Linuksie
Jak efektywnie analizować i naprawiać problemy z siecią IPv6 w systemach Linux?
📘 Wprowadzenie
Migracja do IPv6 niesie ze sobą wiele zalet, takich jak ogromna przestrzeń adresowa i uproszczony routing. Jednak w praktyce pojawiają się problemy z konfiguracją, routingiem czy DNS-em, które mogą prowadzić do braku łączności. W systemie Linux dysponujemy zestawem narzędzi, które pomagają w skutecznej diagnostyce tych zagadnień.
W tym artykule skupimy się na narzędziach takich jak:
ip -6ping6traceroute6netstat -6ss -6
Omówimy ich zastosowanie do diagnozowania i rozwiązywania problemów z adresacją, routingiem, rozwiązywaniem nazw oraz samą łącznością w sieci IPv6.

🔍 Podstawowe narzędzia diagnostyczne IPv6 w Linuksie
📌 1. ip -6 – Sprawdzanie konfiguracji interfejsów
Polecenie ip -6 pozwala uzyskać informacje o adresach, trasach i sąsiadach IPv6.
📄 Sprawdzenie adresów IPv6:
ip -6 addr show
Wyświetla przypisane adresy IPv6, np. globalny (2001:db8::/64) lub lokalny (fe80::/64).
🛣️ Sprawdzenie tras:
ip -6 route show
Pozwala zweryfikować, czy mamy domyślną trasę (default via) i jak wygląda routing do innych podsieci.
👥 Sprawdzenie sąsiadów (ND – Neighbor Discovery):
ip -6 neigh
📌 2. ping6 – Podstawowa diagnostyka łączności
To odpowiednik klasycznego ping, działający dla protokołu IPv6.
🔎 Przykład:
ping6 google.com
lub
ping6 2001:4860:4860::8888
✅ Jeśli
ping6zwraca brak odpowiedzi – problem może leżeć w trasach, zaporze lub DNS.
📌 3. traceroute6 – Śledzenie trasy pakietów
Pozwala zidentyfikować, na którym etapie trasy pakiety są blokowane lub gubione.
🔁 Przykład:
traceroute6 google.com
🔧 Przydatne w diagnostyce problemów z połączeniami międzysieciowymi lub trasami BGP.
📌 4. netstat -6 / ss -6 – Monitoring połączeń i portów
netstat -6 – Pokazuje aktywne połączenia IPv6:
netstat -6 -tulnp
ss -6 – Nowocześniejszy odpowiednik netstat:
ss -6 -tuln
Umożliwia szybkie sprawdzenie:
- czy aplikacja nasłuchuje na IPv6,
- jakie porty są otwarte,
- czy ruch przychodzi i wychodzi poprawnie.
🧪 Przykładowa diagnostyka problemów IPv6
🎯 Problem: Brak połączenia z internetem przez IPv6
✅ Krok 1: Sprawdź adresację
ip -6 addr
Czy mamy globalny adres IPv6 (2000::/3)? Jeśli tylko fe80::, brak konfiguracji.
✅ Krok 2: Sprawdź trasę domyślną
ip -6 route
Brak default via? Router nie przekazał informacji (brak RA).
✅ Krok 3: Sprawdź odpowiedź bramy
ping6 <adres bramy>
Jeśli brak odpowiedzi – problem z routingiem lokalnym lub ND.
✅ Krok 4: Sprawdź DNS
dig aaaa google.com
Brak odpowiedzi? DNS nie obsługuje zapytań AAAA (IPv6).
🛡️ Diagnostyka zapory (firewall)
Częstym problemem w IPv6 są zbyt restrykcyjne reguły firewalla.
🔥 Sprawdź, czy ICMPv6 jest dozwolony:
nft list ruleset
Upewnij się, że icmpv6 (np. neighbor solicitation, router advertisement) nie jest blokowany.
🧱 Praktyczne porady
- Zawsze testuj lokalną łączność (
fe80::) przed testowaniem globalnej. - Upewnij się, że DNS wspiera rekordy AAAA.
- Nie blokuj ICMPv6! To krytyczne dla działania IPv6.
- Porównaj trasę IPv4 i IPv6 –
traceroutevs.traceroute6.
📦 Dodatkowe narzędzia wspierające diagnostykę
| Narzędzie | Opis |
|---|---|
tcpdump -i eth0 ip6 |
Analiza ruchu IPv6 na interfejsie |
rdisc6 |
Ręczne wykrywanie RA |
dig / drill |
Rozwiązywanie DNS z rekordami AAAA |
wireshark |
Graficzna analiza pakietów IPv6 |
📌 Podsumowanie
Diagnostyka łączności IPv6 w Linuksie wymaga:
- znajomości podstawowych narzędzi CLI (ip, ping6, traceroute6, ss),
- zrozumienia adresacji, routingu i ICMPv6,
- uwagi na poprawną konfigurację DNS i zapory sieciowej.
Dzięki opisanym narzędziom można szybko zidentyfikować i rozwiązać większość problemów z siecią IPv6 – od lokalnych błędów konfiguracyjnych po problemy z trasowaniem między operatorami.






