Ṣiṣeto VPN ti o rọrun pẹlu WireGuard àti Raspberry Pi gẹ́gẹ́ bí olupin kan

Niwon igba WireGuard yoo di apakan mojuto ọjọ iwaju Linux 5.6, Mo pinnu lati wo bi o ṣe dara julọ lati ṣepọ VPN yii pẹlu mi LTE olulana / aaye wiwọle lori Rasipibẹri Pi.

Awọn ohun elo

  • Rasipibẹri Pi 3 pẹlu module LTE ati adirẹsi IP ti gbogbo eniyan. Olupin VPN yoo wa nibi (lẹhin ninu ọrọ ti o pe alarinkiri)
  • Foonu wa lori Android, èyí tí ó gbọ́dọ̀ lo VPN fún gbogbo ìbánisọ̀rọ̀
  • Iwe ajako Linux, èyí tí ó yẹ kí ó lo VPN nìkan láàrín nẹ́tíwọ́ọ̀kì náà

Gbogbo ẹrọ ti o sopọ si VPN gbọdọ ni anfani lati sopọ si gbogbo awọn ẹrọ miiran. Fun apẹẹrẹ, foonu kan yẹ ki o ni anfani lati sopọ si olupin wẹẹbu kan lori kọǹpútà alágbèéká kan ti awọn ẹrọ mejeeji ba jẹ apakan ti nẹtiwọọki VPN kan. Ti iṣeto ba wa ni irọrun, lẹhinna o le ronu nipa sisopọ tabili tabili si VPN (nipasẹ Ethernet).

Ṣiyesi pe awọn asopọ onirin ati awọn asopọ alailowaya ti dinku ati dinku ni aabo ju akoko lọ (ìfọkànsí ku, KRACK WPA2 ikọlu ikọlu и Dragonblood kolu lodi si WPA3), Mo n ronu gidigidi nipa lilo WireGuard fún gbogbo àwọn ẹ̀rọ mi, láìka àyíká tí wọ́n ń ṣiṣẹ́ sí.

Fifi sori ẹrọ sọfitiwia

WireGuard pese precompiled jo fún ọ̀pọ̀lọpọ̀ ìpínkiri Linux, Windows и macOSÀwọn ohun èlò ìforúkọsílẹ̀ fún Android àti iOS ni a fi ránṣẹ́ nípasẹ̀ àwọn ilé ìtajà app.

Mo ni Fedora tuntun Linux 31, kí n tó fi sori ẹrọ, mo ti ya ara mi lẹ́nu láti ka ìwé ìtọ́ni náà. Mo ṣẹ̀ṣẹ̀ rí àwọn páálí náà. wireguard-tools, fi sori ẹrọ wọn, ati lẹhinna ko le mọ idi ti ko si nkan ti n ṣiṣẹ. Iwadi siwaju sii fihan pe Emi ko ni package ti o fi sii wireguard-dkms (pẹlu awakọ nẹtiwọọki), ṣugbọn ko si ni ibi ipamọ ti pinpin mi.

Ti MO ba ti ka awọn itọnisọna naa, Emi yoo ti gbe awọn igbesẹ to pe:

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

Mo ni pinpin Raspbian Buster sori ẹrọ Rasipibẹri Pi mi, package kan ti wa tẹlẹ nibẹ wireguard, fi sori ẹrọ:

$ sudo apt install wireguard

Lori foonu Android Mo fi ohun elo naa sori ẹrọ WireGuard VPN lati awọn osise Google App Store katalogi.

Fifi sori ẹrọ ti awọn bọtini

Láti jẹ́rìí sí àwọn nódù Wireguard Ó ń lo ètò kọ́kọ́rọ́ àdáni/àpapọ̀ láti jẹ́rìí sí àwọn nódù VPN. O lè ṣe àwọn kọ́kọ́rọ́ VPN pẹ̀lú àṣẹ wọ̀nyí:

$ 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

