VPN мындан ары сакалчан система администраторлорунун кандайдыр бир экзотикалык куралы болбой калган учур келди. Колдонуучулардын ар кандай тапшырмалары бар, бирок чындык бардыгына VPN керек.
Учурдагы VPN чечимдеринин көйгөйү, аларды туура конфигурациялоо кыйын, тейлөө кымбат жана күмөндүү сапаттагы эски кодго толгон.
Бир нече жыл мурун, маалымат коопсуздугу боюнча канадалык адис Джейсон А. Доненфельд ал жетиштүү деп чечти жана иштей баштады. WireGuard. WireGuard азыр Linux ядросуна кошууга даярдалып жатат жана ал тургай, мактоолорду да алды Линус Торвалдс жана АКШнын Сенаты.
WireGuard'дун башка VPN чечимдерине караганда артыкчылыктары:
Колдонууга оңой.
Заманбап криптографияны колдонот: Noise протоколунун негизи, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF ж.б.
Ыкчам, окула турган код, алсыздыктарды иликтөө оңой.
WireGuard интерфейси түзүлүп, ага жеке ачкыч жана IP дареги дайындалат. Башка теңтуштардын орнотуулары жүктөлөт: алардын ачык ачкычтары, IP даректери ж.б.
WireGuard интерфейсине келген бардык IP пакеттери UDP менен капсулдалат аман-эсен жеткирилди башка курбулары.
Кардарлар сервердин жалпы IP дарегин орнотууларда белгилешет. Сервер кардарлардын тышкы даректерин алардан туура аутентификацияланган маалыматтар алынганда автоматтык түрдө тааныйт.
Сервер өзүнүн ишин үзгүлтүккө учуратпастан коомдук IP дарегин өзгөртө алат. Ошол эле учурда, ал туташкан кардарларга эскертүү жөнөтөт жана алар конфигурациясын тез арада жаңыртышат.
Маршрутизация түшүнүгү колдонулат Cryptokey Routing. 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 орното аласыз.