Peress WireGuard qalba futura Linux 5.6, iddeċidejt li nara l-aħjar mod kif nintegra din il-VPN ma' tiegħi .
Оборудование
- Raspberry Pi 3 b'modulu LTE u indirizz IP pubbliku. Hawn se jkun hemm server VPN (minn hawn 'il quddiem fit-test jissejjaħ edgewalker)
- Telefon mixgħul Android, li jrid juża VPN għall-komunikazzjonijiet kollha
- Laptop Linux, li għandu juża VPN biss fin-netwerk
Kull apparat li jgħaqqad mal-VPN għandu jkun jista 'jikkonnettja mal-apparati l-oħra kollha. Pereżempju, telefon għandu jkun jista' jikkonnettja ma' server tal-web fuq laptop jekk iż-żewġ apparati jkunu parti minn netwerk VPN. Jekk is-setup tirriżulta li hija pjuttost sempliċi, allura tista 'taħseb dwar il-konnessjoni tad-desktop mal-VPN (permezz ta' Ethernet).
Meta wieħed iqis li l-konnessjonijiet bil-fili u mingħajr fili qed isiru dejjem inqas sikuri maż-żmien (, и ), Qed nikkunsidra serjament li nuża WireGuard għall-apparati kollha tiegħi, irrispettivament minn f'liema ambjent jaħdmu.
Installazzjoni tas-software
WireGuard tipprovdi għal ħafna distribuzzjonijiet Linux, Windows и macOSApplikazzjonijiet għal Android u l-iOS jitwasslu permezz tal-app stores.
Għandi l-aħħar Fedora Linux 31, u qabel ma installajt kont għażżien wisq biex naqra l-manwal. Għadni kif sibt il-pakketti. wireguard-tools, installathom, u mbagħad ma setgħux insemmu għaliex xejn ma kien qed jaħdem. Aktar investigazzjoni wriet li m'għandix il-pakkett installat wireguard-dkms (b'sewwieq tan-netwerk), iżda ma kienx fir-repożitorju tad-distribuzzjoni tiegħi.
Kieku qrajt l-istruzzjonijiet, kont ħadt il-passi korretti:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Għandi d-distribuzzjoni Raspbian Buster installata fuq il-Raspberry Pi tiegħi, diġà hemm pakkett hemmhekk wireguard, installah:
$ sudo apt install wireguardFuq it-telefon Android Installajt l-applikazzjoni mill-katalgu uffiċjali tal-Google App Store.
Installazzjoni ta' ċwievet
Biex tawtentika n-nodi Wireguard Juża skema sempliċi ta' ċwievet privati/pubbliċi biex jawtentika n-nodi VPN. Tista' faċilment tiġġenera ċwievet VPN bil-kmand li ġej:
$ 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.keyDan jagħtina tliet pari ewlenin (sitt fajls). Aħna mhux se nirreferu għall-fajls fil-konfigurazzjonijiet, iżda nikkopja l-kontenut hawn: kull ċavetta hija linja waħda f'base64.
Ħolqien ta 'fajl ta' konfigurazzjoni għas-server VPN (Raspberry Pi)
Il-konfigurazzjoni hija pjuttost sempliċi, ħloqt il-fajl li ġej /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/32Ftit noti:
- Fil-postijiet xierqa għandek bżonn daħħal linji mill-fajls biċ-ċwievet
- Il-VPN tiegħi qed juża faxxa interna
10.200.200.0/24 - Għat-timijiet
PostUp/PostDownGħandi l-interface tan-netwerk estern wwan0, jista 'jkollok waħda differenti (per eżempju, eth0)
In-netwerk VPN jitqajjem faċilment bil-kmand li ġej:
$ sudo wg-quick up wg0 Dettall żgħir wieħed: bħala s-server DNS li użajt dnsmasq marbut ma 'interface tan-netwerk br0, Żidt ukoll apparati wg0 għal-lista ta' apparati permessi. F'dnsmasq dan isir billi żżid linja ġdida ta' interface tan-netwerk mal-fajl tal-konfigurazzjoni /etc/dnsmasq.confper eżempju:
interface=br0
interface=wg0Barra minn hekk, żidt regola iptable biex tippermetti t-traffiku lejn il-port tas-smigħ UDP (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTIssa li kollox qed jaħdem, nistgħu nwaqqfu t-tnedija awtomatika tal-mina VPN:
$ sudo systemctl enable wg-quick@wg0.serviceKonfigurazzjoni tal-klijent fuq il-laptop
Oħloq fajl ta 'konfigurazzjoni fuq laptop /etc/wireguard/wg0.conf bl-istess settings:
[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:51820Noti:
- Minflok edgewalker għandek bżonn tispeċifika l-IP pubbliku jew host server VPN
- Billi tissettja
AllowedIPsfuq10.200.200.0/24, nużaw biss VPN biex naċċessaw in-netwerk intern. It-traffiku lejn l-indirizzi IP/servers l-oħra kollha se jkompli jgħaddi minn kanali miftuħa "normali". Se juża wkoll is-server DNS konfigurat minn qabel fuq il-laptop.
Għall-ittestjar u t-tnedija awtomatika nużaw l-istess kmandi wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceIssettjar tal-klijent għal Android-telefon
Għat-telefon Android Noħolqu fajl ta' konfigurazzjoni simili ħafna (ejja nsejħulu 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 B'differenza mill-konfigurazzjoni fuq il-laptop, it-telefon għandu juża s-server VPN tagħna bħala s-server DNS (linja DNS), u tgħaddi wkoll it-traffiku kollu mill-mina VPN (AllowedIPs = 0.0.0.0/0).
Minflok ma tikkopja l-fajl fuq it-tagħmir mobbli tiegħek, tista' tikkonvertih f'kodiċi QR:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.confIl-kodiċi QR se jintbagħat lill-console bħala ASCII. Jista' jiġi skennjat mill-app. Android VPN u kkonfigura awtomatikament il-mina tal-VPN.
Output
aġġustament WireGuard sempliċement maġiku meta mqabbel ma' OpenVPN.
Sors: www.habr.com
