So. Pro 21st, 2024

S RouterOS verze 7.x je možné zprovoznit WireGuard.

Máme 2 lokality.
R1 se nachází na lokalitě s veřejnou IPv4 adresou 95.95.95.95
Bude mít v zájmu VPN IP adresu 10.200.0.2
Má pod sebou LAN síť 192.168.125.0/24, sám má adresu 192.168.125.1
V síti je počítač 192.168.125.125.

R2 se nachází na druhé lokalitě s veřejnou IPv4 adresou 178.178.178.178
Bude mít v zájmu VPN IP adresu 10.200.0.1
Má pod sebou LAN síť 192.168.123.0/24, sám má adresu 192.168.123.1
V síti je počítač 192.168.123.123

Konfigurace R1 1/2

WireGuard / + / listen port 13231 (můžeme i jiný, třeba 443, pokud chceme trafik schovat pod HTTPS provoz)

Public key si někam zkopírujte, vložíte ho do Peeru na routeru R2:

Přidáme Adresu routeru R1 pro VPN Wireguard:

Přidáme routu na R1: (aby uživatelé v síti 192.168.125.0/24 viděli pc v síti 192.168.123.0/24 )

IP / ROUTES / +

Konfigurace R2

WireGuard / + /

Přidáme peera na R2:

Do Public Key vložíme Public key z routeru R1:

Přidáme routy a adresu R2 na R2

IP / Addresses / +

IP / ROUTES / +

Konfigurace R1 2/2

Vložíme peera na R1:

Logika nastavení je následující
Nahoře jsou peery pro každý router, dole jsou wireguard servery pro každý router.

Firewall R1

IP / FIREWALL / Add
chain: input
src. Address List : 178.178.178.178
Protocol: udp
destination port: 13231
Na záložce action dáme accept

Firewall R2

IP / FIREWALL / Add
chain: input
src. Address List : 95.95.95.95 (v mém případě na obrázku se na to může připojit odkudkoliv z celého světa, když tam src. Address nedám žádnou ip)
Protocol: udp
destination port: 13231
Na záložce action dáme accept

Hotovo

Ping z R2 na R1:

Ping z R1 na R2:

Počítače v sítích za routerem pingají počítače v sítích za opačným routerem bez nutnosti cokoliv dalšího na počítačích nastavovat. Počítače v sítích za routery pingají i VPN IP 10.200.0.x ip adresy routerů.

Pokud počítače pingají routery, ale nepingají počítače, je nutné ověřit, že v route listech jsou u Destionation addresses uvedeny /24 celé prefixy sítí

Ukázka na R2, kdyby tam nebyla /24, tak počítače v síti 192.168.125.0 ze sítě 192.168.123.0 počítače nepingnou

A totéž pak u addresses list:

Ukázka na R2, pokud by tam nebyl prefix /24, tak router nepingnete
Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji v jedné osobě cca 100 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem jsem měl příležitost s dalšími kolegy řešit správu 8000 serverů po celé západní Evropě s vysokou mírou automatizace a poznávání nejrůznějších evropských pracovních mentalit. Dále jsem řešil hybridní cloud ve velké firmě, orientované na trhy střední a východní Evropy. Posledních několik let se věnuji Devops pro velké zákazníky v Azure cloudu, spravuji kubernetes (AKS), Gitlab.

