Þar WireGuard framtíðarkjarni Linux 5.6, ákvað ég að sjá hvernig best væri að samþætta þetta VPN við mitt .
Оборудование
- Raspberry Pi 3 með LTE einingu og opinberri IP. Það verður VPN netþjónn (hér á eftir nefndur kantgöngumaður)
- Sími á Android, sem verður að nota VPN fyrir öll samskipti
- Fartölvu Linux, sem ætti aðeins að nota VPN innan netsins
Öll tæki sem tengjast VPN verða að geta tengst öllum öðrum tækjum. Til dæmis ætti sími að geta tengst vefþjóni á fartölvu ef bæði tækin eru hluti af VPN neti. Ef uppsetningin er nógu einföld, þá geturðu hugsað þér að tengjast VPN og skjáborði (í gegnum Ethernet).
Miðað við að þráðlausar og þráðlausar tengingar verða óöruggari með tímanum (, и ), ég er alvarlega að íhuga að nota WireGuard fyrir öll mín tæki, sama í hvaða umhverfi þau keyra.
Uppsetning hugbúnaðar
WireGuard veitir fyrir flestar dreifingar Linux, Windows и macOSUmsóknir um Android og iOS eru afhent í gegnum appverslanir.
Ég er með nýjasta Fedora Linux 31, og áður en ég setti upp var ég of latur til að lesa handbókina. Ég fann bara pakkana. wireguard-tools, setti þau upp og gat svo ekki fundið út hvers vegna ekkert virkaði. Frekari rannsókn leiddi í ljós að ég var ekki með pakkann uppsettan wireguard-dkms (með net rekla), og það var ekki í geymslu dreifingar minnar.
Ef ég hefði lesið leiðbeiningarnar hefði ég tekið réttu skrefin:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Ég er með Raspbian Buster dreifinguna uppsetta á Raspberry Pi minn, það er nú þegar pakki wireguard, settu það upp:
$ sudo apt install wireguardÍ símanum Android Ég setti upp forritið úr opinberri vörulista Google App Store.
Að setja upp lykla
Til að staðfesta hnúta Wireguard Notar einfalda einkalykla/opinbera lykla til að auðkenna VPN hnúta. Þú getur auðveldlega búið til VPN lykla með eftirfarandi skipun:
$ 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Þetta gefur okkur þrjú lykilpör (sex skrár). Við munum ekki vísa til skráa í stillingum, heldur afrita innihaldið hér: hver lykill er ein lína í base64.
Að búa til stillingarskrá fyrir VPN netþjón (Raspberry Pi)
Stillingin er frekar einföld, ég bjó til eftirfarandi skrá /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/32Nokkrar athugasemdir:
- Á viðeigandi stöðum þarftu að setja inn línurnar úr skránum með lyklunum
- VPN-netið mitt notar innra svið
10.200.200.0/24 - Fyrir lið
PostUp/PostDownÉg er með ytra netviðmót wwan0, þú gætir haft annað (til dæmis eth0)
VPN netið er auðveldlega alið upp með eftirfarandi skipun:
$ sudo wg-quick up wg0 Eitt lítið smáatriði: sem DNS netþjónn notaði ég dnsmasq tengdur við netviðmót br0, ég bætti líka við tækjum wg0 á lista yfir leyfð tæki. Í dnsmasq er þetta gert með því að bæta við nýrri línu með netviðmótinu í stillingarskrána /etc/dnsmasq.conf, til dæmis:
interface=br0
interface=wg0Einnig bætti ég við iptable reglu til að leyfa umferð að hlustunar UDP tenginu (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTNú þegar allt er að virka getum við skráð sjálfvirka ræsingu VPN gönganna:
$ sudo systemctl enable wg-quick@wg0.serviceUppsetning fartölvu viðskiptavinar
Búðu til stillingarskrá á fartölvunni /etc/wireguard/wg0.conf með sömu stillingum:
[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:51820Skýringar:
- Í stað edgewalker þarftu að tilgreina opinberan IP eða VPN netþjón
- Með því að stilla
AllowedIPsá10.200.200.0/24, við notum aðeins VPN til að fá aðgang að innra neti. Umferð á allar aðrar IP tölur/miðlara mun halda áfram að fara í gegnum „venjulegar“ opnar rásir. Forstillti DNS-þjónninn á fartölvunni verður einnig notaður.
Fyrir prófun og sjálfvirka ræsingu notum við sömu skipanir wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceAð setja upp viðskiptavininn fyrir Android-sími
Fyrir síma Android Við búum til mjög svipaða stillingarskrá (köllum hana 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 Ólíkt fartölvustillingunni ætti síminn að nota VPN netþjóninn okkar sem DNS netþjón (streng DNS), auk þess að fara með alla umferð í gegnum VPN göngin (AllowedIPs = 0.0.0.0/0).
Í stað þess að afrita skrána í farsímann þinn geturðu breytt henni í QR kóða:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.confQR kóðinn verður sendur út í stjórnborðið sem ASCII. Hægt er að skanna hann úr appinu. Android VPN og stilla VPN-göngin sjálfkrafa.
Output
aðlögun WireGuard einfaldlega töfrandi samanborið við OpenVPN.
Heimild: www.habr.com
