VPN simplí a bhunú le WireGuard agus Raspberry Pi mar fhreastalaí

Ós rud é go WireGuard bheith mar chuid de croílár an todhchaí Linux 5.6, shocraigh mé féachaint ar an mbealach is fearr chun an VPN seo a chomhtháthú le mo Ródaire LTE/Pointe Rochtana ar Raspberry Pi.

Оборудование

  • Raspberry Pi 3 le modúl LTE agus IP poiblí. Beidh freastalaí VPN ann (dá ngairfear anseo feasta ciumhais)
  • Fón ar siúl Android, a chaithfidh VPN a úsáid le haghaidh gach cumarsáide
  • Glúine Linux, nach n-úsáidfeadh VPN ach laistigh den líonra

Caithfidh gach feiste a nascann le VPN a bheith in ann nascadh le gach feiste eile. Mar shampla, ba cheart go mbeadh fón in ann ceangal le freastalaí gréasáin ar ríomhaire glúine má tá an dá fheiste mar chuid de líonra VPN. Má tá an socrú simplí go leor, is féidir leat smaoineamh ar nascadh le VPN agus le deasc (trí Ethernet).

Ag cur san áireamh go bhfuil naisc sreangaithe agus gan sreang ag éirí chomh slán sin le himeacht ama (ionsaithe spriocdhírithe, KRACK WPA2 ionsaí hacking и Dragonblood ionsaí i gcoinne WPA3), táim ag smaoineamh dáiríre ar úsáid a bhaint as WireGuard do mo chuid gléasanna go léir, is cuma cén timpeallacht ina ritheann siad.

Suiteáil bogearraí

WireGuard soláthraíonn pacáistí réamh-thiomsaithe don chuid is mó de na dáiltí Linux, Windows и macOSIarratais ar Android agus iOS a sheachadadh trí shiopaí aipeanna.

Tá an leagan is déanaí de Fedora agam Linux 31, agus roimh an suiteáil bhí mé ró-leisciúil chun an lámhleabhar a léamh. Ní bhfuair mé ach na pacáistí. wireguard-tools, suiteáilte iad, agus ansin níorbh fhéidir a dhéanamh amach cén fáth nach raibh aon rud ag obair. Léirigh imscrúdú breise nach raibh an pacáiste suiteáilte agam wireguard-dkms (le tiománaí líonra), agus ní raibh sé i stór mo dháileadh.

Dá mbeadh na treoracha léite agam, bheadh ​​na céimeanna cearta glactha agam:

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

Tá an dáileadh Béarlagair Sú craobh suiteáilte agam ar mo Raspberry Pi, tá pacáiste ann cheana féin wireguard, é a shuiteáil:

$ sudo apt install wireguard

Ar an bhfón Android Suiteáil mé an feidhmchlár WireGuard VPN ó chatalóg oifigiúil an Google App Store.

Eochracha a shuiteáil

Chun nóid a fhíordheimhniú Wireguard Úsáideann sé scéim shimplí eochrach phríobháideach/phoiblí chun nóid VPN a fhíordheimhniú. Is féidir leat eochracha VPN a ghiniúint go héasca leis an ordú seo a leanas:

$ 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

Tugann sé seo trí phríomhphéire dúinn (sé chomhad). Ní dhéanfaimid tagairt do chomhaid i configs, ach cóipeáil an t-ábhar anseo: tá gach eochair líne amháin i base64.

Comhad Cumraíochta a Chruthú do Fhreastalaí VPN (Raspberry Pi)

Tá an chumraíocht simplí go leor, chruthaigh mé an comhad seo a leanas /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

Cúpla nóta:

  • Sna háiteanna cuí is gá duit na línte ó na comhaid a chur isteach leis na heochracha
  • Tá mo VPN ag baint úsáide as raon inmheánach 10.200.200.0/24
  • Le haghaidh foirne PostUp/PostDown Tá comhéadan líonra seachtrach agam wwan0, b'fhéidir go mbeadh ceann eile agat (mar shampla, eth0)

Is furasta an líonra VPN a thabhairt suas leis an ordú seo a leanas:

$ sudo wg-quick up wg0

Mionsonra beag amháin: mar fhreastalaí DNS, d'úsáid mé dnsmasq ceangailte le comhéadan líonra br0, Chuir mé feistí leis freisin wg0 chuig an liosta feistí ceadaithe. In dnsmasq, déantar é seo trí líne nua leis an gcomhéadan líonra a chur leis an gcomhad cumraíochta /etc/dnsmasq.conf, mar shampla:

interface=br0
interface=wg0

Chomh maith leis sin, chuir mé riail iptable leis chun trácht a cheadú chuig an gcalafort UDP éisteachta (51280):

$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT

Anois go bhfuil gach rud ag obair, is féidir linn seoladh uathoibríoch an tollán VPN a chlárú:

$ sudo systemctl enable wg-quick@wg0.service

Cumraíocht cliant ríomhaire glúine

Ar an ríomhaire glúine, cruthaigh comhad cumraíochta /etc/wireguard/wg0.conf leis na socruithe céanna:

[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

Nótaí:

  • In ionad edgewalker, ní mór duit óstach IP poiblí nó freastalaí VPN a shonrú
  • Trí shocrú AllowedIPs ar 10.200.200.0/24, ní úsáidimid ach an VPN chun rochtain a fháil ar an líonra inmheánach. Leanfaidh an trácht chuig gach seoladh/freastalaí IP eile ag dul trí bhealaí oscailte “rialta”. Úsáidfear an freastalaí DNS réamhchumraithe ar an ríomhaire glúine freisin.

Le haghaidh tástála agus seoladh uathoibríoch, úsáidimid na horduithe céanna wg-quick и systemd:

$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.service

Ag socrú an chliaint le haghaidh Android-fón

Ar an bhfón Android Cruthaímid comhad cumraíochta an-chosúil (glaoimid air 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

Murab ionann agus cumraíocht an ríomhaire glúine, ba cheart don ghuthán ár bhfreastalaí VPN a úsáid mar a fhreastalaí DNS (teaghrán DNS), chomh maith le gach trácht a rith tríd an tollán VPN (AllowedIPs = 0.0.0.0/0).

In ionad an comhad a chóipeáil chuig do ghléas soghluaiste, is féidir leat é a thiontú go cód QR:

$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf

Aschurfar an cód QR chuig an gconsól mar ASCII. Is féidir é a scanadh ón aip. Android VPN agus cumraigh an tollán VPN go huathoibríoch.

Aschur

coigeartú WireGuard draíochtúil go simplí i gcomparáid le OpenVPN.

Foinse: will.com

Ceannaigh óstáil iontaofa do shuímh le cosaint DDoS, freastalaithe VPS VDS 🔥 Ceannaigh óstáil gréasáin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster