Насб кардани VPN-и оддӣ бо WireGuard ва Raspberry Pi ҳамчун сервер

Аз он вақт WireGuard қисми мешавад аслии оянда Linux 5.6, ман қарор додам, ки бубинам, ки чӣ гуна ин VPN-ро бо он беҳтар муттаҳид кардан мумкин аст Роутер LTE/нуқтаи дастрасӣ дар Raspberry Pi.

Таҷҳизот

  • Raspberry Pi 3 бо модули LTE ва суроғаи IP ҷамъиятӣ. Дар ин ҷо сервери VPN мавҷуд хоҳад буд (минбаъд дар матн он номида мешавад канорӣ)
  • Телефон фаъол аст Android, ки бояд барои ҳама гуна муошират VPN истифода барад
  • Laptop Linux, ки бояд танҳо дар дохили шабака VPN-ро истифода барад

Ҳар як дастгоҳе, ки ба VPN пайваст мешавад, бояд ба ҳама дастгоҳҳои дигар пайваст шавад. Масалан, агар ҳарду дастгоҳ қисми шабакаи VPN бошанд, телефон бояд ба веб-сервери ноутбук пайваст шавад. Агар танзимот хеле содда бошад, шумо метавонед дар бораи пайваст кардани мизи корӣ ба VPN (тавассути Ethernet) фикр кунед.

Бо дарназардошти он, ки пайвастҳои ноқилӣ ва бесим бо мурури замон камтар ва камтар бехатар мешаванд (ҳамлаҳои ҳадафнок, Ҳамлаи крекинги KRACK WPA2 и Ҳамлаи аждаҳо бар зидди WPA3), Ман ҷиддан дар бораи истифодаи он фикр мекунам 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 Ман барномаро насб кардам WireGuard VPN аз каталоги расмии 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

Хостинги боэътимодро барои сайтҳо бо муҳофизати DDoS, серверҳои VPS VDS харед 🔥 Харидани хостинги боэътимоди вебсайт бо муҳофизати DDoS, серверҳои VPS VDS | ProHoster