WireGuard je „lightweight“ virtuálna privátna sieť (VPN), ktorá podporuje pripojenia IPv4 a IPv6. Pôvodne bol vydaný pre jadro Linuxu ale teraz je multiplatformový (Windows, macOS, BSD, iOS, Android). V súčasnosti sa stále vyvíja a v porovnaní s OpenVPN je jeho konfigurácia podstatne jednoduchšia.
Operačný systém RouterOS od spoločnosti Mikrotik od verzie 7 ponúka možnosť využiť WireGuard ako VPN riešenie. My túto možnosť využijeme pre prepojenie topológie, (resp. Virtuálok) vytvorenej vo VMware s topológiou sieťových zariadení v GNS3.
Topológia:
Konfigurácia:
Na obidvoch mikrotikoch vytvoríme nové WireGuard rozhranie týmto spôsobom:
VmWareMikrotik>interface/wireguard/add name=wireguard1 mtu=1420 listen-port=13231
//definujeme tu názov, mtu a port na ktorom bude „počúvať“
GNS3_Mikrotik>interface/wireguard/add name=wireguard1 mtu=1420 listen-port=13231
//definujeme tu názov, mtu a port na ktorom bude „počúvať“
Ako ďalšie musíme zistiť privátny a verejný kľúč. Tieto kľúče sa nám vytvorili automaticky po tvorbe WireGuard rozhrania. Vypíšeme si ich nasledujúcim spôsobom:
VmWareMikrotik>interface/wireguard/print
GNS3_Mikrotik>interface/wireguard/print
Jednotlivé verejné kľúče si musia navzájom zdieľať a zadať ich to sekcie „Peer“ v rámci WireGuard.
Konfigurácia na VMware mikrotiku s použitím verejného kľúča GNS mikrotiku:
VmWareMikrotik>interface/wireguard/peers/add interface=wireguard1 endpoint-address=158.193.152.123 endpoint-port=13231 allowed-address=0.0.0.0/0 public-key=” jtJSZN4bQZLWmzIuQ/63SudQg3elH0MZqYTcu7qh1QY=“
//interface – definujeme WireGuard rozhranie
//endpoint-address –IP adresa druhého mikrotiku
//endpoint-port – port na ktorom „počúva“ druhý mikrotik
//allowed-address – ktoré IP adresy sú povolené vo VPN tunely
//public-key – verejný kľúč druhého mikrotiku
Rovnakú konfiguráciu vykonáme aj na GNS mikrotiku s tým, že použijeme verejný kľúč VMware mikrotiku:
GNS3_Mikrotik>interface/wireguard/peers/add interface=wireguard1 endpoint-address=158.193.152.123 endpoint-port=13231 allowed-address=0.0.0.0/0 public-key=” PieIAtwDzUnCqeNfg61jmTkQroUy7A6KEy0+8BAiYxA“
//interface – definujeme WireGuard rozhranie
//endpoint-address –IP adresa druhého mikrotiku
//endpoint-port – port na ktorom „počúva“ druhý mikrotik
//allowed-address – ktoré IP adresy sú povolené vo VPN tunely
//public-key – verejný kľúč druhého mikrotiku
Na záver stačí priradiť WireGuard rozhraniu IP adresu:
VmWareMikrotik>ip address/add address=10.0.0.2/30 interface=wireguard1
GNS3_Mikrotik>ip address/add address=10.0.0.1/30 interface=wireguard1
Overenie:
Správnosť konfigurácie si overíme použitím ICMP protokolu, kde skontrolujeme konektivitu medzi smerovačmi cez VPN tunel.
Z obrázka vidieť, že komunikácia medzi smerovačmi cez VPN tunel je úspešná.