Vytvoření WireGuard VPN na MikroTiku

Vytvoření WireGuard VPN na MikroTiku
« kdy: 24. 01. 2022, 21:13:42 »
Čau,
snažím se na Mikrotiku vytvořit Wireguard VPN dle návodu na root.cz a zasekl jsem se už na vytvoření peera. Chce to po mně public key. Kde ten klíč vemu? Předpokládám, že to je veřejný klíč toho peera - nějakého zařízení, které se bude připojovat k Mikrotiku. Tak jsem na ntbk vygeneroval klíč s tím, že privátní bych nahrál např. na mobil a veřejný na ten mikrotik do peera, ale Mikrotik odmítá peera uložit s tím, že veřejný klíč není platný. V dokumentaci k RouterOS jsem k tomu nic rozumného nevykoukal. Jediné co mně napadlo, že formát klíče má být base64 public key, což nevím, jestli je ono. Na netu k tomu moc užitečného není, žádný převodní algoritmus (bash). Napovíte jak dál? Dík.
« Poslední změna: 24. 01. 2022, 23:08:58 od Petr Krčmář »


Re:Vytvoření WireGuard VPN na MikroTiku
« Odpověď #1 kdy: 24. 01. 2022, 23:13:36 »
Princip asymetrické kryptografie umožňuje, aby se klíče generovaly vždy na konkrétním zařízení a privátní část aby pokud možno nikdy toto zařízení neopustila. Správný postup je tedy generovat pár přímo na tom telefonu s Androidem a přenést si na druhou stranu jen veřejný klíč. Všichni klienti si umí klíče vygenerovat, toho na Androidu nevyjímaje.

Druhou možností je vytvořit (třeba na Linuxu) konfigurační soubor včetně privátního klíče a pak celý ten konfigurační soubor naimportovat do klienta. Formát je multiplatformní a je popsán v dokumentaci nebo ve zmíněném seriálu. Klíče se vytvářejí pomocí utility wg.

Re:Vytvoření WireGuard VPN na MikroTiku
« Odpověď #2 kdy: 25. 01. 2022, 09:27:32 »
Pro zjednodušení generování klíčů a konfiguráků se podívejte na https://www.wireguardconfig.com/
(Všechno ti to vygeneruje a jen zkopíruješ co potřebuješ. Hásí, že generování probíhá na klientu a data neopustí váš stroj)

rmrf

Re:Vytvoření WireGuard VPN na MikroTiku
« Odpověď #3 kdy: 25. 01. 2022, 09:47:13 »
Generovat private/public key někde na nějakém cizím serveru mi připadá poněkud nerozumné. Jestliže má člověk k dispozici vlastní linuxový stroj, tak je snad mnohem jednodušší a bezpečnější vygenerovat si klíče osobně na něm (když už to nechci dělat na tom stroji, kam to potom přijde). Viz man wg:

$ umask 077
$ wg genkey | tee private.key | wg pubkey > public.key

Re:Vytvoření WireGuard VPN na MikroTiku
« Odpověď #4 kdy: 26. 01. 2022, 10:44:19 »


Re:Vytvoření WireGuard VPN na MikroTiku
« Odpověď #5 kdy: 01. 02. 2022, 10:01:58 »
Napsal jsem podrobný článek o WireGuardu na MikroTiku a Androidu. Díky za inspiraci.
Já děkuju za dobrý článek! Hrál jsem si s tím celý večer a nešlo to, tak jsem šel spát. A po půlnoci se objevil článek. Akorát pak se nahrnulo množství práce, tak jsem se k tomu dostal až teď a vše funguje jak má, článek pomohl.

Re:Vytvoření WireGuard VPN na MikroTiku
« Odpověď #6 kdy: 01. 02. 2022, 10:30:18 »
Ještě se vyskytla jedna komplikace, kterou jsem musel řešit a to dva druhy provozu. Chtěl jsem mít VPN jak s plně routovaným provozem, tak jen částečným pro přístup do domácí sítě. Zjistil jsem, že klient na Androidu neumožňuje připojit se oběma druhům uzlu (peer) na stejné rozhraní (interface) na Mikrotiku. Musel jsem na Mikrotiku vytvořit samostatné rozhraní pro úplný provoz přes VPN a druhé pro částečně routovanou vpn.

Hlavní rozdíl v nastavení plného/částečného provozu v aplikaci na Androidu je ten, že u částečného dáte navíc:

[Klient Android]

[Interface]
DNS server: 192.168.55.1 # adresa rozhraní VPN na Mikrotiku, aby nám to našlo domácí servery (správně resolvovalo)

[Peer]
Povolené IP: 192.168.55.0/24, 192.168.75.0/24 # seznam podsítí, které budou přes VPN přístupné