VPN енді сақалды жүйе әкімшілерінің кейбір экзотикалық құралы болып табылмайтын уақыт келді. Пайдаланушылардың әртүрлі тапсырмалары бар, бірақ бәрібір VPN қажет.
Ағымдағы VPN шешімдерінің мәселесі - оларды дұрыс конфигурациялау қиын, техникалық қызмет көрсету қымбат және сапасы күмәнді ескі кодқа толы.
Бірнеше жыл бұрын канадалық ақпараттық қауіпсіздік маманы Джейсон А. Доненфельд оған жеткілікті болды деп шешіп, жұмыс істей бастады. WireGuard. WireGuard қазір Linux ядросына қосуға дайындалуда және тіпті мақтауларға ие болды Линус Торвальдс мен АҚШ сенаты.
WireGuard-тың басқа VPN шешімдеріне қарағанда мәлімделген артықшылықтары:
Пайдалану оңай.
Заманауи криптографияны қолданады: Шуыл протоколының негізі, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF және т.б.
Жұмыс істеу принциптерін келесідей сипаттауға болады:
WireGuard интерфейсі жасалып, оған жеке кілт пен IP мекенжайы тағайындалады. Басқа құрдастардың параметрлері жүктеледі: олардың ашық кілттері, IP мекенжайлары және т.б.
WireGuard интерфейсіне келетін барлық IP пакеттері 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 қолдауы қосылады деп күтілуде.
Мен VPN сарапшысы емеспін. Мен бір кездері OpenVPN-ді қолмен орнатқанмын және бұл өте жалықтырады, мен IPSec қолданбадым. Шешім қабылдау тым көп, аяққа ату өте оңай. Сондықтан мен серверді конфигурациялау үшін әрқашан дайын сценарийлерді қолдандым.
Сонымен, WireGuard, менің көзқарасым бойынша, пайдаланушы үшін өте қолайлы. Барлық төмен деңгейдегі шешімдер спецификацияда қабылданады, сондықтан әдеттегі VPN инфрақұрылымын дайындау процесі бірнеше минутты алады. Конфигурацияда алдау мүмкін емес.
Клиенттер Интернетке қол жеткізе алатындай серверде NAT конфигурациялау ғана қалды, және сіз аяқтадыңыз!
Бұл пайдаланудың қарапайымдылығы мен кодтық базаның ықшамдылығына негізгі тарату функционалдығын жою арқылы қол жеткізілді. Күрделі сертификат жүйесі жоқ және бұл корпоративтік қорқыныш; қысқа шифрлау кілттері SSH кілттері сияқты таратылады. Бірақ бұл мәселе туғызады: WireGuard кейбір қолданыстағы желілерге енгізу оңай болмайды.
Кемшіліктердің арасында WireGuard HTTP проксиі арқылы жұмыс істемейтінін атап өткен жөн, өйткені тасымалдау ретінде тек UDP протоколы қол жетімді. Сұрақ туындайды: хаттаманы бұрмалау мүмкін бе? Әрине, бұл VPN-дің тікелей міндеті емес, бірақ OpenVPN үшін, мысалы, тоталитарлық елдердің тұрғындарына Интернетті толығымен пайдалануға көмектесетін HTTPS ретінде жасырынудың жолдары бар.
қорытындылар
Қорытындылай келе, бұл өте қызықты және перспективалы жоба, сіз оны жеке серверлерде пайдалана аласыз. Пайдасы қандай? Linux жүйелерінде жоғары өнімділік, орнату және қолдаудың қарапайымдылығы, ықшам және оқылатын код базасы. Дегенмен, WireGuard-қа күрделі инфрақұрылымды беруге асығуға әлі ерте, оны Linux ядросына қосуды күту керек.
Менің (және сіздің) уақытыңызды үнемдеу үшін мен әзірледім WireGuard автоматты орнатушысы. Оның көмегімен сіз өзіңізге және достарыңызға бұл туралы ештеңе түсінбестен жеке VPN орнатуға болады.