این مقاله به طور مفصل نحوه راه اندازی Wireguard VPN را در سرور خود شرح می دهد. این می تواند یک سرور مجازی یا خصوصی باشد - خیلی مهم نیست.
این راهنمای راه اندازی VPN Wireguard برای کاربرانی طراحی شده است که تجربه زیادی ندارند، بنابراین تمام مراحل کاملاً دقیق و با اسکرین شات دنبال می شود.
ترافیک عبوری از تونل ما رمزگذاری می شود و اینترنت آدرس IP سرور VPN ما را نشان می دهد، نه آدرس ارائه دهنده ای که از طریق آن به شبکه دسترسی داریم.
فرض بر این است که شما از قبل یک VPS دارید. اگر نه، می توانید سفارش آن را از ما
ما سیستم عامل اوبونتو 22.04 را روی سرور خود نصب خواهیم کرد. اگر سروری با سیستمعامل متفاوت دارید، میتوانید بهراحتی آن را دوباره نصب کنید دستورالعمل.
بنابراین، سرور با سیستم عامل اوبونتو 22.04 آماده است، اکنون از طریق SSH به آن متصل می شویم. اگر به طور ناگهانی قبلاً با این پروتکل برخورد نکرده اید، مقاله ای که در آن این روند به طور مفصل توضیح داده شده است به شما کمک می کند. بند دوم از مقاله برای سیستم عامل لینوکس است، سومی برای سیستم عامل ویندوز است.
سرور Wireguard را راه اندازی کنید
پس از یک اتصال موفق، چند دستور و شرحی از آنچه که آنها تولید می کنند را برای درک فرآیند می نویسم:
ما لیست بسته های موجود در مخازن را به روز می کنیم
apt update
تمدید خود بسته ها
apt upgrade -y
پکیج وایرگارد را نصب کنید
apt install -y wireguard
پیکربندی ما در پوشه /etc/wireguard/ ذخیره می شود، باید دایرکتوری را وارد کنیم:
cd /etc/wireguard/
ما به یک کلید عمومی و خصوصی برای سرور خود نیاز داریم. ما آنها را پس از تنظیم حقوق صحیح هنگام ایجاد فایل ها و دایرکتوری ها با دستورات تولید خواهیم کرد:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
اکنون حقوق کلید خصوصی را تنظیم می کنیم:
chmod 600 privatekey
قبل از ایجاد فایل پیکربندی، به نام رابط شبکه خود نیاز داریم. برای کشف آن، از دستور استفاده کنید:
ip a
ما به رابطی با آدرس IP که برای اتصال فعلی استفاده می شود نیاز داریم. احتمالاً در مورد شما ens3 نامیده می شود، اما ممکن است نام دیگری وجود داشته باشد.
همچنین به یک کلید عمومی و خصوصی نیاز خواهیم داشت. برای نمایش آنها از tail استفاده می کنم
tail privatekey publickey
آن را مانند این به نظر می رسد:
برای ویرایش، می توانید از هر کدام استفاده کنید ویرایشگر متن لینوکس. من از نانو استفاده خواهم کرد. برای نصب آن باید دستور زیر را اجرا کنید:
apt install -y nano
ما فایل پیکربندی را ویرایش می کنیم:
nano /etc/wireguard/wg0.conf
توجه داشته باشید:
برای ذخیره فایل از ترکیب دکمه ctrl+o استفاده می کنیم
برای خروج - ctrl+x
می بایست شبیه به این باشه:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
در مورد من به نظر می رسد این است
انتقال آی پی را روشن می کنیم
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
راه اندازی سرویس محافظ سیم:
systemctl start [email protected]
اگر بخواهیم پس از راه اندازی مجدد سرور، سرویس شروع به کار کند، موارد زیر را انجام می دهیم:
systemctl enable [email protected]
برای مشاهده وضعیت خدمات:
systemctl status [email protected]
وضعیت باید مانند تصویر فعال باشد:
اگر دستورالعمل های ما را به دقت دنبال کردید، در این مرحله، همه چیزهایی که برای کارکردن سرور به بخشی از VPN Wireguard نیاز دارید را دارید.
راه اندازی سرویس گیرنده Wireguard
تنها چیزی که باقی می ماند پیکربندی بخش مشتری است. به عنوان مثال و سادگی، کلیدهایی را برای قسمت مشتری نیز روی سرور ایجاد خواهم کرد. اما برای اهداف امنیتی، تولید کلیدها در سمت کلاینت صحیح تر است. من از دستورات برای تولید استفاده می کنم:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
من همچنین کلیدهایی را برای استفاده از VPN در تلفن ایجاد خواهم کرد:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
لازم به ذکر است که تمامی این موارد در حین حضور در کاتالوگ الزامی است
/etc/wireguard/
همچنین می توانید در کاتالوگ دیگری اجرا کنید. اما برای سادگی، دستورات را در /etc/wireguard/ اجرا می کنیم.
ما از دستور ls برای فهرست کردن فایل ها در یک دایرکتوری استفاده می کنیم. من اینجوری گرفتم:
بیایید کلیدهای عمومی را روی صفحه نمایش دهیم. برای اضافه کردن گره ها به شبکه خود به آنها نیاز داریم:
tail mypc_publickey myphone_publickey
برای من شبیه این است:
بیایید فایل پیکربندی خود را ویرایش کنیم:
nano wg0.conf
خطوط زیر را اضافه کنید:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
حالا فایل کانفیگ به شکل زیر است:
فایل را ذخیره کنید و سرویس ما را مجددا راه اندازی کنید:
systemctl restart wg-quick@wg0
بیایید بررسی کنیم که همه چیز موفقیت آمیز بوده است:
systemctl status wg-quick@wg0
وضعیت باید فعال باشد
بارگیری مجدد سرویس هر بار پس از ویرایش فایل پیکربندی سرور مورد نیاز است (wg0.conf)
در مرحله بعد، ما تنظیماتی را برای مشتریان (در مورد من، رایانه شخصی و تلفن) ایجاد خواهیم کرد. من همین کار را روی سرور انجام خواهم داد.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
در قسمت Endpoint، می توانید آدرس IP سرور را ببینید - این آدرس IP است که ما از طریق SSH به آن متصل می شدیم. برای دیدن رابط ها و آدرس ها می توانید از دستور ip a استفاده کنید.
Wireguard را برای موبایل راه اندازی کنید
ما یک پیکربندی مشابه برای گوشی خود ایجاد می کنیم. فقط باید آدرس رو عوض کنی برای رایانه شخصی 10.30.0.2/32 بود و در تنظیمات گوشی 10.30.0.3/32 را خواهیم ساخت. همچنین، اگر میخواهیم از VPN در دستگاههای دیگر استفاده کنیم، باید آدرسهای دیگری را به قسمت Address در فایلهای پیکربندی و فایل پیکربندی سرور wg0.conf، فیلد AllowedIPs هنگام ایجاد تنظیمات اضافه کنیم.
فایل ها در مورد من به این شکل هستند:
mypc.conf
myphone.conf
برای اتصال، کلاینت wireguard را نصب می کنیم https://www.wireguard.com/install/
در اپلیکیشن ویندوز یک تونل جدید اضافه می کنیم و پیکربندی ایجاد شده در فایل mypc.conf را وارد می کنیم.
ما تونل را راه اندازی می کنیم و به مرورگر به وب سایتی می رویم که آدرس ما را نشان می دهد
برای اینکه به راحتی VPN را به گوشی خود اضافه کنید، برنامه ای برای تولید کدهای qr روی سرور نصب کنید:
apt install -y qrencode
با قرار گرفتن در دایرکتوری پیکربندی، مرحله زیر را انجام دهید:
qrencode -t ansiutf8 -r myphone.conf
سپس وارد اپلیکیشن Wireguard گوشی می شویم، + را فشار می دهیم تا یک تونل جدید ایجاد شود، اسکن کد QR را انتخاب می کنیم، اسکن می کنیم، VPN را روشن می کنیم. در مرحله بعد، با استفاده از هر منبعی که آدرس IP خروجی را نمایش می دهد، بررسی می کنیم که آیا آدرس سرور خود را نشان می دهیم.
توانجامش دادی!