Baza wiedzy

Konfiguracja routowanego IPv6 /64

Ustawienie dołączonego /64 na interfejsie pod Debianem 13 i AlmaLinux 10, sprawdzenie trasy i użycie reszty prefiksu dla kontenerów.

Co oznacza tutaj „routed”

Prefiks jest routowany do Twojej instancji, a nie współdzielony w segmencie z innymi klientami. Nic innego w sieci nie odpowiada na te adresy, nie ma pośredniego proxy Neighbor Discovery, a Ty możesz przypisać do środka /64 cokolwiek chcesz, bez pytania o zgodę. Oznacza to również, że router advertisements nie są mechanizmem: adres i brama są statyczne, a czekanie na SLAAC nic Ci nie da.

Panel wyświetla trzy wartości dla każdej instancji — prefiks, adres w nim, który wstępnie przypisujemy, oraz bramę. Weź wszystkie trzy stamtąd. Brama różni się w zależności od lokalizacji.

Debian 13

Obrazy używają systemd-networkd. Napisz własną jednostkę i zostaw tę z pakietu w spokoju:

cat > /etc/systemd/network/20-wan-v6.network <<EOF
[Match]
Name=enp1s0

[Network]
Address=<ipv6>/64
Gateway=<gateway6>
IPv6AcceptRA=no
EOF
networkctl reload
networkctl status enp1s0

Jeśli brama jest adresem link-local, interfejs, na którym się znajduje, musi być znany. Sekcja jest już ograniczona do jednego interfejsu przez [Match], więc nic więcej nie jest potrzebne.

AlmaLinux 10

Nie ma już plików ifcfg-. AlmaLinux 10 przechowuje połączenia jako pliki kluczy NetworkManager, a wspieranym sposobem ich edycji jest nmcli:

nmcli -f NAME,DEVICE connection show
nmcli connection modify "System eth0" ipv6.method manual ipv6.addresses <ipv6>/64 ipv6.gateway <gateway6> ipv6.may-fail no
nmcli connection up "System eth0"

ipv6.may-fail no zapobiega uznaniu przez boot, że sieć jest gotowa, zanim v6 zostanie skonfigurowane. To ma znaczenie dla każdej usługi, która wiąże adres v6 przy starcie i poddaje się, jeśli go jeszcze nie ma.

Sprawdź to

ip -6 addr show dev enp1s0
ip -6 route show
ping -6 -c 3 paragonvps.com

Adres obecny, trasa domyślna obecna, nic nie odpowiada? Zazwyczaj winna jest zapora ogniowa, a ICMPv6 to zwykły powód. Neighbor Discovery i packet-too-big oba żyją w ICMPv6; selektywne filtrowanie ich psuje IPv6 w sposób, który wygląda dokładnie jak błąd aplikacji przez półtora dnia. Małe pakiety działają, duże znikają. Artykuł o nftables zawiera regułę, która tego nie robi.

Korzystanie z reszty prefiksu

Dodatkowe adresy na tym samym interfejsie:

ip -6 addr add <ipv6-2>/64 dev enp1s0 nodad

Przetrwaj reboot z kolejną linią Address= lub drugim wpisem w ipv6.addresses. Dla kontenerów wytnij kawałek z /64, przypisz go do mostka i routuj na hoście. /80 to więcej, niż jakikolwiek mostek kiedykolwiek będzie potrzebował. Nie ma kroku NAT ani proxy, ponieważ cały prefiks już wskazuje na Ciebie.

Jeśli potrzebujesz kilku routowanych podsieci, za kilkoma mostkami lub zagnieżdżonym hiperwizorem, zamów dodatek /48. Jest delegowany, a nie proxowany, więc projekt routingu po Twojej stronie jest naprawdę Twój.

Dwie rzeczy, które po cichu to psują

  • Coś włączającego ponownie akceptację RA. Narzędzia, które „naprawiają” sieć, często to robią, a Ty kończysz z drugą trasą domyślną, która przeskakuje między dwiema. Przypnij IPv6AcceptRA=no.
  • Włączenie forwarding. Ustawienie net.ipv6.conf.all.forwarding=1 powoduje, że jądro przestaje przetwarzać router advertisements na każdym interfejsie. Tu to nieszkodliwe, bo RA jest już wyłączone, ale warto wiedzieć, zanim obwiniasz lokalizację.

Pełne szczegóły per lokalizacja, w tym które lokalizacje mają v6 na brzegu, są na stronie sieci.

Gotowi, gdy jesteś

Wybierz miasto. Wybierz rozmiar. Płać kryptowalutą.

Bez formularzy o tym, kim jesteś, bez czekania na akceptację człowieka, bez telefonu w celu weryfikacji. Faktura zostaje uregulowana, a dane logowania trafiają do Twojej skrzynki.