Քանզի WireGuard Linux 5.6-ի ապագա միջուկի, ես որոշել եմ տեսնել, թե ինչպես ճիշտ ինտեգրել այս VPN իմ .
Սարքավորումներ
- Raspberry Pi 3, LTE մոդուլով և հանրային IP-հասեով։ Այստեղ կլինի VPN-սերվեր (սահմանի մեջ նա կոչվելու է edgewalker)
- Android հեռախոս, որը պետք է օգտագործի VPN բոլոր հաղորդակցությունների համար
- Linux նոթադֆոնը, որը պետք է օգտագործի VPN միայն ցանցի ներսում
Յուրաքանչյուր սարք, որը միանում է VPN-ին, պետք է կարողանա միանալ բոլոր մյուս սարքերին։ Օրինակ, հեռախոսը պետք է կարողանա միանալ նոթադՖՍում գտնվող վեբ-сերվերին, եթե երկուսն էլ VPN ցանցի մաս են։ Եթե կարգավորումը բավականին պարզ լինի, ապա կարելի է մտածել VPN-ով միանալու նաև աշխատասեղանին (Ethernet միջոցով)
Խնդրում եմ հաշվի առնել, որ մետաղական և անլար կապերը ժամանակի ընթացքում դառնում են ավելի անվտանգ (, և ), ես ավելի լուրջ եմ վերաբերվում WireGuard-ի օգտագործմանը բոլոր իմ սարքերի համար, անկախ նրանից, թե ինչ միջավայրում են դրանք գործում.
Ծրագրային ապահովման 설치
WireGuard-ն առաջարկում է երջանկացած Linux, Windows և macOS դիստրիբյուտերի համար։ Android և iOS ծրագրերը հասանելի են ծրագրային կատալոգներում.
Ես ունեմ վերջին Fedora Linux 31, և տեղադրելուց առաջ ես ծուլացել եմ կարդալ հրահանգները։ Պարզապես գտա փաթեթները wireguard-tools, տեղադրեցի դրանք, ու հետո չկարողացա հասկանալ, թե ինչու ոչինչ չի աշխատում։ Լրացուցիչ ուսումնասիրությունը ցույց տվեց, որ ես չունեմ wireguard-dkms (ցանցային ड्रայվեր), և դա իմ դիստրիբյուտերի ռեպոզիտորայում չէր:
Եթե ես կարդայի հրահանգները, ապա կանեի ճիշտ քայլերը․
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Raspberry Pi-ում ունեմ Raspbian Buster դիստրիբուտ, այնտեղ արդեն կա wireguard՝ տեղադրենք այն․
$ sudo apt install wireguardAndroid հեռախոսում ես տեղադրեցի ծրագիրը Արտաքին Google App Store-ից:
Կլիչների տեղադրում
Wireguard- ը узлы аутентификация իրականացնում է փակ/բաց բանալու պարզ սխեմայով VPN узлы-ների համար: Կարող եք հեշտությամբ ստեղծել VPN բանալու հետ այս հրամանն օգտագործելով․
$ 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Այսինքն որպեսզի ունենանք երեք բանալի զույգ (վեց ֆայլ): Չենք հղվելու ֆայլերին կոնֆիգուրացիաներում, այլ պատճենենք այստեղ պարունակությունը՝ յուրաքանչյուրը բանալին մեկ տող է base64-ում:
VPN-սերվերի (Raspberry Pi-ի) համար կոնֆիգուրացիոն ֆայլի ստեղծում
Կոնֆիգուրացիան շատ հարթ է, ես ստեղծել եմ հետևյալ ֆայլը /etc/wireguard/wg0.conf:
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey =
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 =
AllowedIPs = 10.200.200.2/32
[Peer]
# mobile phone
PublicKey =
AllowedIPs = 10.200.200.3/32Մի քանի նկատառում:
- Վարկածները պետք է տեղադրվեն բանալիների ֆայլերից
- Իմ VPN ցանցը օգտագործում է ներքին միջակայան
10.200.200.0/24 - Հրամանների համար
PostUp/PostDownես նշում եմ արտաքին ցանցային ինտերֆեյսը wwan0, դուք կարող եք ունենալ другое (օրինակ՝ eth0)
VPN ցանցը հեշտությամբ բարձրանում է հետևյալ հրամանով:
$ sudo wg-quick up wg0 Մի փոքր մանրուք. Ես օգտագործեցի DNS սերվեր dnsmasq ցանցային ինտերֆեյսի հետ br0, ես նաև ավելացրեցի սարքեր wg0 թույլատրելի սարքերի ցանկում։ dnsmasq-ում դա անելու համար նոր շարասյուն ավելացվում է կոնֆիգուրացիոն ֆայլին /etc/dnsmasq.conf, օրինակ:
interface=br0
interface=wg0Բացի դրանից, ես ավելացրեցի iptable կանոն, որպեսզի թույլ տամ տրաֆիկը լսող UDP-պորտին (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTՀիմա, երբ ամեն ինչը աշխատում է, կարող ենք գրել VPN թունելի ավտոմատ ստարկան:
$ sudo systemctl enable wg-quick@wg0.serviceՀաճախորդի կոնֆիգուրացիան նոթբուքում
Նոթбуքում ստեղծում ենք կոնֆիգուրացիոն ֆայլ /etc/wireguard/wg0.conf նմանատիպ պարամետրերով:
[Interface]
Address = 10.200.200.2/24
PrivateKey =
[Peer]
PublicKey =
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820Նշումներ:
- edgewalker-ի փոխարեն պետք է նշել VPN սերվերի հանրային IP կամ հոսթը
- AllowedIPs -ում
, մենք օգտագործում ենք VPN միայն ներքին ցանցի հասանելիության համար։ Բոլոր մյուս IP- հասցեներ/սերվերների համար տրաֆիքը շարունակելու է անցնել «սովորական» բաց ալիքներով։ Նաեւ նոթբուքում կօգտագործվի նախնական կարգավորված DNS սերվերը:ըստ10.200.200.0/24Թեստավորման և ավտոմատ սկսելու համար օգտագործում ենք նույն հրամանները
$ sudo wg-quick up wg0 $ sudo systemctl enable wg-quick@wg0.service wg-quick և systemd:
Android հեռախոսի հաճախորդի կարգավորումըAndroid հեռախոս համար ստեղծում ենք շատ նման կոնֆիգուրացիոն ֆայլ (կոչենք այն
mobile.conf [Interface] Address = 10.200.200.3/24 PrivateKey = DNS = 10.200.200.1[Peer] PublicKey = AllowedIPs = 0.0.0.0/0 Endpoint = edgewalker:51820):
Նվազիվ նոթբուքի կոնֆիգուրացիայից, հեռախոսը պետք է օգտագործի մեր VPN սերվերը DNS սերվեր (տող ), և նաև թողնել VPN թունելի ողջ տրաֆիկը ( -կողմնախթափելները,AllowedIPs = 0.0.0.0/0Հեռախոս дээр պարզեցնելու, կարող եք մշակել ֆայլը QR-կոդով:).
$ sudo apt install qrencode $ qrencode -t ansiutf8 < mobile.conf
QR-կոդը դուրս կգա կոնսոլից ASCII-ով։ Այն կարելի է սքանավորել Android VPN ծրագրակից և ավտոմատ կարգավորել VPN թունելը:WireGuard-ի կարգավորումը ավելի կախարդական է համեմատ տեսանելի OpenVPN-ի հետ։
Ամփոփում
TFC նախագիծը զարգացնում է պարոնիդալ պաշտպանված հաղորդակցության համակարգը
Ընտանիք: habr.com
