Minħabba WireGuard
Оборудование
- Raspberry Pi 3 b'modulu LTE u indirizz IP pubbliku. Hawn se jkun hemm server VPN (minn hawn 'il quddiem fit-test jissejjaħ edgewalker)
- Telefown Android li jrid juża VPN għall-komunikazzjonijiet kollha
- Laptop Linux li għandu juża biss VPN 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 (
Installazzjoni tas-software
WireGuard jipprovdi
Għandi l-aħħar Fedora Linux 31, u kont għażżien wisq biex naqra l-manwal qabel ma ninstalla. Biss 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 wireguard
Fuq it-telefon Android tiegħi installajt l-applikazzjoni
Installazzjoni ta' ċwievet
Għall-awtentikazzjoni bejn il-pari, Wireguard juża skema sempliċi ta’ ċavetta privata/pubblika biex jawtentika lill-pari tal-VPN. Tista 'faċilment toħloq ċwievet VPN billi tuża l-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.key
Dan 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/32
Ftit 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
/PostDown
Għ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.conf
per eżempju:
interface=br0
interface=wg0
Barra 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 ACCEPT
Issa li kollox qed jaħdem, nistgħu nwaqqfu t-tnedija awtomatika tal-mina VPN:
$ sudo systemctl enable [email protected]
Konfigurazzjoni 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:51820
Noti:
- Minflok edgewalker għandek bżonn tispeċifika l-IP pubbliku jew host server VPN
- Billi tissettja
AllowedIPs
fuq10.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 [email protected]
Twaqqif ta 'klijent fuq telefon Android
Għal telefon Android noħolqu fajl ta' konfigurazzjoni simili ħafna (ejja nsejħulha 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.conf
Il-kodiċi QR joħroġ lill-console bħala ASCII. Tista' tiskennjaha mill-app Android VPN u twaqqaf mina VPN awtomatikament.
Output
It-twaqqif ta 'WireGuard huwa sempliċement maġiku meta mqabbel ma' OpenVPN.
Sors: www.habr.com