2024. április 19., péntek

Gyorskeresés

EdgeRouter : WireGuard VPN - Updated

Írta: | Kulcsszavak: edgerouter . wireguard . vpn . edgeos

[ ÚJ BEJEGYZÉS ]

Az előző bejegyzésemben szereplő Github repo frissítése sajnos megszűnt, a Wireguard-ból azóta pedig jelentek meg új verziók, ezért némileg frissítem a leírást is, egy kicsit talán egyszerűbb telepítési módszerrel.
Illetve így egy esetleges EdgeOS firmware update után sem kell újratelepítenünk semmit, és a konfgurációnk is megmarad.

Letöltjük a telepítő scriptet szintén a Github-ról, majd futtathatóvá tesszük:
curl -sSL https://github.com/mafredri/vyatta-wireguard-installer/raw/master/wireguard.sh -o /config/scripts/post-config.d/wireguard.sh
chmod +x /config/scripts/post-config.d/wireguard.sh

Telepítsük a wireguard csomagot:
cd /config/scripts/post-config.d/
./wireguard.sh install

A script az alábbi parancsokkal használható még:
Commands:
check Check if there's a new version of WireGuard (without installing)
install Install the latest version of WireGuard
upgrade Upgrade WireGuard to the latest version
remove Remove WireGuard
self-update Fetch the latest version of this script
help Show this help
version Show the version of this tool

Options:
--no-cache Disable package caching, cache is used during (re)install

Hozzuk létre a /config/auth könyvtárban a kulcsokat, és a kliens konfigurációs fájlt is, amit majd az EdgeOS-re telepített qrencode csomaggal foguk szkennelhető QR-kódra alakítani.

Lássuk is akkor:
cd /config/auth
wg genkey | tee wg_private.key | wg pubkey > wg_public.key
wg genkey | tee iphone8_private.key | wg pubkey > iphone8_public.key

Most telepítsük a routerre a qrencode, és a nano Debian csomagokat. (én a nano-t szeretem használni a könnyű kezelhetősége miatt, de természetesen bármilyen szövegszerkesztő megteszi)

Figyeljünk az EdgeOS verzióra!

Én v2.x-en vagyok, ezért a Stretch tárolóját használom, akik esetleg még v1.x-en, azoknak a Wheezy repo szükséges!

configure
set system package repository stretch components 'main contrib non-free'
set system package repository stretch distribution stretch
set system package repository stretch url http://http.us.debian.org/debian
commit; save
sudo apt-get update

FIGYELEM! Soha ne használjuk a apt-get upgrade parancsot, mert megsérülhetnek az EdgeOS speciális Debian csomagjai, melynek következtében használhatatlan lesz a routerünk!

sudo apt-cache search qrencode
sudo apt-cache search nano
sudo apt-get install qrencode
sudo apt-get install nano
commit; save; exit

A kulcs fájlok tartalmát egy új terminál ablakban kilistáztam, igy egyszerűen másolhatóak majd:
rekop@ubnt:/config/auth$ cat iphone8_public.key
5rOEAlYo6mSgtEw+uWAto4j2tkpztrfDU9FDQIL8Zlw0A=

rekop@ubnt:/config/auth$ cat iphone8_private.key
iNz0P1SDpM3rB2RTGox+BwGFAJymTz4Kn1nlS+qjVw=

rekop@ubnt:/config/auth$ cat wg_public.key
BLt4R6czXsuYtEOfbXlyXasa1q6kxASEW2RZ6DSg=

Elkészítjük a kliens konfigurációs fájlt a nano segítségével:
rekop@ubnt:/config/auth$ nano wg_iphone8.conf

A tartalom pedig:
[Interface]
PrivateKey = <az iphone8_private.key tartalma>
Address = 192.168.33.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <a szerver wg_public.key tartalma>
Endpoint = <sajat dyndns >:51820
AllowedIPs = 0.0.0.0/0

Jöhet a QR-kód generálás, amit beolvasunk a telefonos wireguard app segítségével:
rekop@ubnt:/config/auth$ qrencode -t ansiutf8 < wg_iphone8.conf

A wireguard interfész beállítása a routeren:
configure
set interfaces wireguard wg0 address 192.168.33.1/24
set interfaces wireguard wg0 listen-port 51820
set interfaces wireguard wg0 route-allowed-ips true
set interfaces wireguard wg0 private-key /config/auth/wg_private.key

Majd hozzáadjuk a kliensünk public kulcsát az interfészfez:
set interfaces wireguard wg0 peer <iphone8_public.key tartalma> allowed-ips 192.168.33.2/32

És végül a tűzfal szabályok létrehozása
set firewall name WAN_LOCAL rule 80 action accept
set firewall name WAN_LOCAL rule 80 description WireGuard
set firewall name WAN_LOCAL rule 80 destination port 51820
set firewall name WAN_LOCAL rule 80 protocol udp
commit; save; exit

Akár beállíthatunk automatikus frissítést is a cron segítségével.
Ehhez először létrehozunk egy scriptet wg_upgrade néven:
nano /config/scripts/wg_upgrade
A tartalma pedig:
#!/bin/vbash
/config/scripts/post-config.d/wireguard.sh upgrade

Futtathatóvá tesszük:
chmod +x /config/scripts/wg_upgrade
Majd jöhet a scheduler beállítása, így öt naponta fog lefutni a script:
configure
set system task-scheduler task wg_upgrade executable path /config/scripts/wg_upgrade
set system task-scheduler task wg_upgrade interval 5d
commit; save; exit

  • Nem lehet hozzászólni
Copyright © 2000-2024 PROHARDVER Informatikai Kft.