Оё WireGuard VPN бузурги оянда аст?

Оё WireGuard VPN бузурги оянда аст?

Замоне расидааст, ки VPN дигар абзори экзотикии маъмурони системаи ришдор нест. Истифодабарандагон вазифаҳои гуногун доранд, аммо далел ин аст, ки ҳама ба VPN ниёз доранд.

Мушкилот бо ҳалли ҷории VPN дар он аст, ки онҳо дуруст конфигуратсия кардан душвор аст, нигоҳдорӣ гарон аст ва пур аз рамзи кӯҳнаи сифати шубҳанок мебошанд.

Якчанд сол пеш мутахассиси амнияти иттилоотии Канада Ҷейсон А. Доненфелд қарор кард, ки аз он кофӣ аст ва ба кор шурӯъ кард. Радиои Озодӣ. WireGuard ҳоло барои дохил шудан ба ядрои Linux омода карда мешавад ва ҳатто аз он ситоиш гирифтааст Линус Торвалдс ва дар Сенати ИМА.

Бартариҳои даъвошудаи WireGuard нисбат ба дигар ҳалли VPN:

  • Истифодаи осон.
  • Криптографияи муосирро истифода мебарад: чаҳорчӯбаи протоколи садо, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF ва ғайра.
  • Рамзи паймон, хониш, таҳқиқи осебпазириҳо осонтар.
  • Фаъолияти баланд.
  • Равшан ва муфассал мушаххасот.

Оё тири нуқра ёфт шудааст? Оё вақти дафн кардани OpenVPN ва IPSec расидааст? Ман тасмим гирифтам, ки бо ин кор мубориза барам ва дар айни замон ман кардам скрипт барои ба таври худкор насб кардани сервери шахсии VPN.

Принсипҳои кор

Принсипҳои фаъолиятро метавон чунин тавсиф кард:

  • Интерфейси WireGuard сохта мешавад ва ба он калиди хусусӣ ва суроғаи IP таъин карда мешавад. Танзимоти ҳамсолони дигар бор карда мешаванд: калидҳои оммавии онҳо, суроғаҳои IP ва ғайра.
  • Ҳама пакетҳои IP, ки ба интерфейси WireGuard меоянд, дар UDP ва бехатар расонида шуд дигар хамсолон.
  • Мизоҷон суроғаи IP-и оммавии серверро дар танзимот муайян мекунанд. Сервер суроғаҳои берунии мизоҷонро ҳангоми гирифтани маълумоти дурусти тасдиқшуда аз онҳо ба таври худкор эътироф мекунад.
  • Сервер метавонад суроғаи IP-и умумиро бидуни халалдор кардани кори худ иваз кунад. Ҳамзамон, он ба мизоҷони пайваст огоҳӣ мефиристад ва онҳо конфигуратсияи худро дар парвоз навсозӣ мекунанд.
  • Мафҳуми масир истифода мешавад Масири криптокӣ. WireGuard бастаҳоро дар асоси калиди ҷамъиятии ҳамсол қабул мекунад ва мефиристад. Вақте ки сервер бастаи дурусти тасдиқшударо рамзкушоӣ мекунад, майдони src он тафтиш карда мешавад. Агар он ба конфигуратсия мувофиқат кунад allowed-ips ҳамсоли тасдиқшуда, баста аз ҷониби интерфейси WireGuard қабул карда мешавад. Ҳангоми фиристодани бастаи содиротӣ тартиби мувофиқ ба амал меояд: майдони dst-и баста гирифта мешавад ва дар асоси он ҳамсинфи мувофиқ интихоб карда мешавад, баста бо калиди худ имзо карда мешавад, бо калиди ҳамсол рамзгузорӣ мешавад ва ба нуқтаи ниҳоии дурдаст фиристода мешавад. .

Ҳама мантиқи асосии WireGuard камтар аз 4 ҳазор сатри кодро мегирад, дар ҳоле ки OpenVPN ва IPSec садҳо ҳазор сатр доранд. Барои дастгирии алгоритмҳои криптографии муосир пешниҳод карда мешавад, ки ба ядрои Linux API нави криптографӣ дохил карда шавад. руҳ. Ҳоло баҳс дар бораи он ки оё ин идеяи хуб аст, идома дорад.

Маҳсулнокӣ

Бартарии ҳадди аксар (дар муқоиса бо OpenVPN ва IPSec) дар системаҳои Linux намоён хоҳад буд, зеро WireGuard ҳамчун модули ядро ​​​​дар он ҷо татбиқ карда мешавад. Илова бар ин, macOS, Android, iOS, FreeBSD ва OpenBSD дастгирӣ карда мешавад, аммо дар онҳо WireGuard дар фазои корбарон бо ҳама оқибатҳои иҷроиш кор мекунад. Интизор меравад, ки дастгирии Windows дар ояндаи наздик илова карда шавад.

