Uživatelské nástroje

Nástroje pro tento web


informace:projekty:ipv6tunel

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
informace:projekty:ipv6tunel [2020/10/18 09:09] – fix nadpisů oskarinformace:projekty:ipv6tunel [2024/02/23 09:24] (aktuální) – [Nastavte přidělený blok jako Unreachable] oskar
Řádek 9: Řádek 9:
 Pokud je k dispozici veřejná IPv4 adresa, je možné zařídit tunel od [[https://tunnelbroker.net/|HE.net]], který funguje rychle a spolehlivě. Naše služba se tedy zaměřuje hlavně na situace, kdy v místě není ani veřejná IPv4 adresa. Bohužel, software ''sixxsd'', který tvořil serverovou část tunelovací platformy SixXS a dokázal efektivně obsluhovat stovky tunelů, <del>nebyl nikdy uvolněn jako Open Source</del> [[https://github.com/massar/sixxsd|dlouho nebyl zveřejněn]]. Bylo tedy třeba hledat jiné řešení. Pokud je k dispozici veřejná IPv4 adresa, je možné zařídit tunel od [[https://tunnelbroker.net/|HE.net]], který funguje rychle a spolehlivě. Naše služba se tedy zaměřuje hlavně na situace, kdy v místě není ani veřejná IPv4 adresa. Bohužel, software ''sixxsd'', který tvořil serverovou část tunelovací platformy SixXS a dokázal efektivně obsluhovat stovky tunelů, <del>nebyl nikdy uvolněn jako Open Source</del> [[https://github.com/massar/sixxsd|dlouho nebyl zveřejněn]]. Bylo tedy třeba hledat jiné řešení.
  
-===== Řešení pomocí OpenVPN ===== 
  
-K tunelování IPv6 provozu používáme OpenVPN verze 2.4 s vypnutým šifrováním autentizací provozu – to z důvodu nedostatku výkonu na straně klienta. Používá se UDP provoz na standardním portu 1194. Každý klient se autentizuje certifikátem. Každému klientovi je **staticky** přidělena jedna spojovací IPv6 adresa a  podsíť o délce prefixu /48.+===== Řešení pomocí Wireguardu ===== 
 + 
 +Je možné použití moderního tunelovacího protokolu [[navody:server:wireguard|WireGuard]]Ten nabízí šifrování autentizaci, zároveň ale také velký výkon v porovnání s OpenVPN. 
 +Používá se UDP provoz na portu 51820. Každý klient se autentizuje párem veřejného a soukromého klíče. Každému klientovi je **staticky** přidělena jedna spojovací IPv6 adresa a podsíť o délce prefixu /48
 + 
 +Každý tunel <del>má</del> bude mít nastavené datum expirace na jeden rok po zřízení, po jeho uplynutí je odkonfigurován. Pro nepřerušovaný provoz je tedy třeba požádat o prodloužení. Záměrem tohoto nepohodlného opatření je, aby každý uživatel **nejméně jednou ročně napsal svému poskytovateli připojení dotaz na stav podpory IPv6**. Poznámka: tato funkce //zatím// není implementovaná. Případnému odkonfigurování v budoucnu bude předcházet několik e-mailových varování.
  
-Klientský certifikát je platný jeden rok. Před uplynutím jeho platnosti je třeba požádat o vydání nového. Záměrem tohoto nepohodlného opatření je, aby každý uživatel **nejméně jednou ročně napsal svému poskytovateli připojení dotaz na stav podpory IPv6**. 
-  
 ==== Jak zprovoznit tunel ==== ==== Jak zprovoznit tunel ====
  
    - Napište svému ISP dotaz ohledně podpory IPv6.    - Napište svému ISP dotaz ohledně podpory IPv6.
-   - Požádejte o tunel prostřednictvím e-mailu na **ipv6tun@vpsfree.cz**. +   - Vygenerujte dvojici soukromého a veřejného klíče: ''$ wg genkey | tee privatekey | wg pubkey'' - soukromý klíč vznikne v souboru ''privatekey'', veřejný se zobrazí na terminálu. Chcete-li veřejný klíč zobrazit znovu, zavolejte ''$ wg pubkey < privatekey''
-   - Obdržíte konfigurační soubor pro OpenVPN klienta+   - Požádejte o tunel prostřednictvím e-mailu na **ipv6tun@vpsfree.cz**. Nezapomeňte připojit veřejný klíč. Prosím **neposílejte klíč v příloze, vložte ho přímo do textu zprávy**. Pokud se konec tunelu má nacházet **na Slovensku**, prosím uveďte to v žádosti
-   Upravte soubor podle své potřeby+   - Obdržíte e-mail s příkladem konfigurace pro wg-quick a OpenWRT. **V konfiguračním souboru se také dozvíte přidělený adresní blok.** 
-   - Nakonfigurujte svůj router tak, aby do domácí sítě přiděloval nějaké adresy z přidělené podsítě. (Konfigurační soubor obsahuje ukázku konfigurace pro OpenWRT)+   Doplňte do konfiguračního souboru svůj privátní klíč a nakonfigurujte svého klienta
 +   - Nakonfigurujte svůj router tak, aby do domácí sítě přiděloval nějaké adresy z přidělené podsítě.
  
-==== Příklad konfigurace OpenVPN pro OpenWRT ====+==== Příklad konfiguračního souboru pro wg-quick ====
  
-V tomto případě je ukázka přímo v dodaném konfiguračním souboru. Konfigurační soubor stačí uložit tak, jak je (s příponou ''.conf'') do ''/etc/openvpn/'' (je třeba mít nainstalovaný balík ''openvpn-openssl'')A nadefinovat službu:+<file | /etc/wireguard/wgipv6tun.conf> 
 +[Interface] 
 +# FIXMEInsert your private key 
 +PrivateKey =  
 +Address = 2a03:3b40:200::XXX 
 +# Případně lze nastavit hodnotu ListenPort na libovolnou hodnotu. Ve výchozím stavu by měla být zvolena náhodná hodnota automaticky. 
 +#ListenPort = 51820
  
-<file | /etc/config/openvpn> +[Peer] 
-config openvpn custom_config +Endpoint = ipv6tun01.vpsfree.cz:51820 
-        option enabled 1 +PublicKey = r7vzF6irpXSmkTibIHztIcfc/YzPmpyMX9LYa9z5Yw0= 
-        option config /etc/openvpn/ipv6tun-XXX.conf+AllowedIPs =  ::/
 +#PersistentKeepalive = 120  # Optional: use if there is a NAT/firewall blocking incoming traffic
 </file> </file>
  
-Dále je potřeba vytvořit nové logické rozhraní:+==== Příklad konfigurace Wireguardu na OpenWRT ====
  
 <file | /etc/config/network> <file | /etc/config/network>
-config interface 'ipv6tun' 
-        option ifname 'tunipv6' 
-        option proto 'static' 
-        option ip6addr '<adresa konce tunelu>/64' 
-        option ip6gw '<adresa brány>' 
-        option ip6prefix '<přidělený prefix>/48' 
-</file> 
  
-a přidat logické rozhraní `ipv6tun` do firewallové zóny `wan`:+config interface 'wgipv6tun' 
 +        option proto 'wireguard' 
 +        option private_key 'FIXME' 
 +        option ip6prefix '2a03:3b40:XXX::/48' 
 +        list addresses '2a03:3b40:200::XXX'
  
-<file | /etc/config/firewall> +config wireguard_wgipv6tun 
-config zone +        option endpoint_host 'ipv6tun01.vpsfree.cz' 
-        option name 'wan+        option endpoint_port '51820
-        option network 'wan wan6 ipv6tun+        option route_allowed_ips '0
-        option ... +        option public_key 'r7vzF6irpXSmkTibIHztIcfc/YzPmpyMX9LYa9z5Yw0=' 
-</file>+        list allowed_ips '::/0' 
 +        #option persistent_keepalive '120'  # Optional: use if there is a NAT/firewall 
 +        
  
 +config route6 'default_v6_gw_a'
 +        option interface 'wgipv6tun'
 +        option target '::/0'
 +        option source '2a03:3b40:200::XXX'
  
-===== Řešení pomocí Wireguardu =====+config route6 'default_v6_gw_b' 
 +        option interface 'wgipv6tun' 
 +        option target '::/0' 
 +        option source '2a03:3b40:XXX::/48' 
 +</file>
  
-Testujeme také použití moderního tunelovacího protokolu [[https://www.wireguard.com/ WireGuard]]. Ten nabízí šifrování a autentizaci, zároveň ale také velký výkon v porovnání s OpenVPN. +==== Příklad konfigurace Wireguradu pro MikroTik (verze 7) ====
-Používá se UDP provoz na portu 51820. Každý klient se autentizuje párem veřejného a soukromého klíče. Každému klientovi je **staticky** přidělena jedna spojovací IPv6 adresa a podsíť o délce prefixu /48.+
  
-Každý tunel má nastavené datum exspirace na jeden rok po zřízení, po jeho uplynutí je odkonfigurovánPro nepřerušovaný provoz je tedy třeba požádat o prodloužení. Záměrem tohoto nepohodlného opatření je, aby každý uživatel **nejméně jednou ročně napsal svému poskytovateli připojení dotaz na stav podpory IPv6**.+<file> 
 +/interface/wireguard/add name="wgipv6tun" mtu=1420 private-key="FIXME" 
 +/interface/wireguard/peers/add interface=wgipv6tun public-key="r7vzF6irpXSmkTibIHztIcfc/YzPmpyMX9LYa9z5Yw0=" endpoint-address=ipv6tun01.vpsfree.cz endpoint-port=51820 allowed-address=::/
 +/ipv6/address/add address=2a03:3b40:200::XXX/128 interface=wgipv6tun 
 +/ipv6/route/add dst-address=::/0 gateway=wgipv6tun 
 +/ipv6/route/add dst-address=2a03:3b40:XXX::/48 blackhole 
 +</file>
  
-==== Jak zprovoznit tunel ====+Poznámka: kromě uvedené konfigurace bude také nejspíš vhodné nastavit IPv6 adresy na LAN straně routeru. Také může být potřeba povolit provoz Wireguardového tunelu ve firewallu. Ve [[https://help.mikrotik.com/docs/display/ROS/WireGuard|výchozí konfiguraci]] používá Wireguardový tunel lokální port číslo 13231.
  
-   - Napište svému ISP dotaz ohledně podpory IPv6. +===== Nastavte přidělený blok jako Unreachable =====
-   - Vygenerujte dvojici soukromého a veřejného klíče: ''$ wg genkey | tee privatekey | wg pubkey'' +
-   - Požádejte o tunel prostřednictvím e-mailu na **ipv6tun@vpsfree.cz**. Nezapomeňte přiložit veřejný klíč. +
-   - Obdržíte přidělené ID klienta. +
-   - Nakonfigurujte svého klienta Wireguard podle příkladu níže. +
-   - Nakonfigurujte svůj router tak, aby do domácí sítě přiděloval nějaké adresy z přidělené podsítě.+
  
 +Je velmi pravděpodobné, že nevyužijete celý přidělený blok délky /48. Protože výchozí brána vede směrem do tunelu, bude každý paket, který přijde do nevyužité části bloku, vrácen zpět do tunelu a dále zpět k vám. Abyste tento problém eliminovali, je dobré instalovat do směrovací tabulky záznam pro celý blok, takto:
 +
 +<file>
 +ip -6 route add unreachable 2a03:3b40:XXX::/48
 +</file>
  
 +Tento příkaz je třeba spustit po každém startu. Pokud používáte OpenWRT, není třeba nic řešit, toto chování je výchozí.
  
 ===== Povolení příchozího provozu na OpenWRT ===== ===== Povolení příchozího provozu na OpenWRT =====
Řádek 96: Řádek 119:
         option target 'ACCEPT'         option target 'ACCEPT'
 </file> </file>
 +===== Řešení pomocí OpenVPN =====
 +
 +**Použití OpenVPN pro nové instalace nedoporučujeme. Wireguard se ukazuje jako jednodušší a spolehlivnější.**
 +
 +K tunelování IPv6 provozu je možné také použít OpenVPN verze 2.4 s vypnutým šifrováním a autentizací provozu – to z důvodu nedostatku výkonu na straně klienta. Používá se UDP provoz na standardním portu 1194. Každý klient se autentizuje certifikátem. Každému klientovi je **staticky** přidělena jedna spojovací IPv6 adresa a  podsíť o délce prefixu /48.
 +
 +Klientský certifikát je platný jeden rok. Před uplynutím jeho platnosti je třeba požádat o vydání nového. Záměrem tohoto nepohodlného opatření je, aby každý uživatel **nejméně jednou ročně napsal svému poskytovateli připojení dotaz na stav podpory IPv6**.
 + 
 +==== Jak zprovoznit tunel ====
 +
 +   - Napište svému ISP dotaz ohledně podpory IPv6.
 +   - Požádejte o tunel prostřednictvím e-mailu na **ipv6tun@vpsfree.cz**.
 +   - Obdržíte konfigurační soubor pro OpenVPN klienta.
 +   - Upravte soubor podle své potřeby.
 +   - Nakonfigurujte svůj router tak, aby do domácí sítě přiděloval nějaké adresy z přidělené podsítě. (Konfigurační soubor obsahuje ukázku konfigurace pro OpenWRT)
 +
 +==== Příklad konfigurace OpenVPN pro OpenWRT ====
 +
 +V tomto případě je ukázka přímo v dodaném konfiguračním souboru. Konfigurační soubor stačí uložit tak, jak je (s příponou ''.conf'') do ''/etc/openvpn/'' (je třeba mít nainstalovaný balík ''openvpn-openssl''). A nadefinovat službu:
 +
 +<file | /etc/config/openvpn>
 +config openvpn custom_config
 +        option enabled 1
 +        option config /etc/openvpn/ipv6tun-XXX.conf
 +</file>
 +
 +Dále je potřeba vytvořit nové logické rozhraní:
 +
 +<file | /etc/config/network>
 +config interface 'ipv6tun'
 +        option ifname 'tunipv6'
 +        option proto 'static'
 +        option ip6addr '<adresa konce tunelu>/64'
 +        option ip6gw '<adresa brány>'
 +        option ip6prefix '<přidělený prefix>/48'
 +</file>
 +
 +a přidat logické rozhraní `ipv6tun` do firewallové zóny `wan`:
 +
 +<file | /etc/config/firewall>
 +config zone
 +        option name 'wan'
 +        option network 'wan wan6 ipv6tun'
 +        option ...
 +</file>
 +
  
informace/projekty/ipv6tunel.1603012165.txt.gz · Poslední úprava: 2020/10/18 09:09 autor: oskar