Eyi fun wa ni awọn orisii bọtini mẹta (faili mẹfa). A kii yoo tọka si awọn faili ti o wa ninu awọn atunto, ṣugbọn daakọ awọn akoonu nibi: bọtini kọọkan jẹ laini kan ni base64.

Ṣiṣẹda faili iṣeto ni fun olupin VPN (Rasipibẹri Pi)

Iṣeto ni ohun rọrun, Mo ti ṣẹda awọn wọnyi faili /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

Awọn akọsilẹ meji:

  • Ni awọn aaye ti o yẹ o nilo lati fi awọn ila lati awọn faili pẹlu awọn bọtini
  • VPN mi nlo ẹgbẹ inu 10.200.200.0/24
  • Fun awọn ẹgbẹ PostUp/PostDown Mo ni wiwo nẹtiwọọki ita wwan, o le ni ọkan ti o yatọ (fun apẹẹrẹ, eth0)

Nẹtiwọọki VPN ni irọrun dide pẹlu aṣẹ atẹle:

$ sudo wg-quick up wg0

Alaye kekere kan: bi olupin DNS ti Mo lo dnsmasq so si nẹtiwọki ni wiwo br0, Mo tun fi kun awọn ẹrọ wg0 si akojọ awọn ẹrọ ti a gba laaye. Ni dnsmasq eyi ni a ṣe nipa fifi laini wiwo nẹtiwọọki tuntun kun si faili iṣeto /etc/dnsmasq.conffun apẹẹrẹ:

interface=br0
interface=wg0

Ni afikun, Mo ṣafikun ofin iptable kan lati gba ijabọ laaye si ibudo gbigbọ UDP (51280):

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

Ni bayi pe ohun gbogbo n ṣiṣẹ, a le ṣeto ifilọlẹ aifọwọyi ti eefin VPN:

$ sudo systemctl enable wg-quick@wg0.service

Onibara iṣeto ni lori laptop

Ṣẹda faili iṣeto ni kọǹpútà alágbèéká kan /etc/wireguard/wg0.conf pẹlu awọn eto kanna:

[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

Awọn akọsilẹ:

  • Dipo alarinkiri eti o nilo lati pato IP ti gbogbo eniyan tabi olupin olupin VPN
  • Nipa eto AllowedIPs on 10.200.200.0/24, VPN nikan ni a lo lati wọle si nẹtiwọọki inu. Ijabọ si gbogbo awọn adiresi IP miiran / awọn olupin yoo tẹsiwaju lati lọ nipasẹ awọn ikanni ṣiṣi "deede". Yoo tun lo olupin DNS ti a ti tunto tẹlẹ lori kọǹpútà alágbèéká.

Fun idanwo ati ifilọlẹ aifọwọyi a lo awọn aṣẹ kanna wg-quick и systemd:

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

Ṣiṣeto alabara fun Android-foonu

Fun foonu Android A ṣẹ̀dá fáìlì ìṣètò tó jọra gan-an (ẹ jẹ́ ká pè é 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

Ko dabi iṣeto ni kọǹpútà alágbèéká, foonu naa gbọdọ lo olupin VPN wa bi olupin DNS (laini DNS), ati tun kọja gbogbo awọn ijabọ nipasẹ oju eefin VPN (AllowedIPs = 0.0.0.0/0).

Dipo didakọ faili naa si ẹrọ alagbeka rẹ, o le yi pada si koodu QR kan:

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

A ó gbé kóòdù QR jáde sí console gẹ́gẹ́ bí ASCII. A lè ṣe àyẹ̀wò rẹ̀ láti inú àpù náà. Android VPN ati tunto oju opopona VPN laifọwọyi.

ipari

Ṣe akanṣe WireGuard ìrísí ìyanu lásán ni a fiwé pẹ̀lú OpenVPN.

orisun: www.habr.com

Ra alejo gbigba igbẹkẹle fun awọn aaye pẹlu aabo DDoS, awọn olupin VPS VDS 🔥 Ra gbigbalejo oju opo wẹẹbu ti o gbẹkẹle pẹlu aabo DDoS, awọn olupin VPS VDS | ProHoster