Натиҷаҳои бенчмарк бо сомонаи расмии:

Оё WireGuard VPN бузурги оянда аст?

Таҷрибаи истифодаи ман

Ман коршиноси VPN нестам. Ман як маротиба OpenVPN-ро дастӣ насб кардам ва ин хеле дилгиркунанда буд ва ман ҳатто IPSec-ро кӯшиш накардаам. Қарорҳо хеле зиёданд, ба пои худ тир задан хеле осон аст. Аз ин рӯ, ман ҳамеша скриптҳои тайёрро барои танзим кардани сервер истифода мебурдам.

Ҳамин тавр, WireGuard, аз нуқтаи назари ман, умуман барои корбар беҳтарин аст. Ҳама қарорҳои сатҳи паст дар мушаххасот қабул карда мешаванд, аз ин рӯ раванди омода кардани инфрасохтори маъмулии VPN ҳамагӣ чанд дақиқаро мегирад. Дар конфигуратсия фиреб кардан қариб ғайриимкон аст.

Раванди насбкунӣ муфассал тавсиф карда шудааст дар вебсайти расмӣ, ман мехоҳам аълоро алоҳида қайд намоям Дастгирии OpenWRT.

Калидҳои рамзгузорӣ аз ҷониби утилита тавлид карда мешаванд wg:

SERVER_PRIVKEY=$( wg genkey )
SERVER_PUBKEY=$( echo $SERVER_PRIVKEY | wg pubkey )
CLIENT_PRIVKEY=$( wg genkey )
CLIENT_PUBKEY=$( echo $CLIENT_PRIVKEY | wg pubkey )

Баъдан, шумо бояд конфигуратсияи серверро эҷод кунед /etc/wireguard/wg0.conf бо мундариҷаи зерин:

[Interface]
Address = 10.9.0.1/24
PrivateKey = $SERVER_PRIVKEY
[Peer]
PublicKey = $CLIENT_PUBKEY
AllowedIPs = 10.9.0.2/32

ва туннельро бо скрипт баланд мебардоранд wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

Дар системаҳои дорои systemd шумо метавонед онро ба ҷои ин истифода баред sudo systemctl start [email protected].

Дар мошини муштарӣ конфигуратсия эҷод кунед /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.9.0.2/24
[Peer]
PublicKey = $SERVER_PUBKEY
AllowedIPs = 0.0.0.0/0
Endpoint = 1.2.3.4:51820 # Внешний IP сервера
PersistentKeepalive = 25 

Ва нақбро ҳамин тавр баланд кунед:

sudo wg-quick up /etc/wireguard/wg0.conf

Танҳо конфигуратсияи NAT-ро дар сервер боқӣ мемонад, то муштариён ба Интернет дастрасӣ пайдо кунанд ва шумо тамом шудед!

Ин осонии истифода ва компакт будани базаи код тавассути аз байн бурдани функсияи тақсимоти калидӣ ба даст оварда шудааст. Системаи мураккаби сертификатсия вуҷуд надорад ва ҳамаи ин даҳшати корпоративӣ; калидҳои рамзгузории кӯтоҳ ба монанди калидҳои SSH тақсим карда мешаванд. Аммо ин мушкилот ба миён меорад: татбиқи WireGuard дар баъзе шабакаҳои мавҷуда он қадар осон нахоҳад буд.

Дар байни нуқсонҳо, бояд қайд кард, ки WireGuard тавассути прокси HTTP кор намекунад, зеро танҳо протоколи UDP ҳамчун нақлиёт дастрас аст. Саволе ба миён меояд: оё протоколро парешон кардан мумкин аст? Албатта, ин вазифаи мустақими VPN нест, аммо барои OpenVPN, масалан, роҳҳои пинҳон кардани HTTPS вуҷуд доранд, ки ба сокинони кишварҳои тоталитарӣ дар истифодаи пурраи Интернет кӯмак мекунад.

натиҷаҳои

Барои ҷамъбаст, ин як лоиҳаи хеле ҷолиб ва ояндадор аст, шумо метавонед онро аллакай дар серверҳои шахсӣ истифода баред. Фоида чист? Иҷрои баланд дар системаҳои Linux, осонии насб ва дастгирӣ, пойгоҳи коди паймон ва хондашаванда. Бо вуҷуди ин, барои интиқол додани инфрасохтори мураккаб ба WireGuard шитоб кардан хеле барвақт аст; интизори ворид шудани он ба ядрои Linux аст.

Барои сарфаи вақти ман (ва шумо) ман таҳия кардам Насбкунандаи худкори WireGuard. Бо кӯмаки он, шумо метавонед VPN-и шахсиро барои худ ва дӯстони худ созед, ҳатто дар бораи он чизе нафаҳмед.

Манбаъ: will.com

Илова Эзоҳ