Polski

Konfiguracja statycznego adresu IPv6 na VPS z Linuksem

2 min
Hosting VPS/VDS

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ęsto 64) i IPV6_GATEWAY.
  • Nazwa interfejsu (eth0 w tych przykładach):
Bash
ip -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ą:

Bash
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
YAML
network: {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:

YAML
1network: 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]
Bash
sudo 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

Bash
sudo nano /etc/network/interfaces

Dodaj sekcję dla tego samego interfejsu:

INI
iface 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ę:

Bash
sudo 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ń:

Bash
nmcli connection show

Użyj widocznej nazwy (CON_NAME, na przykład System eth0 lub cloud-init eth0):

Bash
sudo 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

Bash
ip -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:

Bash
ping -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:

Bash
grep 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:

Bash
sudo 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.

Bądź na bieżąco z najnowszymi ofertami, zniżkami i promocjami specjalnymi.

Zobacz promocje

Używamy plików cookie

Używamy plików cookie analitycznych, aby ulepszać nasz serwis. Nie sprzedajemy danych stronom trzecim. Więcej w polityce prywatności.