Mete yon VPN senp ak WireGuard ak Franbwaz Pi kòm yon sèvè

Depi WireGuard vin yon pati nan nan fiti Linux 5.6 nwayo a, mwen deside wè ki jan pi bon 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)
  • Yon telefòn Android ki dwe itilize yon VPN pou tout kominikasyon
  • Linux laptop ki bezwen sèvi ak VPN sèlman andedan 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), mwen seryezman konsidere itilize WireGuard pou tout aparèy mwen yo, kèlkeswa anviwònman yo ap kouri nan.

Enstalasyon lojisyèl

WireGuard bay pakè prekonpile pou pifò distribisyon Linux, Windows ak macOS. Aplikasyon pou Android ak iOS yo delivre atravè katalòg app.

Mwen gen dènye Fedora Linux 31 e mwen te twò parese pou m li manyèl la anvan m enstale. Jis 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

Mwen enstale aplikasyon an sou telefòn android mwen an WireGuard vpn soti nan katalòg ofisyèl Google App Store la.

Enstale kle

Pou otantifye nœuds, Wireguard itilize yon senp konplo kle prive/piblik pou otantifye nœuds VPN. Ou ka fasilman kreye kle VPN ak lòd 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 [email protected]

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

Mete kanpe yon kliyan sou yon telefòn Android

Pou yon telefòn Android, nou kreye yon fichye konfigirasyon ki sanble anpil (an nou 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 pral soti nan konsole a kòm ASCII. Li ka tcheke nan aplikasyon an Android VPN epi mete kanpe yon tinèl VPN otomatikman.

Sòti

Mete kanpe WireGuard se jis majik konpare ak OpenVPN.

Sous: www.habr.com

Add nouvo kòmantè