Óta WireGuard jövőbeli mag Linux 5.6-os verzióban úgy döntöttem, hogy megnézem, hogyan lehetne ezt a VPN-t a legjobban integrálni a sajátommal .
Оборудование
- Raspberry Pi 3 LTE modullal és nyilvános IP-vel. Lesz egy VPN-kiszolgáló (a továbbiakban: éljáró)
- Telefon bekapcsolva Android, amelynek minden kommunikációhoz VPN-t kell használnia
- jegyzetfüzet Linux, amelynek csak a hálózaton belül szabad VPN-t használnia
Minden VPN-hez csatlakozó eszköznek képesnek kell lennie minden más eszközhöz csatlakozni. Például egy telefonnak képesnek kell lennie egy laptop webszerveréhez csatlakozni, ha mindkét eszköz egy VPN-hálózat része. Ha a beállítás elég egyszerű, akkor elgondolkodhat a VPN-hez és az asztali számítógéphez való csatlakozáson (Ethernet-en keresztül).
Figyelembe véve, hogy a vezetékes és vezeték nélküli kapcsolatok idővel egyre kevésbé biztonságosak (, и ), komolyan fontolgatom a használatát WireGuard minden eszközömön, függetlenül attól, hogy milyen környezetben futnak.
Szoftver telepítése
WireGuard biztosítja a legtöbb disztribúcióhoz Linux, Windows и macOSJelentkezések Android és az iOS alkalmazásboltokon keresztül érhető el.
A legújabb Fedorám van. Linux 31-es verzió, és telepítés előtt túl lusta voltam elolvasni a kézikönyvet. Csak a csomagokat találtam meg. wireguard-tools, telepítette őket, majd nem sikerült rájönni, miért nem működik semmi. A további vizsgálat során kiderült, hogy nem telepítettem a csomagot wireguard-dkms (hálózati meghajtóval), és nem volt a disztribúcióm tárolójában.
Ha elolvastam volna az utasításokat, a megfelelő lépéseket tettem volna:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools A Raspbian Buster disztribúció telepítve van a Raspberry Pi-mre, már van csomag wireguard, telepítse:
$ sudo apt install wireguardA telefonon Android Telepítettem az alkalmazást a Google App Store hivatalos katalógusából.
Kulcsok telepítése
Csomópontok hitelesítéséhez Wireguard Egyszerű privát/nyilvános kulcsú sémát használ a VPN-csomópontok hitelesítéséhez. VPN-kulcsokat könnyedén generálhat a következő paranccsal:
$ wg genkey | tee wg-laptop-private.key | wg pubkey > wg-laptop-public.key
$ wg genkey | tee wg-server-private.key | wg pubkey > wg-server-public.key
$ wg genkey | tee wg-mobile-private.key | wg pubkey > wg-mobile-public.keyÍgy három kulcspárt kapunk (hat fájlt). A konfigurációkban nem hivatkozunk a fájlokra, hanem ide másoljuk a tartalmat: minden kulcs egy sor a base64-ben.
Konfigurációs fájl létrehozása VPN-kiszolgálóhoz (Raspberry Pi)
A konfiguráció meglehetősen egyszerű, létrehoztam a következő fájlt /etc/wireguard/wg0.conf:
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE
[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32
[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32Pár megjegyzés:
- A megfelelő helyekre be kell szúrni a sorokat a fájlokból a gombokkal
- A VPN-em belső tartományt használ
10.200.200.0/24 - Csapatoknak
PostUp/PostDownVan egy wwan0 külső hálózati interfészem, lehet, hogy neked más (például eth0)
A VPN hálózat könnyen előhívható a következő paranccsal:
$ sudo wg-quick up wg0 Egy apró részlet: DNS szerverként használtam dnsmasq hálózati interfészhez csatlakozik br0, eszközöket is hozzáadtam wg0 az engedélyezett eszközök listájához. A dnsmasq-ban ez úgy történik, hogy a konfigurációs fájlhoz adunk egy új sort a hálózati interfésszel /etc/dnsmasq.conf, például:
interface=br0
interface=wg0Ezenkívül hozzáadtam egy iptable-szabályt, amely lehetővé teszi a forgalmat a figyelő UDP-porthoz (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTMost, hogy minden működik, regisztrálhatjuk a VPN alagút automatikus elindítását:
$ sudo systemctl enable wg-quick@wg0.serviceLaptop kliens konfiguráció
A laptopon hozzon létre egy konfigurációs fájlt /etc/wireguard/wg0.conf ugyanazokkal a beállításokkal:
[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820Megjegyzések:
- Az edgewalker helyett nyilvános IP- vagy VPN-kiszolgáló gazdagépet kell megadnia
- Beállításával
AllowedIPson10.200.200.0/24, csak a VPN-t használjuk a belső hálózat eléréséhez. Az összes többi IP-címre/szerverre irányuló forgalom továbbra is „szokásos” nyitott csatornákon keresztül fog haladni. A laptopon előre konfigurált DNS-kiszolgálót is használni fogja.
A teszteléshez és az automatikus indításhoz ugyanazokat a parancsokat használjuk wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceAz ügyfél beállítása a következőhöz: Android-telefon
Telefonhoz Android Létrehozunk egy nagyon hasonló konfigurációs fájlt (nevezzük el mobile.conf):
[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = edgewalker:51820 A laptop konfigurációjától eltérően a telefonnak a VPN-kiszolgálónkat kell használnia DNS-kiszolgálóként (string DNS), valamint átengedi az összes forgalmat a VPN-alagúton (AllowedIPs = 0.0.0.0/0).
A fájl mobileszközre másolása helyett QR-kóddá alakíthatja:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.confA QR-kód ASCII formátumban jelenik meg a konzolon. Az alkalmazásból beolvasható. Android VPN-t használ, és automatikusan konfigurálja a VPN-alagutat.
Teljesítmény
beállítás WireGuard egyszerűen varázslatos ahhoz képest, OpenVPN.
Forrás: will.com
