Ers WireGuard craidd y dyfodol Linux 5.6, penderfynais weld sut orau i integreiddio'r VPN hwn gyda fy .
Offer
- Raspberry Pi 3 gyda modiwl LTE a chyfeiriad IP cyhoeddus. Bydd gweinydd VPN yma (o hyn ymlaen yn y testun y'i gelwir ymylwr)
- Ffôn ymlaen Android, sy'n gorfod defnyddio VPN ar gyfer pob cyfathrebiad
- Laptop Linux, a ddylai ddefnyddio VPN o fewn y rhwydwaith yn unig
Rhaid i bob dyfais sy'n cysylltu â'r VPN allu cysylltu â phob dyfais arall. Er enghraifft, dylai ffôn allu cysylltu â gweinydd gwe ar liniadur os yw'r ddau ddyfais yn rhan o rwydwaith VPN. Os yw'r gosodiad yn eithaf syml, yna gallwch chi feddwl am gysylltu'r bwrdd gwaith â'r VPN (trwy Ethernet).
O ystyried bod cysylltiadau gwifrau a diwifr yn dod yn llai a llai diogel dros amser (, и ), Rwy'n ystyried o ddifrif ddefnyddio WireGuard ar gyfer fy holl ddyfeisiau, ni waeth pa amgylchedd maen nhw'n rhedeg ynddo.
Gosod meddalwedd
WireGuard yn darparu ar gyfer y rhan fwyaf o ddosraniadau Linux, Windows и macOSCeisiadau ar gyfer Android ac mae iOS yn cael eu danfon trwy siopau apiau.
Mae gen i'r Fedora diweddaraf Linux 31, a chyn ei osod roeddwn i'n rhy ddiog i ddarllen y llawlyfr. Des i o hyd i'r pecynnau. wireguard-tools, gosod nhw, ac yna ni allai chyfrif i maes pam nad oedd dim byd yn gweithio. Datgelodd ymchwiliad pellach nad oes gennyf y pecyn wedi'i osod wireguard-dkms (gyda gyrrwr rhwydwaith), ond nid oedd yn y storfa fy dosbarthiad.
Pe bawn i wedi darllen y cyfarwyddiadau, byddwn wedi cymryd y camau cywir:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Mae gen i'r dosbarthiad Buster Raspbian wedi'i osod ar fy Raspberry Pi, mae pecyn yno eisoes wireguard, ei osod:
$ sudo apt install wireguardAr y ffôn Android Gosodais y rhaglen o gatalog swyddogol Google App Store.
Gosod allweddi
I ddilysu nodau Wireguard Yn defnyddio cynllun allweddi preifat/cyhoeddus syml i ddilysu nodau VPN. Gallwch chi gynhyrchu allweddi VPN yn hawdd gyda'r gorchymyn canlynol:
$ 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.keyMae hyn yn rhoi tri phâr allweddol i ni (chwe ffeil). Ni fyddwn yn cyfeirio at y ffeiliau yn y ffurfweddiadau, ond yn copïo'r cynnwys yma: mae pob allwedd yn un llinell yn base64.
Creu ffeil ffurfweddu ar gyfer y gweinydd VPN (Raspberry Pi)
Mae'r ffurfweddiad yn eithaf syml, creais y ffeil ganlynol /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/32Cwpl o nodiadau:
- Yn y mannau priodol mae angen i chi fewnosod llinellau o'r ffeiliau gyda'r allweddi
- Mae fy VPN yn defnyddio band mewnol
10.200.200.0/24 - Ar gyfer timau
PostUp/PostDownMae gen i'r rhyngwyneb rhwydwaith allanol wwan0, efallai bod gennych chi un gwahanol (er enghraifft, eth0)
Mae'r rhwydwaith VPN yn cael ei godi'n hawdd gyda'r gorchymyn canlynol:
$ sudo wg-quick up wg0 Un manylyn bach: fel y gweinydd DNS a ddefnyddiais dnsmasq ynghlwm wrth ryngwyneb rhwydwaith br0, Yr wyf hefyd yn ychwanegu dyfeisiau wg0 i'r rhestr o ddyfeisiau a ganiateir. Yn dnsmasq gwneir hyn trwy ychwanegu llinell rhyngwyneb rhwydwaith newydd i'r ffeil ffurfweddu /etc/dnsmasq.conf, er enghraifft:
interface=br0
interface=wg0Yn ogystal, ychwanegais reol iptable i ganiatáu traffig i'r porthladd gwrando CDU (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTNawr bod popeth yn gweithio, gallwn sefydlu lansiad awtomatig y twnnel VPN:
$ sudo systemctl enable wg-quick@wg0.serviceCyfluniad cleient ar liniadur
Creu ffeil ffurfweddu ar liniadur /etc/wireguard/wg0.conf gyda'r un gosodiadau:
[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Примечания:
- Yn lle edgewalker mae angen i chi nodi'r gwesteiwr gweinydd IP neu VPN cyhoeddus
- Wedi gosod
AllowedIPsar10.200.200.0/24, dim ond i gael mynediad i'r rhwydwaith mewnol yr ydym yn defnyddio VPN. Bydd traffig i bob cyfeiriad IP/gweinyddwr arall yn parhau i fynd trwy sianeli agored “normal”. Bydd hefyd yn defnyddio'r gweinydd DNS wedi'i ffurfweddu ymlaen llaw ar y gliniadur.
Ar gyfer profi a lansio awtomatig rydym yn defnyddio'r un gorchmynion wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceGosod y cleient ar gyfer Android-ffôn
Ar gyfer ffôn Android Rydym yn creu ffeil ffurfweddu debyg iawn (gadewch i ni ei galw'n 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 Yn wahanol i'r cyfluniad ar y gliniadur, rhaid i'r ffôn ddefnyddio ein gweinydd VPN fel y gweinydd DNS (llinell DNS), a hefyd yn pasio'r holl draffig trwy'r twnnel VPN (AllowedIPs = 0.0.0.0/0).
Yn lle copïo'r ffeil i'ch dyfais symudol, gallwch ei throsi i god QR:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.confBydd y cod QR yn cael ei allbynnu i'r consol fel ASCII. Gellir ei sganio o'r ap. Android VPN a ffurfweddu'r twnnel VPN yn awtomatig.
Allbwn
addasiad WireGuard yn syml hudolus o'i gymharu â OpenVPN.
Ffynhonnell: hab.com
