Enstale yon VPN senp avèk WireGuard ak Raspberry Pi kòm yon sèvè

Depi WireGuard vin yon pati nan nwayo nan lavni Linux 5.6, mwen te deside wè pi bon fason pou entegre VPN sa a ak mwen an LTE Routeur/Pwen Aksè sou Franbwaz Pi.

Ekipman

  • Franbwaz Pi 3 ak modil LTE ak IP piblik. Pral gen yon sèvè VPN (ki refere yo kòm edgewalker)
  • Telefòn nan limen Android, ki dwe itilize yon VPN pou tout kominikasyon
  • Kaye Linux, ki ta dwe sèlman itilize VPN nan rezo a

Chak aparèy ki konekte ak yon VPN dwe kapab konekte ak tout lòt aparèy. Pou egzanp, yon telefòn ta dwe kapab konekte nan yon sèvè entènèt sou yon laptop si tou de aparèy yo fè pati yon rezo VPN. Si konfigirasyon an se senp ase, Lè sa a, ou ka panse sou konekte nan yon VPN ak yon Desktop (via Ethernet).

Lè nou konsidere ke koneksyon filè ak san fil yo ap vin mwens an sekirite sou tan (atak vize, KRACK WPA2 atak piratage и Dragonblood atak kont WPA3), M ap seryezman konsidere itilize WireGuard pou tout aparèy mwen yo, kèlkeswa anviwònman yo ap fonksyone a.

Enstalasyon lojisyèl

WireGuard bay pakè prekonpile pou pifò distribisyon yo Linux, Windows и macOSAplikasyon pou Android ak iOS yo delivre atravè magazen aplikasyon yo.

Mwen gen dènye Fedora a Linux 31, epi anvan enstalasyon an mwen te twò parese pou m li manyèl la. Mwen fèk jwenn pakè yo. wireguard-tools, enstale yo, ak Lè sa a, pa t 'kapab konnen poukisa pa gen anyen t'ap travay. Pli lwen envestigasyon revele ke mwen pa t 'gen pake a enstale wireguard-dkms (ak yon chofè rezo), epi li pa t 'nan repozitwa distribisyon mwen an.

Si mwen te li enstriksyon yo, mwen ta pran bon etap yo:

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

Mwen gen distribisyon Raspbian Buster enstale sou Raspberry Pi mwen an, gen deja yon pake wireguard, enstale li:

$ sudo apt install wireguard

Nan telefòn lan Android Mwen enstale aplikasyon an WireGuard VPN soti nan katalòg ofisyèl Google App Store la.

Enstale kle

Pou otantifye nœuds yo Wireguard Itilize yon senp konplo kle prive/piblik pou otantifye nœud VPN yo. Ou ka fasilman jenere kle VPN ak kòmand sa a:

$ 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

Sa a ban nou twa pè kle (sis fichye). Nou pa pral fè referans a fichye nan konfigirasyon, men kopye sa ki isit la: chak kle se yon liy nan base64.

Kreye yon fichye konfigirasyon pou yon sèvè VPN (Raspberry Pi)

Konfigirasyon an se byen senp, mwen te kreye dosye sa a /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

Yon koup nan nòt:

  • Nan kote ki apwopriye yo ou bezwen mete liy ki soti nan dosye yo ak kle yo
  • VPN mwen an ap itilize ranje entèn yo 10.200.200.0/24
  • Pou ekip PostUp/PostDown Mwen gen yon koòdone rezo ekstèn wwan0, ou ka gen yon lòt (pa egzanp, eth0)

Rezo VPN la fasilman leve ak lòd sa a:

$ sudo wg-quick up wg0

Yon ti detay: kòm yon sèvè dns, mwen te itilize dnsmasq konekte nan koòdone rezo a br0, Mwen te ajoute tou aparèy wg0 nan lis aparèy ki pèmèt yo. Nan dnsmasq, sa fèt lè w ajoute yon nouvo liy ak koòdone rezo a nan dosye konfigirasyon an /etc/dnsmasq.confpa egzanp:

interface=br0
interface=wg0

Epitou, mwen te ajoute yon règ iptable pou pèmèt trafik nan pò UDP ki koute (51280):

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

Kounye a ke tout bagay ap travay, nou ka anrejistre lansman otomatik tinèl VPN la:

$ sudo systemctl enable wg-quick@wg0.service

Konfigirasyon kliyan laptop

Sou laptop la, kreye yon dosye konfigirasyon /etc/wireguard/wg0.conf ak menm paramèt yo:

[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òt:

  • Olye pou yo edgewalker, ou bezwen presize yon lame sèvè IP piblik oswa VPN
  • Pa mete AllowedIPs sou 10.200.200.0/24, nou sèlman itilize VPN pou jwenn aksè nan rezo entèn la. Trafik nan tout lòt adrès IP/sèvè ap kontinye ale nan chanèl ouvè "regilye". Yo pral itilize sèvè dns pre-konfigirasyon sou laptop la tou.

Pou tès ak lansman otomatik, nou itilize menm kòmandman yo wg-quick и systemd:

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

Konfigirasyon kliyan an pou Android-telefòn

Pou telefòn Android Nou kreye yon dosye konfigirasyon ki sanble anpil (ann rele li 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

Kontrèman ak konfigirasyon laptop la, telefòn nan ta dwe itilize sèvè VPN nou an kòm sèvè dns li (string DNS), osi byen ke pase tout trafik nan tinèl VPN la (AllowedIPs = 0.0.0.0/0).

Olye pou w kopye fichye a sou aparèy mobil ou, ou ka konvèti li nan yon kòd QR:

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

Kòd QR la ap parèt nan konsole a kòm ASCII. Ou ka eskane li nan aplikasyon an. Android VPN epi konfigire tinèl VPN lan otomatikman.

Sòti

ajisteman WireGuard senpleman majik konpare ak OpenVPN.

Sous: www.habr.com

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster