Socraigh VPN simplí le WireGuard agus Raspberry Pi mar fhreastalaí

Ós rud é WireGuard bheith mar chuid de den eithne Linux 5.6 amach anseo, chinn mé a fheiceáil conas is fearr an VPN seo a chomhtháthú le mo chuid 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 Android a chaithfidh VPN a úsáid le haghaidh gach cumarsáide
  • ríomhaire glúine Linux nach mór VPN a úsáid ach amháin taobh istigh 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 go dáiríre ar WireGuard a úsáid le haghaidh mo chuid feistí go léir, is cuma cén timpeallacht ina bhfuil siad.

Suiteáil bogearraí

Soláthraíonn WireGuard pacáistí réamh-thiomsaithe don chuid is mó dáileacháin Linux, Windows agus macOS. Déantar aipeanna do Android agus iOS a sheachadadh trí chatalóga aipeanna.

Tá an Fedora Linux 31 is déanaí agam agus bhí mé ró-leisciúil an lámhleabhar a léamh roimh a shuiteáil. Just a fuair 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

Suiteáil mé an app ar mo ghuthán Android WireGuardVPN ó chatalóg oifigiúil an Google App Store.

Eochracha a shuiteáil

Chun nóid a fhíordheimhniú, úsáideann Wireguard scéim eochair phríobháideach/phoiblí shimplí chun nóid VPN a fhíordheimhniú. Is féidir leat eochracha VPN a chruthú 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 [email protected]

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 [email protected]

Socrú cliant ar fón Android

Maidir le fón Android, cruthaímid comhad cumraíochta an-chosúil (cuirimis glaoch 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

Aschuirfear an cód QR chuig an consól mar ASCII. Is féidir é a scanadh ón aip Android VPN agus tollán VPN a bhunú go huathoibríoch.

Aschur

Tá sé draíochtúil WireGuard a bhunú i gcomparáid le OpenVPN.

Foinse: will.com

Add a comment