Аз он вақт WireGuard аслии оянда Linux 5.6, ман қарор додам, ки бубинам, ки чӣ гуна ин VPN-ро бо он беҳтар муттаҳид кардан мумкин аст .
Таҷҳизот
- Raspberry Pi 3 бо модули LTE ва суроғаи IP ҷамъиятӣ. Дар ин ҷо сервери VPN мавҷуд хоҳад буд (минбаъд дар матн он номида мешавад канорӣ)
- Телефон фаъол аст Android, ки бояд барои ҳама гуна муошират VPN истифода барад
- Laptop 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 Ман тақсимоти Raspbian Buster-ро дар Raspberry Pi-и худ насб кардаам, дар он ҷо аллакай баста мавҷуд аст wireguard, насб кунед:
$ sudo apt install wireguardДар телефон Android Ман барномаро насб кардам аз каталоги расмии 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 = <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Якчанд ёддошт:
- Дар ҷойҳои мувофиқ шумо бояд сатрҳоро аз файлҳо бо калидҳо дохил кунед
- 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 = <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Эзоҳ:
- Ба ҷои edgewalker шумо бояд мизбони сервери ҷамъиятии IP ё VPN-ро муайян кунед
- Бо насб кардан
AllowedIPsба10.200.200.0/24, мо танҳо VPN-ро барои дастрасӣ ба шабакаи дохилӣ истифода мебарем. Трафик ба ҳама суроғаҳои IP/серверҳои дигар тавассути каналҳои кушодаи “муқаррарӣ” идома хоҳад дод. Он инчунин сервери DNS-и пешакӣ танзимшударо дар ноутбук истифода мебарад.
Барои озмоиш ва оғози автоматӣ мо ҳамон фармонҳоро истифода мебарем wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceМуқаррар кардани муштарӣ барои Android-телефон
Барои телефон Android Мо файли конфигуратсияи хеле монандро эҷод мекунем (биёед онро ном барем 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 Баръакси конфигуратсия дар ноутбук, телефон бояд сервери VPN-и моро ҳамчун сервери DNS (хат 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.
Манбаъ: will.com
