Jeśli Twój serwer nie odpowiada jeszcze przez IPv6, adres jest zapewne przydzielony, ale nieskonfigurowany w systemie. Ten poradnik pokazuje, jak ustawić go statycznie na Ubuntu, Debianie i AlmaLinux, sprawdzić łączność i zabezpieczyć zaporą. Dotyczy każdego VPS Linux Infrawire z przydziałem IPv6.
📋 Wymagania wstępne
- VPS z dostępem SSH jako root, z systemem Ubuntu 24.04, Debian 12 lub AlmaLinux 9 / Rocky 9. W panelu klienta znajdziesz adres IP i hasło root.
- Twój adres IPv6, długość prefiksu i brama, oznaczone poniżej jako
VPS_IPV6,PREFIX(często64) iIPV6_GATEWAY. - Nazwa interfejsu (
eth0w tych przykładach):
Baship -br link ip -6 addr show ip -6 route show
Podczas edycji plików sieciowych miej otwartą drugą sesję SSH, aby pomyłka nie odcięła Cię od serwera.
🟠 Ubuntu 24.04: Netplan
Pliki Netplan znajdują się w /etc/netplan/. W obrazach chmurowych plik jest często generowany przez cloud-init i może zostać nadpisany po restarcie, dlatego najpierw wyłącz jego zarządzanie siecią:
Bashsudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
YAMLnetwork: {config: disabled}
Następnie edytuj swój plik Netplan (na przykład /etc/netplan/50-cloud-init.yaml) i dodaj adres IPv6 oraz trasę. Zachowaj istniejące linie IPv4:
YAML1network: 2 version: 2 3 ethernets: 4 eth0: 5 addresses: 6 - VPS_IP/IPV4_PREFIX 7 - VPS_IPV6/PREFIX 8 routes: 9 - to: default 10 via: IPV4_GATEWAY 11 - to: default 12 via: IPV6_GATEWAY 13 nameservers: 14 addresses: [1.1.1.1, 2606:4700:4700::1111]
Bashsudo chmod 600 /etc/netplan/*.yaml sudo netplan try
netplan try automatycznie cofa zmiany po 120 sekundach, jeśli ich nie potwierdzisz, co chroni przed błędną konfiguracją. Zatwierdź klawiszem Enter albo użyj sudo netplan apply, gdy będziesz pewien.
🔴 Debian 12: /etc/network/interfaces
Bashsudo nano /etc/network/interfaces
Dodaj sekcję dla tego samego interfejsu:
INIiface eth0 inet6 static address VPS_IPV6/PREFIX gateway IPV6_GATEWAY dns-nameservers 2606:4700:4700::1111
Linia dns-nameservers działa tylko wtedy, gdy zainstalowano pakiet resolvconf; w przeciwnym razie wpisz resolver w /etc/resolv.conf. Zastosuj zmianę:
Bashsudo systemctl restart networking
Restart usługi może na chwilę zerwać połączenie. Jeśli interfejs używa DHCP dla IPv4, a chcesz tylko dodać IPv6, możesz też z konsoli wykonać sudo ifdown eth0 && sudo ifup eth0.
🔵 AlmaLinux 9 / Rocky 9: nmcli
Interfejsem zarządza NetworkManager. Najpierw wyświetl nazwy połączeń:
Bashnmcli connection show
Użyj widocznej nazwy (CON_NAME, na przykład System eth0 lub cloud-init eth0):
Bashsudo nmcli connection modify 'CON_NAME' ipv6.method manual \ ipv6.addresses VPS_IPV6/PREFIX \ ipv6.gateway IPV6_GATEWAY \ ipv6.dns 2606:4700:4700::1111 sudo nmcli connection up 'CON_NAME'
Zmiana zapisuje się w profilu połączenia i przetrwa restarty.
✅ Test połączenia
Baship -6 addr show dev eth0 ip -6 route show default ping -6 -c 3 IPV6_GATEWAY ping -6 -c 3 2606:4700:4700::1111 curl -6 -I https://www.debian.org
W starszych systemach ping6 robi to samo co ping -6. Sprawdź też z innej maszyny z IPv6, używając adresu swojego VPS:
Bashping -6 -c 3 VPS_IPV6 ssh root@VPS_IPV6
🔥 Zapora dla IPv6
Reguła istniejąca tylko dla IPv4 zostawia otwartą stronę IPv6. W UFW upewnij się, że obsługa IPv6 jest włączona:
Bashgrep IPV6 /etc/default/ufw # powinno pokazać IPV6=yes sudo ufw allow 22/tcp sudo ufw allow 80,443/tcp sudo ufw enable sudo ufw status verbose
Każda reguła pojawi się wtedy dwa razy, raz z dopiskiem (v6). W AlmaLinux firewalld obejmuje obie rodziny tymi samymi poleceniami:
Bashsudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
🛠️ Rozwiązywanie problemów
Adres jest, ale ping do bramy nie działa. Sprawdź długość prefiksu i bramę. Niektóre sieci używają bramy link-local, np. fe80::1; wtedy ustaw bramę na tę wartość i dodaj dev eth0 do trasy, jeśli narzędzie tego wymaga.
Działa do następnego restartu. Konfigurację nadpisuje inne narzędzie: cloud-init w Ubuntu (zobacz pierwszą sekcję) albo pozostałość po poleceniu ip -6 addr add, które nigdy nie trafiło do plików konfiguracyjnych. Polecenia wydane przez ip są tymczasowe.
IPv6 odpowiada na ping, ale strony nie działają. Zapora lub usługa nasłuchuje tylko na IPv4. Sprawdź przez ss -tlnp: serwer WWW powinien pokazywać [::]:80, a nie tylko 0.0.0.0:80. W nginx dodaj listen [::]:80; do bloku server.
🚀 Twój VPS mówi już po IPv6: opublikuj rekord AAAA, a usługi będą dostępne przez oba protokoły.