Oherwydd WireGuard
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 Android y mae'n rhaid iddo ddefnyddio VPN ar gyfer pob cyfathrebiad
- Gliniadur Linux a ddylai ddefnyddio VPN yn unig o fewn y rhwydwaith
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 (
Gosod meddalwedd
Mae WireGuard yn darparu
Mae gen i'r Fedora Linux 31 diweddaraf, ac roeddwn i'n rhy ddiog i ddarllen y llawlyfr cyn gosod. Newydd ddod 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 wireguard
Ar fy ffôn Android gosodais y cais
Gosod allweddi
Ar gyfer dilysu cymheiriaid, mae Wireguard yn defnyddio cynllun allwedd preifat/cyhoeddus syml i ddilysu cyfoedion VPN. Gallwch chi greu allweddi VPN yn hawdd gan ddefnyddio'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.key
Mae 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/32
Cwpl 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
/PostDown
Mae 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=wg0
Yn ogystal, ychwanegais reol iptable i ganiatáu traffig i'r porthladd gwrando CDU (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT
Nawr bod popeth yn gweithio, gallwn sefydlu lansiad awtomatig y twnnel VPN:
$ sudo systemctl enable [email protected]
Cyfluniad 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
AllowedIPs
ar10.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 [email protected]
Sefydlu cleient ar ffôn Android
Ar gyfer ffôn Android rydym yn creu ffeil ffurfweddu debyg iawn (gadewch i ni ei galw 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.conf
Bydd y cod QR yn allbwn i'r consol fel ASCII. Gellir ei sganio o ap Android VPN a bydd yn sefydlu twnnel VPN yn awtomatig.
Allbwn
Mae sefydlu WireGuard yn syml yn hudol o'i gymharu ag OpenVPN.
Ffynhonnell: hab.com