- Энгийн архитектур ба орчин үеийн шифрлэлт: үе тэнгийн түлхүүрүүд болон чиглүүлэлтийн зөвшөөрөгдсөн IP.
- Ширээний компьютер болон гар утсанд зориулсан Linux болон албан ёсны програмууд дээр хурдан суулгана.
- IPsec/OpenVPN-ээс өндөр гүйцэтгэлтэй, роуминг болон бага хоцролттой.

Хэрэв та хайж байгаа бол VPN хурдан, аюулгүй, ашиглахад хялбар, WireGuard Энэ бол өнөөдөр таны ашиглаж болох хамгийн сайн зүйл юм. Минималист дизайн, орчин үеийн криптографийн тусламжтайгаар энэ нь компьютер, хөдөлгөөнт төхөөрөмж, чиглүүлэгчийн аль алинд нь гэрийн хэрэглэгчид, мэргэжлийн хүмүүс болон корпорацийн орчинд ашиглахад тохиромжтой.
Энэхүү практик гарын авлагаас та үндсэн ойлголтоос эхлээд бүх зүйлийг олох болно Нарийвчилсан тохиргоо: Linux (Ubuntu/Debian/CentOS), түлхүүрүүд, сервер болон клиент файлууд, IP дамжуулалт, NAT/галт хана, Windows/macOS/Android/iOS дээрх програмууд, хуваах туннел хийх, гүйцэтгэл, алдааг олж засварлах, OPNsense, pfSense, QNAP, Mikrotik эсвэл Teltonika зэрэг платформуудтай нийцтэй байх.
WireGuard гэж юу вэ, яагаад үүнийг сонгох вэ?
WireGuard үүсгэхэд зориулагдсан нээлттэй эхийн VPN протокол ба програм хангамж юм UDP дээр L3 шифрлэгдсэн хонгилууд. Энэ нь орчин үеийн алгоритмууд дээр тулгуурладаг энгийн, гүйцэтгэл, хоцролт бага зэргээрээ OpenVPN эсвэл IPsec-тэй харьцуулахад ялгардаг. Curve25519, ChaCha20-Poly1305, BLAKE2, SipHash24 болон HKDF.
Түүний кодын суурь нь маш бага (ойролцоогоор мянга мянган мөр), аудитыг хөнгөвчлөх, халдлагын гадаргууг багасгаж, засвар үйлчилгээг сайжруулдаг. Энэ нь бас Линуксийн цөмд нэгдсэн бөгөөд боломжийг олгодог шилжүүлгийн өндөр хувь энгийн техник хангамж дээр ч гэсэн хурдан хариу үйлдэл үзүүлэх.
Энэ нь олон платформ юм: албан ёсны програмууд байдаг Windows, macOS, Linux, Android болон iOS, мөн OPNsense гэх мэт чиглүүлэгч/галт хананд чиглэсэн системүүдийг дэмждэг. Мөн FreeBSD, OpenBSD, NAS болон виртуалчлалын платформ зэрэг орчинд ашиглах боломжтой.
Дотор нь хэрхэн ажилладаг
WireGuard нь үе тэнгийнхний хооронд шифрлэгдсэн хонгил байгуулдаг (Үе тэнгийнхэн) түлхүүрээр тодорхойлогддог. Төхөөрөмж бүр түлхүүрийн хослолыг (хувийн/нийтийн) үүсгэж, зөвхөн түүнийгээ хуваалцдаг нийтийн түлхүүр нөгөө төгсгөлтэй; тэндээс бүх урсгалыг шифрлэж, баталгаажуулдаг.
Удирдамж Зөвшөөрөгдсөн IP Гарч буй чиглүүлэлт (хонгилоор ямар урсгал явах ёстой) болон пакетыг амжилттай тайлсны дараа алсын түнш хүлээн авах хүчинтэй эх сурвалжуудын жагсаалтыг хоёуланг нь тодорхойлдог. Энэ аргыг гэж нэрлэдэг Cryptokey Routing мөн замын хөдөлгөөний бодлогыг маш хялбаршуулдаг.
WireGuard нь маш сайн тэнэмэл- Хэрэв таны үйлчлүүлэгчийн IP өөрчлөгдвөл (жишээ нь, та Wi-Fi-аас 4G/5G руу шилжих) сессийг ил тод, маш хурдан сэргээнэ. Энэ нь бас дэмждэг унтраах унтраалга VPN унтарвал хонгилоос гарах урсгалыг хаах.
Линукс дээр суулгах: Ubuntu/Debian/CentOS
Ubuntu дээр WireGuard нь албан ёсны репо дээр байдаг. Багцуудыг шинэчилж, дараа нь модуль болон хэрэгслийг авахын тулд програм хангамжийг суулгана уу. wg болон wg-хурдан.
apt update && apt upgrade -y
apt install wireguard -y
modprobe wireguard
Debian stable дээр та шаардлагатай бол тогтворгүй салбар репо дээр санал болгож буй аргачлалын дагуу найдаж болно. үйлдвэрлэлд анхаарал халамж тавих:
sudo sh -c 'echo deb https://deb.debian.org/debian/ unstable main > /etc/apt/sources.list.d/unstable.list'
sudo sh -c 'printf "Package: *\nPin: release a=unstable\nPin-Priority: 90\n" > /etc/apt/preferences.d/limit-unstable'
sudo apt update
sudo apt install wireguard
CentOS 8.3-д урсгал ижил төстэй байна: шаардлагатай бол EPEL/ElRepo репо идэвхжүүлж, багцыг суулгана. WireGuard болон холбогдох модулиуд.
Түлхүүр үе
Үе тэнгийнхэн бүр өөрийн гэсэн байх ёстой хувийн/ нийтийн түлхүүрийн хослол. Сервер болон үйлчлүүлэгчдэд зориулсан зөвшөөрлийг хязгаарлаж, түлхүүр үүсгэхийн тулд umask ашиглана уу.
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
Төхөөрөмж бүр дээр давтана. Хэзээ ч бүү хуваалц хувийн түлхүүр хоёуланг нь аюулгүйгээр хадгал. Хэрэв та хүсвэл өөр өөр нэртэй файл үүсгээрэй хувийн түлхүүрийн сервер y нийтийн серверийн түлхүүр.
Серверийн тохиргоо
Үндсэн файлыг үүсгэнэ үү /etc/wireguard/wg0.conf. VPN дэд сүлжээг (таны жинхэнэ LAN дээр ашигладаггүй), UDP портыг оноож, блок нэмнэ үү [Үе тэнгийнхэн] эрх бүхий үйлчлүүлэгч бүрт.
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <clave_privada_servidor>
# Cliente 1
[Peer]
PublicKey = <clave_publica_cliente1>
AllowedIPs = 10.0.0.2/32
Жишээлбэл, та өөр дэд сүлжээг ашиглаж болно 192.168.2.0/24, мөн олон үе тэнгийнхэнтэйгээ хамт өсдөг. Хурдан байршуулалтын хувьд үүнийг ашиглах нь түгээмэл байдаг wg-хурдан wgN.conf файлуудтай.
Үйлчлүүлэгчийн тохиргоо
Үйлчлүүлэгч дээр жишээ нь файл үүсгэх wg0-client.conf, хувийн түлхүүр, туннелийн хаяг, нэмэлт DNS болон серверийн олон нийтийн төгсгөлийн цэг болон порттой.
[Interface]
PrivateKey = <clave_privada_cliente>
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <clave_publica_servidor>
Endpoint = <ip_publica_servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Хэрэв та тавьсан бол Зөвшөөрөгдсөн IP = 0.0.0.0/0 Бүх урсгал VPN-ээр дамжих болно; Хэрэв та зөвхөн тодорхой серверийн сүлжээнд холбогдохыг хүсвэл үүнийг шаардлагатай дэд сүлжээнд хязгаарлаарай, тэгвэл та багасгах болно хоцрогдол болон хэрэглээ.
Сервер дээрх IP дамжуулалт ба NAT
Дамжуулахыг идэвхжүүлснээр үйлчлүүлэгчид серверээр дамжуулан интернетэд нэвтрэх боломжтой болно. Өөрчлөлтийг шууд хэрэглээрэй sysctl.
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf
sysctl -p
VPN дэд сүлжээнд IPtables ашиглан NAT-г тохируулах, WAN интерфейсийг тохируулах (жишээ нь, eth0):
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
Үүнийг тууштай болго зохих багцууд болон системийг дахин ачаалахад хэрэглэх дүрмийг хадгалах.
apt install -y iptables-persistent netfilter-persistent
netfilter-persistent save
Эхлүүлэх, баталгаажуулах
Системийг эхлүүлэхийн тулд интерфейсийг гаргаж, үйлчилгээг идэвхжүүлнэ үү. Энэ алхам нь виртуал интерфейсийг үүсгэж, нэмдэг чиглэлүүд шаардлагатай.
systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0
wg
Кон wg Та үе тэнгийнхэн, түлхүүрүүд, шилжүүлэг болон сүүлийн гар барих хугацааг харах болно. Хэрэв таны галт ханын бодлого хязгаарлагдмал бол интерфэйсээр нэвтрэхийг зөвшөөрнө үү. wg0 болон үйлчилгээний UDP порт:
iptables -I INPUT 1 -i wg0 -j ACCEPT
Албан ёсны програмууд: Windows, macOS, Android болон iOS
Ширээний компьютер дээр та импортлох боломжтой .conf файл. Хөдөлгөөнт төхөөрөмж дээр програм нь a-аас интерфэйс үүсгэх боломжийг олгодог QR код тохиргоог агуулсан; Энэ нь техникийн бус үйлчлүүлэгчдэд маш тохиромжтой.
Хэрэв таны зорилго бол өөрөө байршуулсан үйлчилгээг ил болгох юм бол Plex/Radarr/Sonarr VPN-ээр дамжуулан WireGuard дэд сүлжээнд IP оноож, AllowedIP-г тохируулснаар үйлчлүүлэгч тухайн сүлжээнд холбогдох боломжтой болно; Хэрэв бүх хандалт нь дамжуулан байгаа бол гадна талд нэмэлт порт нээх шаардлагагүй хонгил.
Давуу болон сул талууд
WireGuard нь маш хурдан бөгөөд энгийн боловч ашиглалтын нөхцөл байдлаас шалтгаалан түүний хязгаарлалт, онцлогийг анхаарч үзэх нь чухал юм. Энд хамгийн тэнцвэртэй тойм байна хамааралтай.
| Давуу талууд | Сул талууд |
|---|---|
| Тодорхой бөгөөд богино тохиргоотой, автоматжуулалтад тохиромжтой | Төрөлхийн замын хөдөлгөөний түгшүүрийг оруулаагүй болно |
| Өндөр гүйцэтгэл, хоцролт багатай ч гэсэн гар утас | Зарим хуучин орчинд илүү цөөхөн нэмэлт сонголтууд байдаг |
| Үүнийг хялбар болгодог орчин үеийн криптограф ба жижиг код аудит | Нууцлал: IP/нийтийн түлхүүрийн холбоо нь бодлогоос хамааран эмзэг байж болзошгүй |
| Үйлчлүүлэгчдэд саадгүй роуминг болон унтраах унтраалга ашиглах боломжтой | Гуравдагч этгээдийн нийцтэй байдал нь үргэлж нэг төрлийн байдаггүй |
Хагалах хонгил: зөвхөн шаардлагатай зүйлийг чиглүүлэх
Хуваах туннел нь танд VPN-ээр дамжуулан зөвхөн шаардлагатай урсгалыг илгээх боломжийг олгодог. -тай Зөвшөөрөгдсөн IP Та нэг буюу хэд хэдэн дэд сүлжээнд бүрэн эсвэл сонгомол дахин чиглүүлэлт хийх эсэхээ шийднэ.
# Redirección completa de Internet
[Peer]
AllowedIPs = 0.0.0.0/0
# Solo acceder a recursos de la LAN 192.168.1.0/24 por la VPN
[Peer]
AllowedIPs = 192.168.1.0/24
Урвуу хуваах туннел, шүүсэн гэх мэт хувилбарууд байдаг URL эсвэл програмаар (тодорхой өргөтгөлүүд/үйлчлүүлэгчээр), хэдийгээр WireGuard-н үндсэн суурь нь IP болон угтвараар удирдагддаг.
Тохиромжтой байдал ба экосистем
WireGuard нь Линуксийн цөмд зориулж төрсөн боловч өнөөдөр ийм байна хөндлөн тавцанOPNsense үүнийг эх байдлаар нэгтгэдэг; pfSense-ийг аудитын зорилгоор түр зогсоосон бөгөөд дараа нь хувилбараас хамааран нэмэлт багц болгон санал болгосон.
QNAP шиг NAS дээр та 10GbE NIC-ийн давуу талыг ашиглан QVPN эсвэл виртуал машин ашиглан холбож болно. өндөр хурдтайRouterOS 7.x-ээс хойш MikroTik чиглүүлэгчийн самбарууд WireGuard-ийн дэмжлэгийг агуулсан; Эхний давталтуудад энэ нь бета хувилбарт байсан бөгөөд үйлдвэрлэхийг зөвлөдөггүй боловч төхөөрөмжүүд болон эцсийн үйлчлүүлэгчдийн хооронд P2P туннелийг зөвшөөрдөг.
Teltonika зэрэг үйлдвэрлэгчид WireGuard-г чиглүүлэгчдээ нэмэх багцтай байдаг; Хэрэв танд тоног төхөөрөмж хэрэгтэй бол тэдгээрийг эндээс худалдаж авч болно shop.davantel.com мөн суулгахдаа үйлдвэрлэгчийн зааврыг дагаж мөрдөнө багцууд нэмэлт.
Гүйцэтгэл ба хоцролт
Минималист дизайн, үр ашигтай алгоритмын сонголтын ачаар WireGuard нь маш өндөр хурдтай ажилладаг. бага хоцролт, ерөнхийдөө L2TP/IPsec болон OpenVPN-ээс давуу. Хүчирхэг техник хангамж бүхий орон нутгийн туршилтуудад бодит хурд нь бусад хувилбаруудаас хоёр дахин их байдаг тул үүнийг хийхэд тохиромжтой урсгал, тоглоом эсвэл VoIP.
Байгууллагын хэрэгжилт ба зайнаас ажиллах
Байгууллагын хувьд WireGuard нь оффисуудын хооронд хонгил үүсгэх, ажилчдын алсын зайнаас нэвтрэх, хоорондын аюулгүй холболт хийхэд тохиромжтой. CPD ба үүл (жишээ нь, нөөцлөлтийн хувьд). Түүний товч синтакс нь хувилбар болон автоматжуулалтыг хялбар болгодог.
Энэ нь завсрын шийдлүүдийг ашиглан LDAP/AD гэх мэт сангуудтай нэгдэж, IDS/IPS эсвэл NAC платформуудтай зэрэгцэн орших боломжтой. Алдартай сонголт бол PacketFence (нээлттэй эх сурвалж), энэ нь BYOD-д нэвтрэх, хянахаас өмнө тоног төхөөрөмжийн статусыг шалгах боломжийг олгодог.
Windows/macOS: Тэмдэглэл, зөвлөмж
Албан ёсны Windows програм нь ихэвчлэн асуудалгүй ажилладаг боловч Windows 10-ийн зарим хувилбарыг ашиглах үед асуудал гардаг Зөвшөөрөгдсөн IP = 0.0.0.0/0 маршрутын зөрчилдөөний улмаас. Түр зуурын хувилбар болгон зарим хэрэглэгчид TunSafe гэх мэт WireGuard-д суурилсан үйлчлүүлэгчдийг сонгох эсвэл AllowedIP-г тодорхой дэд сүлжээнд хязгаарлахыг сонгодог.
Жишээ түлхүүрүүд бүхий Debian-ийн хурдан эхлүүлэх гарын авлага
Сервер болон үйлчлүүлэгчийн түлхүүрүүдийг үүсгэнэ үү /гэх мэт/утас хамгаалагч/ мөн wg0 интерфэйсийг үүсгэ. VPN IP-ууд нь таны дотоод сүлжээ эсвэл үйлчлүүлэгчид дээрх бусад IP-тэй таарахгүй байгаа эсэхийг шалгаарай.
cd /etc/wireguard/
wg genkey | tee claveprivadaservidor | wg pubkey > clavepublicaservidor
wg genkey | tee claveprivadacliente1 | wg pubkey > clavepublicacliente1
192.168.2.0/24 дэд сүлжээ, 51820 порттой wg0.conf сервер. Хэрэв та автоматжуулахыг хүсвэл PostUp/PostDown-г идэвхжүүлнэ үү. NAT Интерфэйсийг өсгөх/доошлуулах үед iptables-тэй.
[Interface]
Address = 192.168.2.1/24
PrivateKey = <clave_privada_servidor>
ListenPort = 51820
#PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <clave_publica_cliente1>
AllowedIPs = 0.0.0.0/0
192.168.2.2 хаягтай, серверийн нийтийн эцсийн цэгийг зааж буй үйлчлүүлэгч амьд байх Хэрэв завсрын NAT байгаа бол нэмэлт.
[Interface]
PrivateKey = <clave_privada_cliente1>
Address = 192.168.2.2/32
[Peer]
PublicKey = <clave_publica_servidor>
AllowedIPs = 0.0.0.0/0
Endpoint = <ip_publica_servidor>:51820
#PersistentKeepalive = 25
Интерфэйсийг татаж аваад MTU, маршрутын тэмдэглэгээ, болон fwmark чиглүүлэлтийн бодлогын дүрэм. wg-хурдан гаралт болон статусыг шалгана уу wg шоу.
Mikrotik: RouterOS 7.x хоорондын туннель
MikroTik нь RouterOS 7.x-ээс хойш WireGuard-г дэмждэг. Чиглүүлэгч бүр дээр WireGuard интерфэйсийг үүсгээд үүнийг ашигласнаар автоматаар үүсгэгдэх болно. түлхүүрүүд. IP-г Ether2-д WAN, wireguard1-д туннелийн интерфейсээр онооно.
Үйлчлүүлэгч тал дээр серверийн нийтийн түлхүүрийг гатлах замаар үе тэнгийнхнээ тохируулах ба эсрэгээр нь Зөвшөөрөгдсөн хаяг/Зөвшөөрөгдсөн IP-г тодорхойлох (жишээ нь) 0.0.0.0/0 Хэрэв та хонгилоор ямар нэгэн эх сурвалж/хүлээн авахыг зөвшөөрөхийг хүсвэл) болон алсын төгсгөлийн цэгийг порттой нь тохируулна уу. Алсын хонгилын IP руу ping хийх нь баталгаажуулах болно гар барих.
Хэрэв та гар утас эсвэл компьютерээ Микротик туннелд холбосон бол зөвшөөрөгдсөн сүлжээг шаардлагатай хэмжээнээс илүү нээхгүйн тулд нарийн тааруулах; WireGuard нь таны багцад тулгуурлан пакетуудын урсгалыг шийддэг Cryptokey Routing, тиймээс гарал үүсэл, очих газраа тааруулах нь чухал.
Криптограф ашигласан
WireGuard нь орчин үеийн багцыг ашигладаг: дуу чимээ хүрээ болгон, ECDH-д зориулсан Curve25519, Poly1305-тай баталгаажсан тэгш хэмт шифрлэлтэд зориулсан ChaCha20, хэш-д зориулсан BLAKE2, хэш хүснэгтэд зориулсан SipHash24, гарал үүслийн хувьд HKDF. түлхүүрүүдХэрэв алгоритм хуучирсан бол протоколыг хялбархан шилжүүлэхийн тулд хувилбар болгож болно.
Гар утасны давуу болон сул талууд
Үүнийг ухаалаг гар утсан дээр ашигласнаар аюулгүйгээр үзэх боломжтой Нийтийн Wi‑Fi, ISP-ийнхээ урсгалыг нууж, NAS, гэрийн автоматжуулалт эсвэл тоглоом тоглохын тулд гэрийн сүлжээндээ холбогдоно уу. iOS/Android дээр сүлжээ солих нь туннелийг буулгахгүй бөгөөд энэ нь туршлагыг сайжруулдаг.
Сул талуудын хувьд та шууд гаралттай харьцуулахад хурдаа бага зэрэг алдаж, илүү их хоцрогдол чирдэг бөгөөд сервер үргэлж ажиллахаас хамаарна. боломжтой. Гэсэн хэдий ч, IPsec/OpenVPN-тэй харьцуулахад торгууль нь ихэвчлэн бага байдаг.
WireGuard нь энгийн байдал, хурд, бодит аюулгүй байдлыг зөөлөн сурах муруйтай хослуулсан: үүнийг суулгаж, түлхүүрүүдийг үүсгэж, AllowedIP-г тодорхойлсноор та явахад бэлэн боллоо. IP дамжуулалт, сайн хэрэгжсэн NAT, QR код бүхий албан ёсны програмууд, OPNsense, Mikrotik, эсвэл Teltonika зэрэг экосистемтэй нийцтэй байдлыг нэмнэ үү. орчин үеийн VPN Нийтийн сүлжээг хамгаалахаас эхлээд төв байраа холбох, гэрийн үйлчилгээндээ толгой өвдөхгүйгээр хандах хүртэл бараг бүх хувилбарт.
Редактор нь технологи, интернетийн асуудлаар мэргэшсэн бөгөөд янз бүрийн дижитал медиа дээр арав гаруй жилийн туршлагатай. Би цахим худалдаа, харилцаа холбоо, онлайн маркетинг, сурталчилгааны компаниудад редактор, контент бүтээгчээр ажиллаж байсан. Би бас эдийн засаг, санхүү болон бусад салбарын вэб сайтууд дээр бичсэн. Миний ажил бас миний хүсэл тэмүүлэл. Одоо миний нийтлэлүүдээр дамжуулан Tecnobits, Би өдөр бүр бидний амьдралыг сайжруулахын тулд технологийн ертөнц бидэнд санал болгож буй бүх мэдээ, шинэ боломжуудыг судлахыг хичээдэг.