7 thoughts on “Wireguard na Mikrotiku site-to-site”
  1. ahoj, postupoval som podla navodu, naozaj je jednoduchy ale aj napriek tomu nemozem sa dostat na pc za mikrotikom, ping tunelu ke funkncy z oboch stran ale na pc sa nedostanem
    skusal som pridat wireguard do LAN interface a taktiez aj forward PC1 do PC2
    wireguard v nastaveni road warior funguje v poriadku len Site To Site mi nefunguje, obe routre su mikrotik a obe maju verejnu staticku IP
    nejaky napad?

    vdaka

    1. Zkusit vytáhnout pravidlo ve firewallu v prioritách trošku výš, aby se to pravidlo matchlo dříve, než ostatní pravidla. Možná to neběží jen kvůli tomuto. A kdyby to blbnulo, zkusit rebootnout v nějaký rozumný čas oba mikrotiky..

  2. Zdravim,
    prave riesim pripojenie pobocky a prave WireGuard a zariadenia Mikrotik mi na to prisli vhodne. Prave Vase navody mi pomohli sa rychlo nabrat maximum informacii a zorientovat sa. Takze velka vdaka za naozaj kvalitne navody.
    Mal by som par otazok, ak si najdete cas na odpoved budem velmi rad za kazdu dobru radu.
    Moja situacia je trocha ina ako Vami popisovana, ako prve zariadenia mam routre od ISP. Na centrale je staticka verejna IP, na pobocke nie.
    1. Kedze MT router bude az za routerom od ISP, tak ak to chapem spravne na routri od ISP budem musiet presmerovat port na ktorom bude WG bezat(napr. portforward 13231/udp na 192.168.0.2)?
    2. moze mat WG rozhranie rovnaku IP ako LAN IP MT routeru? (napr. 192.168.0.2 alebo je lepsie ak WG IP bude ina – a aj na uplne inom sietovom rozsahu – napr. 10.200.0.1)? Ak by boli rovnake moze to sposobovat nejake sietove konflikty a problemy?
    3. mozu mat siete na oboch koncoch rovnaky adresny rozsah(napr. 192.168.0.0/24 alebo je z rovnakeho dovodu ako v bode 2 lepsie ked maju kazda svoj adresny rozsah 192.168.0.0/24, 192.168.1.0/24)?
    4. a posledna otazka, zapojit MT router 1 a MT router 2 ako na priklade c. 1(https://download.elkop.sk/wg-01.png) ako to popisuju v navode na https://ubuntu.com/server/docs/wireguard-on-an-internal-system, alebo je lepsie umiestnit ich ako na priklade c. 2(https://download.elkop.sk/wg-01.png). Zalezi vobec na ich umiestneni alebo je to jedno kde budu zapojene?

    1. Zdravím,
      ad 1. Přesně tak. bude tam portforward z pravého horního routeru na 13231/udp na 192.168.0.2 (na routeru doporučím ověřit, že jsou udp porty povolené)
      ad 2. nechal bych to jako je to v té opravě. WG rozhraní nechat na jiné adresaci, jiné síti, než jsou standardní sítě za mikrotik routery, kvůli routovacím tabulkám.
      ad 3. Nedoporučuji mít stejnou síť např. 192.168.1.0/24 vlevo a tu stejnou 192.168.1.0/24 vpravo, jednak by to nemělo fungovat kvůli routovacím tabulkám za druhé, i kdyby to tak fungovalo a někomu se to tak podařilo zprovoznit, vznikne vždycky problém, když by se na obou sítích nacházel např. počítač s ip adresou 192.168.1.20. Proto doporučím mít na levé síti, jak je uvedeno v opravě 192.168.1.0/24 a na pravé síti 192.168.0.0/24 a bude to chodit OK. Já si kvůli tomu taky musel přeadresovat sítě napříč lokalitami, jinak s tím byl problém, protože routerům se najednou objeví v routovací tabulce tatáž síť přímo připojená k routeru a druhá, stejná síť dostupná přes wireguard a tehdy by to právě nefungovalo a stroje by se napříč sítěmi neviděly.
      ad 4. Rozhodně v tom dalším příspěvku ta oprava je lepší. V tom prvním případě si moc nedovedu představit, že by to fungovalo, protože nevím, jak by se klienti v síti 192.168.1.0 dozvěděli o tom, že existují klienti v síti 192.168.0.0, když ISP router a tedy brána do internetu, se kterou komunikují a která routuje jejich požadavky z jejich sítě ven, vůbec neví o tom, že nějaká síť 192.168.0.0 na opačné straně existuje, právě proto, že nebude vědět o tom, že existuje v té síti wireguard klient na mikrotiku, který se tváří jako klient na stejné úrovni, jako se nachází všechny ostatní počítače v síti 192.168.1.0. Já bych vždycky dával prvně mikrotik router a za něj teprve switch, případně bych uvažoval, jestli by se mi kvůli úspoře elektřiny nevyplatilo koupit např. výkonnější, či Mikrotik s více porty, abych ten switch vůbec nepotřeboval, ubude mi pak o jedno zařízení v síti, které je nutné konfigurovat, spravovat, udržovat a ještě ušetřím na elektřině, 1 port mezi switchem a routerem a ještě budu mít o 1 napájecí kabel méně a při příští obnově hardwaru při jeho zastárání možná ušetřím pár tisíc za nákup switche, když by to zvládl všechno do sebe zapojit ten router.

    1. Perfektní, mnohem čistější řešení (https://download.elkop.sk/wg-02.png) , viz moje předchozí reakce v bodě č.4.
      Domnívám se, že ten předchozí příklad ani nemohl fungovat a že se klienti navzájem mezi sítěmi v tom prvním nakresleném příkladu neviděli,
      max jen ty klienty, kteří se nacházeli fyzicky za stejným switchem/routerem, ale nemohli vidět ty klienty na opačném konci wireguardu. https://download.elkop.sk/wg-01.png. Je to tak?

      1. Moznost 1 som ani neskusal, moznost 2 funguje bez problemov, aj vdaka vasim navodom. Este raz vdaka za vase kvalitne navody.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *