Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| navody:server:gre [2015/11/04 10:32] – vytvořeno krcmar | navody:server:gre [2026/08/16 18:56] (aktuální) – Přirozenější znění návodů, lokalizace ukázek a doplnění týdenního vyzkoušení VPS aither | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== GRE tunely ====== | + | < |
| - | Pokud potřebujete propojit jednoduše dva různé servery (virtuální nebo fyzické), je nejjednodušší použít [[https://en.wikipedia.org/wiki/Generic_Routing_Encapsulation|GRE]]. Jedná se o tunelovací protokol původně vyvinutý v Cisco. Máte možnost si tvořit nová síťová rozhraní propojená tunelem. | + | < |
| + | source=" | ||
| + | test=" | ||
| + | /> | ||
| - | Na prvním serveru (185.8.165.156) provedete následující konfiguraci: | + | ====== GRE tunel ====== |
| - | < | + | GRE propojí dvě zařízení tunelem přes IPv4. Hodí se například pro směrování |
| - | [root@185.8.165.156]# ip a add 192.168.1.1/ | + | privátní sítě mezi dvěma VPS v důvěryhodné interní síti vpsFree. Níže je |
| - | [root@185.8.165.156]# | + | jednoduchý tunel mezi těmito ukázkovými adresami: |
| - | Na tom druhém (37.205.10.152) pak analogicky: | + | ^ ^ VPS A ^ VPS B ^ |
| + | | vnější adresa VPS | '' | ||
| + | | adresa uvnitř tunelu | '' | ||
| - | < | + | Vnější adresy jsou příklady z playground rozsahu vpsFree. Nahraď je adresami |
| - | [root@37.205.10.152]# | + | ''/ |
| - | [root@37.205.10.152]# | + | ponechat, pokud se nekříží s jinou sítí, kterou používáš. |
| - | Teď už by vám měl fungovat: | + | ===== Než začneš ===== |
| - | < | + | GRE používá **IP protokol 47**, nikoliv TCP nebo UDP port 47. Pokud na VPS |
| + | filtruješ provoz, povol protokol 47 z vnější adresy druhého konce. | ||
| - | ===== Statická konfigurace RHEL/CentOS ===== | + | Tento postup používej jen přes důvěryhodnou interní síť vpsFree, kde je |
| + | vynuceno vlastnictví zdrojových adres. Samotné GRE provoz **nešifruje ani | ||
| + | neověřuje protistranu**, | ||
| + | přes veřejný internet použij [[navody: | ||
| - | < | + | ===== Okamžité nastavení ===== |
| - | DEVICE=tunnel0 | + | |
| - | BOOTPROTO=none | + | |
| - | ONBOOT=no | + | |
| - | TYPE=GRE | + | |
| - | PEER_OUTER_IPADDR=37.205.10.152 | + | |
| - | PEER_INNER_IPADDR=185.8.165.156 | + | |
| - | MY_INNER_IPADDR=192.168.1.1</ | + | |
| - | < | + | Na VPS A spusť: |
| - | DEVICE=tunnel0 | + | |
| - | BOOTPROTO=none | + | |
| - | ONBOOT=no | + | |
| - | TYPE=GRE | + | |
| - | PEER_OUTER_IPADDR=185.8.165.156 | + | |
| - | PEER_INNER_IPADDR=37.205.10.152 | + | |
| - | MY_INNER_IPADDR=192.168.1.2</ | + | |
| - | Poté na obou stranách tunel nahodíme: | + | <code bash> |
| + | # | ||
| + | set -eu | ||
| - | < | + | ip tunnel add gre1 mode gre \ |
| + | local 185.8.164.10 remote 185.8.164.20 ttl 255 | ||
| + | ip address add 10.0.0.1/30 dev gre1 | ||
| + | ip link set dev gre1 mtu 1476 up | ||
| + | </ | ||
| - | ===== Statická konfigurace Debian/ | + | Na VPS B spusť: |
| - | < | + | < |
| - | [root@37.205.10.152]# cat /etc/network/interfaces | + | #!/usr/bin/env bash |
| + | set -eu | ||
| - | auto tunnel0 | + | ip tunnel add gre1 mode gre \ |
| - | iface tunnel0 | + | local 185.8.164.20 remote 185.8.164.10 ttl 255 |
| + | ip address add 10.0.0.2/30 dev gre1 | ||
| + | ip link set dev gre1 mtu 1476 up | ||
| + | </ | ||
| + | |||
| + | Spojení ověř z obou stran: | ||
| + | |||
| + | <code bash> | ||
| + | # | ||
| + | # Na VPS A | ||
| + | ping -c 3 10.0.0.2 | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | # | ||
| + | # Na VPS B | ||
| + | ping -c 3 10.0.0.1 | ||
| + | </ | ||
| + | |||
| + | Tyto příkazy platí jen do restartu. Rozhraní můžeš odstranit příkazem | ||
| + | '' | ||
| + | [[https:// | ||
| + | |||
| + | ===== Trvalé nastavení v Debianu ===== | ||
| + | |||
| + | Výchozí šablona Debianu používá ifupdown. Na VPS A ulož do | ||
| + | ''/ | ||
| + | |||
| + | <code bash> | ||
| + | auto gre1 | ||
| + | iface gre1 inet tunnel | ||
| mode gre | mode gre | ||
| - | netmask 255.255.255.255 | + | |
| - | | + | |
| - | | + | |
| - | endpoint | + | |
| - | local 192.168.1.1 | + | endpoint |
| - | ttl 255</ | + | ttl 255 |
| - | + | | |
| - | < | + | </code> |
| - | [root@185.8.165.156]# | + | |
| - | auto tunnel0 | + | Na VPS B použij: |
| - | iface tunnel0 | + | |
| + | <code bash> | ||
| + | auto gre1 | ||
| + | iface gre1 inet tunnel | ||
| mode gre | mode gre | ||
| - | | + | |
| - | | + | |
| - | dstaddr | + | dstaddr |
| - | | + | |
| - | | + | |
| - | ttl 255</ | + | ttl 255 |
| - | + | mtu 1476 | |
| - | Poté na obou stranách | + | </ |
| + | |||
| + | '' | ||
| + | '' | ||
| + | aktivuj: | ||
| + | |||
| + | <code bash> | ||
| + | ifup gre1 | ||
| + | </ | ||
| + | |||
| + | Podporované volby najdeš v | ||
| + | [[https:// | ||
| + | |||
| + | ===== Jiné správce sítě ===== | ||
| + | |||
| + | Pokud tvoje distribuce nepoužívá ifupdown, vytvoř stejný GRE tunel správcem | ||
| + | sítě dané distribuce. Aktuální volby popisuje dokumentace | ||
| + | [[https:// | ||
| + | a [[https:// | ||
| + | |||
| + | ===== MTU a řešení problémů ===== | ||
| + | |||
| + | Základní GRE přes IPv4 přidává režii, proto příklad používá MTU 1476 místo | ||
| + | běžných 1500 bajtů. Pokud má vnější cesta nižší MTU nebo se větší přenosy | ||
| + | zasekávají, | ||
| + | |||
| + | Když tunel nefunguje, ověř vnější adresy příkazem '' | ||
| + | protokolu 47 ve firewallu a stav příkazem '' | ||
| + | Pak zkontroluj, že se '' | ||
| + | '' | ||
| - | < | ||