Popis problému
Pokud je součástí služby, kterou u nás máte objednanou, také IPv6 adresa, je možné, že v případě použití určitého operačního systému narazíte na problém s rozhraním IPv6, které je po instalaci daného OS, respektive vytvoření a spuštění stroje s obrazem daného OS, špatně nakonfigurováno nebo není vůbec definováno. Tato skutečnost může být příčinou toho, že přestože máte IPv6 adresu přidělenu, není komunikace prostřednictvím IPv6 možná. Předmětem tohoto návodu je popis konfigurace IPv6 rozhraní pro jednotlivé OS (v jejichž rámci se daný problém může vyskytnout), jejíž aplikace by měla problém s použitím IPv6 vyřešit.
POZNÁMKA: Příčina absence možnosti komunikace prostřednictvím IPv6 se může nacházet mimo infrastrukturu poskytovatele. Před použitím tohoto návodu se vždy raději jistěte, že podmínky, v jejichž rámci testujete použití IPv6, komunikaci prostřednictvím tohoto protokolu umožňují – např. prostřednictvím nástrojů od společnosti cz.nic .
Kdy se problém vyskytuje
Pro většinu služeb, které poskytujeme, je k dispozici řada obrazů operačních systémů. Problém s výchozí konfigurací rozhraní IPv6 jsme zaznamenali pouze u obrazů následujících serverových verzí operačních systémů GNU/Linux:
- Ubuntu
- Fedora
- CentOS
- Arch Linux
Pro uvedené distribuce OS dále uvádíme postup, který by Vám měl pomoci správně nakonfigurovat IPv6 rozhraní a odstranit tak problémy s komunikací prostřednictvím IPv6, pokud se vyskytují.
Ověření existence správně nakonfigurovaného IPv6 rozhraní
Je možné, že problémem není IPv6 rozhraní, ani jeho konfigurace. V takovém případě je problém někde jinde a tento návod Vám s problémy týkajícími se IPv6 nepomůže. Pro ověření existence a správné konfigurace IPv6 rozhraní doporučujeme provést 2 následující kroky. Budete potřebovat IPv6 adresu daného stroje, kterou můžete nalézt v zákaznickém portálu na detailu dané služby nebo v e-mailu, který jste obdrželi v rámci zřízení dané služby. Připojte se k danému stroji (např. prostřednictvím konzole v zákaznickém portálu nebo pomocí programu PuTTY) a postupujte takto:
- V rámci stroje, který obsahuje IPv6 rozhraní, o jehož konfiguraci se zajímáte, ověřte, že existuje IPv6 rozhraní. Použijte příkaz ip -6 addr, který vám zobrazí všechna dostupná IPv6 rozhraní. Pokud ve výpisu nenaleznete IPv6 rozhraní s IPv6 adresou, která byla přidělena danému stroji, IPv6 rozhraní není definováno. V takovém případě přejděte k následující kapitole tohoto návodu. V opačném případě postupte k následujícímu kroku. Pro ujištění můžete ještě použít kombinaci příkazů v následujícím tvaru:
ip -6 addr | grep ipv6.adresa.vašeho.serveru. - Ověřte dostupnost daného stroje pod danou IPv6 adresou z jiného stroje, ideálně z jiné sítě. Postup se bude lišit v závislosti na operačním systému jiného stroje, ze kterého budete dostupnost pod IPv6 testovat:
- a. Linux – otevřete emulátor shellu a použijte příkaz
ping6 –c 5 ipv6.adresa.vašeho.serveru - b. Windows – spusťte příkazový řádek cmd a použijte příkaz
ping -6 ipv6.adresa.vašeho.serveru
Jestliže příkaz vrátí odpověď beze ztráty, je daný stroj pod IPv6 dostupný, IPv6 rozhraní je nakonfigurováno a funkční, není třeba jej nijak konfigurovat a tento návod nemusíte dále číst. V případě, že příkaz vrátí odpověď se 100% ztrátou, IPv6 rozhraní není správně nakonfigurováno nebo připojení stroje, ze kterého dostupnost pod IPv6 testujete, není na IPv6 připraveno. V takovém případě přejděte k následující kapitole tohoto návodu. Vždy je lepší se ujistit, že stroj, z něhož dostupnost pod IPv6 testuje je na IPv6 připraven, tj. např. otestovat dostupnost z nějakého stroje, u něhož jsme si dostupností prostřednictvím IPv6 naprosto jisti.
- a. Linux – otevřete emulátor shellu a použijte příkaz
Konfigurace IPv6 rozhraní v rámci GNU/Linux Ubuntu / Fedora / CentOS / Arch Linux
- Připojíme se k danému stroji s instalovaným OS Ubuntu / Fedora / CentOS / Arch Linux.
- (Ověříme, že se skutečně jedná o OS Ubuntu / Fedora / CentOS / Arch Linux prostřednictvím příkazu cat /etc/os-release)
- Ujistíme se, že se v příslušném adresáři nenachází konfigurační soubor rozhraní eth1. Pokud by takový soubor existoval, museli bychom v následujícím kroku zvolit v názvu konfiguračního souboru číslo o 1 vyšší, než by bylo nejvyšší číslo v rámci všech existujících konfiguračních souborů v daném adresáři.
- Vytvoříme příslušný konfigurační soubor rozhraní, které bude zajišťovat komunikaci prostřednictvím IPv6.
- Do takto vytvořeného souboru vložíme následující řádky a uložíme provedené změny.
- Restartujeme stroj, např. prostřednictvím příkazu sudo reboot
- Ověříme existenci správně nakonfigurovaného IPv6 rozhraní výše uvedeným způsobem.
Distribuce | Konfigugrační soubor | Ověření existence |
---|---|---|
Ubuntu 14 | eth1.cfg | ls -a /etc/network/interfaces.d/ |
Ubuntu 16 | 60-ens4.cfg | ls -a /etc/network/interfaces.d/ |
Fedora | ifcfg-eth1 | ls -a /etc/sysconfig/network-scripts/ |
CentOS | ifcfg-eth1 | ls -a /etc/sysconfig/network-scripts/ |
Arch Linux | eth1-dhcp.network | ls -a /etc/systemd/network |
Distribuce | Vytvoření konfiguračního souboru IPv6 rozhraní |
---|---|
Ubuntu 14 | sudo touch /etc/network/interfaces.d/eth1.cfg |
Ubutnu 16 | sudo touch /etc/network/interfaces.d/60-ens4.cfg |
Fedora | sudo touch /etc/sysconfig/network-scripts/ifcfg-eth1 |
CentOS | sudo touch /etc/sysconfig/network-scripts/ifcfg-eth1 |
Arch Linux | sudo touch /etc/systemd/network/eth1-dhcp.network |
Distribuce | Obsah konfiguračního souboru IPv6 rozhraní |
---|---|
Ubuntu 14 | auto eth1 iface eth1 inet6 auto |
Ubuntu 16 | auto ens4 iface ens4 inet6 dhcp |
Fedora | DEVICE=“eth1″ BOOTPROTO=“dhcp“ ONBOOT=“yes“ TYPE=“Ethernet“ PERSISTENT_DHCLIENT=“yes“ DHCPV6C=“yes“ |
CentOS | DEVICE=“eth1″ BOOTPROTO=“dhcp“ ONBOOT=“yes“ TYPE=“Ethernet“ PERSISTENT_DHCLIENT=“1″ DHCPV6C=“yes“ |
Arch Linux | [Match] Name=eth1 [Network] DHCP=ipv6 [DHCP] UseMTU=true |