وایرگارد یک VPN Service متن بازی هست که در توسط Jason A. Donenfeld توسعه داده شد.
نسخه استیبل وایرگارد تو مارچ سال 2020 روانه بازار شد وایرگارد به دلیل Performance بالا و همینطور استفاده از رمزنگاری های اختصاصی تونسته جزو یکی از پرسرعت و امن ترین VPN های دنیا باشه
Wireguard 4000
600,000 OPENVPN
40,000 IPSEC
وایرگارد برای احراز هویت کاربر برای اتصال از Crypto key Routing استفاده میکنه به این صورتی که به ازای هر کاربر یک Public و Private Key و همینطور یک Preshared key ( یک کلید ثابت مشکر بین سرور و کلاینت که استفاده از اون ضرروری نیست) مجزا درست میکنه که Public key کلاینت در قسمت peer سمت سرور وارد میشه که درواقع به این معنا هست که هرکسی که Private key این Public key رو داره میتونه کانکت بشه (البته درصورت استفاده از preshared key مقدار preshared key کلاینت هم باید در سرور و کلاینت یکسان باشد )
apt -y install wireguard-tools
wg genkey | tee /etc/wireguard/server.key
cat /etc/wireguard/server.key | wg pubkey | tee /etc/wireguard/server.pub
wg genkey | tee /etc/wireguard/client.key
cat /etc/wireguard/client.key | wg pubkey | tee /etc/wireguard/client.pub
wg genpsk > /etc/wireguard/preshared-client1
vim /etc/sysctl.conf
# line 28: uncomment to enable IP forearding
net.ipv4.ip_forward=1
sysctl -p
تو این مرحله تمامی کلید ها و مقادیری که ایجاد کردیم و باید توی فایل کانفیگ وایرگارد بذاریم
فایلی به اسم wg0.conf تو مسیر /etc/wireguard/ میسازیم و مقادیر مربوط به سرور و کلاینت رو وارد میکنیم
قسمت [Interface] مربوط به کانفیگ سرور هست که privatekey سرور را وارد میکنیم و همینطور از تعاریف زیر میتوننید برای کامل کردن کانفیگ استفاده کنید :
Address : آدرس IP تانل سمت سرور
PostUP: وقتی تانل UP شد چه کاری انجام شود
PostDown: وقتی تانل DOWN شد چه کاری انجام شود
[PEER] : کانفیگ کلینت ها در [PEER] باید نوشته بشه
Public Key : Publickey مربوط به کلاینت
Preshared Key : مقداری که بین کلاینت و سرور باید یکسان باشد
AllowedIPs : مشخص کننده این است که کلاینت فقط با چه IP میتونه وصل بشه
[Interface]
PrivateKey = aNRbw0DxW4BiWDHjnEcOVXHyRODGDF
Address = 10.8.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# Client: farshad (03427e95-40c6-4611-8f94-f85271b04185)
[Peer]
PublicKey = KcI1nuEokkvRRsqymWPZlhYp9Q9/19hLMTcGSQspkVs=
PresharedKey = VEruDxXfm2/1PTpE7Syf4kzT0ad4gcpj6VZrsUYpxvA=
AllowedIPs = 10.8.0.2/32
ابتدا وایرگارد ویندوز رو دانلود میکنیم و توی یک نوت پد کانفیگ کلاینت رو طبق کلید هایی که از قبل درست کردیم و IP سرور وارد میکنیم
از این URL میتونید آخرین ورژن وایرگارد کلاینت ویندوز رو دانلود کنید
https://download.wireguard.com/windows-client/wireguard-installer.exe
Address : آدرس IP تانل سمت سرور
EndPoint : آی پی فیزیکی سرور (IP PUBLIC یا هر آی پی که سرور داره)
[PEER] : کانفیگ مربوط به سرور
Private Key : private Key مربوط به کلاینت
Preshared Key : مقداری که بین کلاینت و سرور باید یکسان باشد
[Interface]
# private key for client generated on WireGuard server
PrivateKey = 2IcE8jDSDpHGOFBk5vEkmJ5yP7T9YHU+vr0mya+h5Ho=
# IP address for VPN interface
Address = 172.16.100.5
[Peer]
# specify public key for server generated on WireGuard server
PublicKey = AIUd+0cxJVkbq4M+4cVUJhHu1Nxszlz3ccidVTbCh1k=
AllowedIPs = 0.0.0.0/24
# specify server's global IP address:port
EndPoint = 172.29.10.100:51820
در آخرین گام فقط کافیه که کانفیگ کلاینت رو جایی با پسوند conf. سیو و import کنید