
إذا كنت قد قمت بإعداد نظام تقني صغير في المنزل مع جهاز تخزين متصل بالشبكة (NAS)، أو خادم لينكس، أو جهاز كمبيوتر مُعاد تدويره مليء بالخدماتأنا متأكد أنك واجهت نفس المشكلة: كل شيء يعمل بشكل مثالي أثناء اتصالك بشبكة الواي فاي، ولكن بمجرد مغادرتك المنزل، ينقطع الاتصال تمامًا. لا يمكنك الوصول إلى تطبيقاتك أو ملفاتك أو كاميرات المراقبة دون الوقوع في مشاكل تتعلق بإعدادات المنافذ، أو مشاكل خدمة أسماء النطاقات الديناميكية (DDNS)، أو المخاطر الأمنية، أو اللجوء إلى... شبكات VPN الموصى بها لنظام Android.
أسهل وأسلم طريقة لحل هذه المشكلة هي إنشاء استخدم VPN مع WireGuard واتصل من جهاز Android (ومن أي جهاز آخر). بهذه الطريقة، يمكنك استخدام شبكتك المنزلية كما لو كنت موجودًا فيها فعليًا، حتى لو كان مزود خدمة الإنترنت الخاص بك يستخدم CGNAT أو كان لديك بنية شبكة معقدة نوعًا ما. دعونا نلقي نظرة على ذلك خطوة بخطوة: بدءًا من ماهية WireGuard، وكيفية إعداده على Linux (أو باستخدام Docker ولوحات تحكم مثل EasyPanel/WireGuard Easy)، وكيفية ضبطه بدقة للوصول إلى شبكتك المحلية (LAN). تفعيل VPN على نظام أندرويد تصفح الإنترنت بأمان من جهازك المحمول.
ما هو برنامج WireGuard ولماذا يعتبر مثالياً لشبكة VPN منزلية؟
WireGuard هو بروتوكول VPN حديث وبسيط وسريع للغاية. وقد غيّر هذا الأمر تماماً طريقة إعداد الشبكات الخاصة الافتراضية. فعلى عكس التقنيات القديمة مثل OpenVPN أو IPsec، فقد صُمم هذا النظام منذ البداية ليكون سهل التكوين، وسهل التدقيق، وفعالاً للغاية.
قاعدة بياناتها صغيرة جدًا (في حدود بضعة آلاف من الأسطروهذا يُسهّل اكتشاف الثغرات الأمنية والحفاظ على تحديث النظام. أما بالنسبة للتشفير، فهو يستخدم فقط خوارزميات حديثة وموثوقة مثل Curve25519، ChaCha20، Poly1305، BLAKE2s وشركاه. لا قوائم لا نهاية لها من الشفرات القديمة التي لا ينبغي لأحد استخدامها بعد الآن.
علاوة على ذلك، فهو يعمل حصريًا على بروتوكول UDP ويمكن دمجه في نواة لينكسلذا، فإن زمن الاستجابة منخفض، والأداء ممتاز، واستهلاك وحدة المعالجة المركزية ضئيل للغاية. ويتضح هذا جلياً عند الاتصال من أجهزة أندرويد عبر شبكات الجيل الرابع/الخامس أو شبكة واي فاي عادية: حيث تتم إعادة الاتصالات بسرعة، ويتعامل النفق مع تغيرات الشبكة بكفاءة عالية.
كما أن الإعداد أكثر سهولة في الاستخدام: كل جهاز مزود بـ زوج مفاتيح عام/خاصيتم تخصيص عنوان IP داخلي لشبكة VPN له، ويتم تحديد حركة البيانات المرسلة عبر النفق وفقًا للسياسة. AllowIPsبذلك، ومنفذ UDP وأربعة إعدادات أخرى، يمكنك تشغيله بسهولة، دون الحاجة إلى عشرات المعلمات الغامضة أو الملفات التي لا نهاية لها.
ومن المزايا الكبيرة الأخرى أن برنامج WireGuard متعدد المنصات: هناك عملاء رسميون لنظام Androidيتوافق مع أنظمة iOS وWindows وmacOS وLinux، ويمكن تشغيله أيضًا على أجهزة التوجيه وحاويات Docker والأجهزة المدمجة. على الهاتف المحمول، يمكنك استيراد ملف .conf أو ببساطة مسحه ضوئيًا رمز الاستجابة السريعة الذي تم إنشاؤه على الخادم وعلى استعداد.
المتطلبات الأساسية قبل إعداد خادم WireGuard الخاص بك
قبل لصق الأوامر كما لو لم يكن هناك غد، من الجيد التحقق من استيفائك لمتطلبات معينة. الحد الأدنى من المتطلبات لخادم WireGuard الذي يمكن الوصول إليه من نظام Androidهذا سيجنبك الكثير من المتاعب.
الممارسة الأكثر شيوعًا هي استخدام خادم لينكسيمكن أن يكون هذا خادمًا افتراضيًا خاصًا قائمًا على الحوسبة السحابية (يُعدّ Ubuntu 22.04 خيارًا مناسبًا جدًا) أو جهازًا منزليًا (مثل Raspberry Pi أو miniPC أو NAS يدعم WireGuard، إلخ). أي توزيعة حديثة تدعم WireGuard ستفي بالغرض، لكن Ubuntu/Debian توفران المزيد من الوثائق والأمثلة.
أنت بحاجة إلى مستخدم لديه أذونات الإدارة (بصلاحيات المستخدم الجذر أو مستخدم لديه صلاحيات sudo) لأنك ستتولى تثبيت الحزم، وتعديل إعدادات الشبكة، وتفعيل توجيه عناوين IP، وربما تعديل قواعد جدار الحماية. من الضروري أيضًا أن يكون لديك وصول SSH إلى الخادم، وأن تعرف، كحد أدنى، كيفية الاتصال من جهازك.
من جانب العميل، ستستخدم بشكل أساسي هاتف ذكي يعمل بنظام أندرويد مزود بتطبيق WireGuard الرسميعلى الرغم من أن نفس مخطط التكوين يعمل على أنظمة ويندوز، وماك أو إس، ولينكس، وآي أو إس، إلا أن ملف التكوين لا يختلف كثيرًا بين هذه الأنظمة، لذا فإن ما ستتعلمه هنا سيكون مفيدًا لجميعها.
العدو الأكبر: CGNAT وكيف يؤثر على شبكة VPN المنزلية الخاصة بك
إحدى أهم النقاط، خاصة إذا كان الخادم موجودًا في المنزل، هي معرفة ما إذا كان مزود الخدمة الخاص بك يضعك خلف شبكة. CGNAT (NAT من فئة الناقل)في إطار تقنية CGNAT، يمكنك مشاركة عنوان IP عام مع عملاء آخرين و لا يمكنك فتح منافذ لشبكتك المنزليةمما يجعل كشف خادم VPN على اتصالك المنزلي أمرًا صعبًا للغاية.
اكتشافه أمر بسيط: أولاً، اكتب IP العام من موقع ويب مثل "whatismyip." في متصفحك. ثم ادخل إلى لوحة تحكم جهاز التوجيه (عادةً على 192.168.1.1 أو 192.168.0.1) وابحث في قسم WAN أو الإنترنت عن عنوان IP الذي يعتقد جهاز التوجيه أنه يستخدمه. إذا كان عنوان IP هذا يبدأ بـ 10.xxx أو يقع ضمن النطاق 100.64.0.0 – 100.127.255.255 وإذا لم تتطابق المعلومات مع المعلومات الموجودة على المواقع الإلكترونية، فأنت تخضع لقانون CGNAT. وهناك خيار آخر مباشر وهو الاتصال بمشغل الخدمة والاستفسار.
مع تقنية CGNAT، لا يتلقى جهاز التوجيه الخاص بك عنوان IP عامًا مباشرًا، لذلك لا يمكنك القيام بإعادة توجيه المنافذ بالطريقة التقليديةتتيح لك بعض الشركات إلغاء الاشتراك في خدمة CGNAT مقابل دفع مبلغ إضافي أو تفعيل خيار معين، بينما تشترط شركات أخرى تغيير باقتك، وقد ترتفع الأسعار بشكل كبير في بعض الأحيان. إذا كنت لا ترغب في المرور بكل ذلك، فالحل الأمثل هو التحويل إلى... الخادم الافتراضي الخاص كجسريقوم خادمك المنزلي بإنشاء نفق WireGuard إلى VPS، وتقوم أنت بالاتصال بـ VPS من Android للوصول إلى شبكة LAN المنزلية الخاصة بك.
تجهيز خادم لينكس: تحديث وتثبيت برنامج WireGuard
على خادم يعمل بنظام أوبونتو 22.04 (أو ما شابه)، أول شيء يجب فعله هو حزم التحديث لتجنب نقل الثغرات الأمنية أو الإصدارات القديمة:
apt update && apt upgrade -y
ثم قم بتثبيت WireGuard من المستودعات الرسمية باستخدام:
apt install -y wireguard
تتضمن هذه الحزمة الأدوات wg وwg-quick ويقوم بتحميل وحدة النواة اللازمة. إذا كنت ترغب في فرض التحميل اليدوي في بيئة غير معتادة نوعًا ما، يمكنك استخدام:
modprobe wireguard
هيكل توليد المفاتيح وتكوين الخادم
جوهر برنامج WireGuard هو نظام المفاتيح العامة والخاصةعادةً، يتم إنجاز العمل في الدليل القياسي. /إلخ/واير جارد/حيث ستخزن المفاتيح وملفات التكوين.
انتقل إلى ذلك المجلد وقم بتشديد الأذونات الافتراضية قبل إنشاء أي شيء:
cd /etc/wireguard/
umask 077
وهذا يضمن أن قد لا يتمكن المستخدمون الآخرون من قراءة الملفات الجديدةيُعدّ هذا الأمر بالغ الأهمية عند إنشاء المفاتيح الخاصة. أنشئ زوج مفاتيح الخادم، على سبيل المثال:
wg genkey > privatekey
wg pubkey < privatekey > publickey
La مفتاح سري يجب أن يبقى دائماً على الخادم ولا يغادره أبداً؛ مفتاح عام نعم، يمكنك مشاركتها مع العملاء. تجنب أيضًا استخدام تطبيقات خارجية قد تُعرّض الأسرار للخطر؛ راجع المقالات المتعلقة بـ [الموضوع مفقود]. تطبيقات VPN غير آمنة إذا كانت لديك أي شكوك بشأن العملاء.
chmod 600 privatekey
إذا كنت ترغب في رؤية المفاتيح على الشاشة لنسخها لاحقًا، يمكنك استخدام ما يلي:
tail privatekey publickey
أنشئ ملف wg0.conf الخاص بالخادم وقم بتحريره
تنظم شركة WireGuard أنفاقها في الواجهات الافتراضية يتم استدعاء الواجهات وفقًا للاتفاقية wg0، wg1، إلخ. ولكل واجهة ملف تكوين خاص بها. /إلخ/واير جارد/سنقوم بإنشاء wg0.conf باعتبارها الواجهة الرئيسية.
إذا كنت من محبي برنامج Nano ولم تقم بتثبيته، يمكنك إضافته باستخدام:
apt install -y nano
افتح ملف التكوين:
nano /etc/wireguard/wg0.conf
قبل كتابة أي شيء، حدد اسم واجهة الشبكة المتصلة بالإنترنت (الواجهة التي تحمل عنوان IP العام أو عنوان IP الذي تستخدمه للاتصال عبر SSH). يمكنك العثور على ذلك باستخدام:
ip a
يُطلق عليه في العديد من الخوادم الافتراضية الخاصة eth0، ens3، enp0s3 أو شيء من هذا القبيل. ستحتاج إليه لقواعد NAT. مثال على حظر كامل قد يكون كالتالي:
Address = 10.30.0.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
هنا تقوم بتزويد الخادم بعنوان IP 10.30.0.1 داخل شبكة VPN، تقوم بتوجيهه للاستماع على منفذ UDP رقم 51820، وتقوم بتحديد قواعد iptables التي يتم تطبيقها عند تشغيل واجهة wg0 (ابعثوتتم إزالتها عند النزول (بوست داونتوخ الحذر عند الاستبدال. eth0 بالاسم الفعلي لواجهة الإخراج الخاصة بك.
في نانو، يمكنك التوفير مع CTRL + O وتختتم بـ CTRL + Xسيكون ملف wg0.conf هو الملف الأساسي الذي ستضيف إليه العملاء (النظراء) المختلفين.
قم بتمكين إعادة توجيه IP وابدأ خدمة WireGuard
لكي يتمكن عملاؤك من الوصول إلى الإنترنت أو الشبكة المحلية خلف خادم VPN، يجب أن يسمح النظام بما يلي: توجيه حزم IPv4 و IPv6يتم التحكم في ذلك باستخدام sysctl.
تتمثل إحدى الطرق السريعة في إضافة الأسطر المقابلة إلى /etc/sysctl.conf أو إلى ملف في /etc/sysctl.d/ وإعادة الشحن:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
إذا كانت تلك الأسطر موجودة بالفعل ولكنها معلّقة (باستخدام #)، يكفي أن إزالة الـاحفظ الملف وأعد تشغيله sysctl -pبدون هذه الخطوة، سيكون لديك النفق جاهزًا ولكنك ستفقد الوصول إلى الشبكة المحلية أو الإنترنت من العملاء.
يمكنك الآن رفع سلك الحماية بمساعدة wg-quick و systemd:
systemctl start wg-quick@wg0
لجعله يبدأ تلقائيًا مع النظام:
systemctl enable wg-quick@wg0
تأكد من أن كل شيء باللون الأخضر باستخدام:
systemctl status wg-quick@wg0
وللاطلاع على تفاصيل الواجهة والمفاتيح والأقران وحركة البيانات في الوقت الفعلي، استخدم ما يلي:
wg
إضافة عملاء: أجهزة الكمبيوتر الشخصية، وأجهزة أندرويد المحمولة، وغيرها من الأجهزة
يتم تعريف كل جهاز يتصل بشبكة VPN الخاصة بك على أنه يتشاركون مع مفتاحهم الخاص وعنوان IP الخاص بالنفقيمكنك إنشاء المفاتيح على الخادم نفسه (أكثر ملاءمة) أو على كل عميل (أكثر أمانًا، لأن المفتاح الخاص لا يغادره أبدًا).
بالنسبة لأجهزة الكمبيوتر المكتبية، يمكنك القيام بذلك، على سبيل المثال، في /etc/wireguard/:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
ولهاتفك المحمول الذي يعمل بنظام أندرويد:
wg genkey > myphone_privatekey
wg pubkey < myphone_privatekey > myphone_publickey
تحقق من الملفات باستخدام:
ls
ويظهر المفاتيح العامة:
tail mypc_publickey myphone_publickey
تلك المفاتيح العامة هي التي ستدخلها ملف wg0.conf ضمن الكتل افتح ملف الخادم مرة أخرى:
nano /etc/wireguard/wg0.conf
ويضيف، على سبيل المثال:
PublicKey = <clave_publica_mypc>
AllowedIPs = 10.30.0.2/32
المفتاح العام =
AllowIPs = 10.30.0.3/32
بفعل ذلك، فإنك تحجز عنوان IP 10.30.0.2 للكمبيوتر الشخصي و 10.30.0.3 للهواتف المحمولة التي تعمل بنظام Androidيشير الرمز /32 إلى أنه عنوان IP فردي. يستخدم كل نظير عنوان IP فريد خاص به ضمن الشبكة الفرعية لشبكة VPN.
احفظ الخدمة وأعد تحميلها لتطبيق التغييرات:
systemctl restart wg-quick@wg0
إنشاء ملفات تكوين العميل
حان الآن وقت التحضير ملفات .conf التي سيستخدمها العملاءوتشمل هذه البيانات مفتاحك الخاص، وعنوان IP الداخلي، ونظام أسماء النطاقات (DNS)، وبيانات الخادم (المفتاح العام، وعنوان IP/النطاق، والمنفذ).
يمكنك إنشاء ذلك على جهاز الكمبيوتر ملف mypc.conf في /etc/wireguard/ (أو أي مكان تفضله):
nano mypc.conf
نوع المحتوى:
PrivateKey = <clave_privada_mypc>
Address = 10.30.0.2/24
DNS = 1.1.1.1
المفتاح العام =
نقطة النهاية = 51820
AllowIPs = 0.0.0.0/0
استمرار البقاء = 20
في الجزء الأول، تُحدد "واجهة" العميل المحلية: مفتاحه الخاص، وعنوان IP الخاص بشبكة VPN، ونظام أسماء النطاقات (DNS) الذي سيستخدمه. في الجزء الثاني، تصف الخادم: مفتاحه العام، وعنوانه، ومنفذه. AllowIPs = 0.0.0.0/0 يجعل تمر جميع بيانات العملاء عبر الشبكة الافتراضية الخاصة (VPN). (نفق كامل). إذا كنت ترغب فقط في الوصول إلى شبكتك المحلية البعيدة، يمكنك تقييدها إلى 10.30.0.0/24 و/أو 192.168.x.0/24، وذلك حسب شبكتك.
خاصية الإبقاء المستمر على الاتصال يوصى بشدة بإجراء العملية كل 20-25 ثانية للعملاء الموجودين خلف شبكات NAT أو شبكات الهاتف المحمول، حيث يمنع ذلك ظهور النفق غير نشط وجدار الحماية من إغلاق الجلسة.
تكوين خاص بعميل Android
في نظام أندرويد، تكون العملية مماثلة. يحتاج الهاتف إلى المفتاح الخاص، عنوان IP الخاص بالنفق وبيانات الخادم. يمكنك إعادة استخدام المفاتيح التي أنشأتها على الخادم أو إنشاؤها مباشرة في التطبيق.
باتباع المثال الذي أنشأته myphone_privatekey و myphone_publickeyملف myphone.conf الخاص بهاتفك مفقود:
nano myphone.conf
شيء من هذا القبيل:
PrivateKey = <clave_privada_myphone>
Address = 10.30.0.3/24
DNS = 1.1.1.1
المفتاح العام =
نقطة النهاية = 51820
AllowIPs = 0.0.0.0/0
استمرار البقاء = 20
الجزء الصعب هنا هو كيفية إرسال هذا الملف إلى الهاتف المحمول بشكل آمنفي بيئة المختبر، يمكنك تحميله إلى خادم ويب وتنزيله، ولكن في بيئة الإنتاج، من الأفضل تجنب إرساله عبر البريد الإلكتروني أو تخزينه على خدمات غير مشفرة.
عادةً ما تكون الطريقة الأنظف هي استخدام com.qrencode لإنشاء رمز QR يمكن لتطبيق WireGuard على نظام Android مسحه ضوئيًا:
apt install -y qrencode
qrencode -t ansiutf8 -r myphone.conf
ستظهر لك رمز الاستجابة السريعة (QR) بأحرف ASCII على الجهاز. على جهازك المحمول، افتح تطبيق WireGuard، ثم حدد "امسح من رمز الاستجابة السريعة"(امسح رمز الاستجابة السريعة) ووجهه نحو الشاشة. بهذه الطريقة لن تحتاج إلى مشاركة ملف .conf عبر قنوات مشبوهة."
الوصول إلى الشبكة المحلية المنزلية، ونظام أسماء النطاقات، والأسماء المحلية
بغض النظر عن بناء النفق، ما هو المثير للاهتمام في شبكة افتراضية خاصة (VPN) مع تطبيق WireGuard على نظام Android لتوفير اتصال منزلي آمن يتعلق الأمر بالقدرة على الوصول إلى جميع أجهزتك المنزلية كما لو كنت موجودًا فيها: أجهزة التخزين الشبكية، وكاميرات IP، وأجهزة التوجيه، وخوادم الوسائط، وما إلى ذلك، ويفضل استخدام أسماء النطاقات المحلية بدلاً من عناوين IP.
تحتوي العديد من أجهزة التوجيه التي تدمج خادم WireGuard أو نظام أسماء النطاقات الداخلي على قسم مثل الشبكة ← نظام أسماء النطاقات ← تحرير المضيفين حيث يمكنك إنشاء إدخالات مثل 192.168.1.50 nas-casa.localإذا قمت بتوجيه نظام أسماء النطاقات (DNS) الخاص بعملاء VPN الخاصين بك إلى جهاز التوجيه أو الخادم الذي يحل هذه الأسماء، فستتمكن من الوصول إلى أجهزتك عن طريق اسم المضيف.
تتضمن بعض برامج تشغيل أجهزة التوجيه المزودة بتقنية WireGuard مربعات اختيار مثل "السماح بالوصول عن بُعد إلى الشبكة المحلية""شبكة فرعية للوصول عن بُعد" أو ما شابه. يجب تفعيل هذه الخيارات حتى يتمكن العملاء البعيدون من الوصول إلى الشبكة الفرعية المحلية (192.168.xx) ما وراء جهاز التوجيه نفسه.
في الحالات التي يعمل فيها خادم WireGuard مضمنًا في جهاز التوجيه، فإنه غالبًا ما يسمح تصدير ملفات تعريف .conf المُعدة مسبقًا بالنسبة للأجهزة المحمولة أو أجهزة التوجيه الأخرى الخاصة بالعملاء. تتضمن هذه الملفات عادةً عنوان IP الخاص بالنفق، ونظام أسماء النطاقات الصحيح (عادةً ما يكون عنوان IP الخاص بجهاز التوجيه على شبكة VPN)، وقائمة عناوين IP المسموح بها المُكوّنة بشكل صحيح.
التحقق، واستكشاف الأخطاء وإصلاحها، والأمان
بعد استيراد الإعدادات إلى نظام أندرويد وتفعيل النفق، فإن أول ما يجب فعله هو التحقق من ذلك. تتم المصافحة بشكل صحيح.يعرض تطبيق WireGuard نفسه الحالة، وعدد البايتات المرسلة/المستلمة، والطابع الزمني لآخر مصافحة.
قم بتشغيل ما يلي على الخادم:
wg
ستجد هناك، لكل نظير، مفتاحه العام، وعنوان IP البعيد الذي يتصل منه، وآخر مصافحة، وحركة البيانات المتبادلة. إذا كان حقل "آخر مصافحة" فارغًا أو قديمًا جدًا، فهذا يعني أن العميل لا يتصل أو أن هناك ما يمنعه.
إذا لم يكن هناك اتصال، فتحقق من أن منفذ UDP (51820 أو أي منفذ آخر تستخدمه) مفتوح على جدار حماية الخادم (UFW، iptables، nftables) وعلى أي أجهزة توجيه وسيطة. إذا كان الخادم خلف جهاز توجيه منزلي، فقم بتكوين إعادة توجيه منفذ UDP من ذلك المنفذ إلى عنوان IP الداخلي للخادمقد تؤثر المشكلة على تطبيقات محددة؛ راجع دليلنا حول ماذا تفعل إذا تعطلت التطبيقات مع تفعيل VPN؟.
إذا تم فتح النفق ولكن ليس لديك إنترنت جوال، فتحقق من إعادة توجيه الحزم (net.ipv4.ip_forward واختياريا net.ipv6.conf.all.forwarding) نشطة وأن قواعد NAT تشير إلى واجهة الإخراج الصحيحة (eth0، ens3، إلخ).
تُكتشف مشاكل نظام أسماء النطاقات (DNS) عادةً عندما تتمكن من الوصول إلى عنوان IP محدد (على سبيل المثال، 1.1.1.1) ولكن لا يمكنك حل أسماء النطاقات. في هذه الحالة، تحقق من السطر نظام أسماء النطاقات = في ملف .conf الخاص بالعميل: يمكنك استخدام نظام أسماء النطاقات العام (8.8.8.8، 1.1.1.1) أو عنوان IP الخاص بنفق الخادم إذا كان يعمل كمحلل داخلي.
أما فيما يتعلق بالأمان، فإلى جانب تشفير WireGuard، هناك عدد من الممارسات الجيدة الأساسية:
- احمِ مفاتيحك الخاصةلا تقم بنسخها إلى مواقع غير آمنة أو مشاركتها مع أي شخص.
- يقيد عناوين IP المسموح بها لكل نظير: يمنح كل عميل إمكانية الوصول إلى الشبكات التي يحتاجها فقط، دون أي حرية مطلقة.
- استخدم منافذ UDP غير البسيطةيؤدي استبدال القيمة 51820 بقيمة أعلى إلى تقليل التشويش الناتج عن عمليات المسح التلقائي.
- حافظ على تحديث نظامك وبرنامج WireGuard: لصقات كل يوم.
- تصفية الوصول إلى منفذ WireGuard في جدار الحماية لتقييد من يمكنه محاولة الاتصال (عن طريق عنوان IP المصدر عندما يكون ذلك منطقيًا).
عندما يكون لديك CGNAT أو تريد شيئًا أكثر تقدمًا: قم بالتمرير عبر خادم افتراضي خاص (VPS).
إذا كان مزود الخدمة الخاص بك يستخدم تقنية CGNAT أو كنت ترغب ببساطة في فصل طبقة الوصول العامة لمنزلك، فيمكنك إعداد حل أكثر تفصيلاً ولكنه قوي للغاية: استخدم خادمًا افتراضيًا خاصًا (VPS) كنقطة مركزية وخادمك المنزلي كعميل.ثم تقوم بالاتصال بالخادم الافتراضي الخاص من خلال نظام أندرويد، ومن خلاله يمكنك الوصول إلى شبكتك المحلية.
الخطة الأساسية هي كالتالي: في السحابة تقوم بإعداد خادم WireGuard (على سبيل المثال، باستخدام Docker ومجموعة أدوات مثل linuxserver/wireguard أو مستودع مُجهز مسبقًا)، يمكنك تمكين إعادة التوجيه وNAT، وفي المنزل لديك جهاز Raspberry Pi أو جهاز كمبيوتر يعمل دائمًا والذي يتصل بهذا الخادم الافتراضي الخاص كطرف نظير. يمتلك الخادم الافتراضي الخاص عنوان IP عامًا ولا يتأثر بتقنية CGNAT، لذا يمكنك فتح المنافذ هناك دون أي مشكلة.
قد يكون سير العمل النموذجي مع Docker كالتالي:
- على الخادم الافتراضي الخاص، قم بتثبيت Docker وDocker Compose، واستنسخ مستودع تكوين WireGuard و يمكنك رفع الحاوية باستخدام الأمر `docker-compose up -d`.
- يقوم الحاوية تلقائيًا بإنشاء مفاتيح الخادم ومفاتيح العديد من النظراء (peer1، peer2...)، وحفظ ملفات .conf الخاصة بهم في مجلد التكوين.
- يمكنك تعديل ملف الخادم ليشمل خاصتك الشبكة الفرعية المنزلية (على سبيل المثال 192.168.1.0/24) في AllowedIPs قم بتحديد النظير الذي سيستخدمه جهاز Raspberry الخاص بك، وقم بتكوين iptables أو قواعد مماثلة على المضيف لتوجيه حركة المرور بين VPN وشبكتك المنزلية.
- على جهاز Raspberry Pi، قم باستنساخ نفس المستودع (أو مستودع مُجهز مسبقًا)، وقم بإنشاء ملف wg0.conf بالبيانات التي تم إنشاؤها لـ peer1، وقم بتمكين NAT المحلي (لتتمكن من إرسال حركة المرور مرة أخرى إلى الشبكة المحلية)، وقم بتشغيل عميل WireGuard في Docker أو بشكل أصلي.
ومن هناك، أي جهاز آخر (بما في ذلك جهازك) نظام أندرويد مزود بتطبيق WireGuardيمكنك استخدام أحد النظراء الإضافيين للخادم الافتراضي الخاص (النظير 2، النظير 3، إلخ) للاتصال. عمليًا، تتصل دائمًا بعنوان IP الخاص بالخادم الافتراضي الخاص، ولكنك في النهاية تصل إلى خدمات شبكتك المنزلية، حتى عبر CGNAT.
نظام WireGuard مع لوحات تحكم عبر الويب: WireGuard Easy و EasyPanel والشركات التابعة لها
إذا بدا لك كل هذا وكأنه جهاز ألعاب معقد للغاية، فهناك حلول ملائمة للغاية تقوم بإعداد لوحة تحكم عبر الويب لإدارة WireGuard بنقرة واحدةعلى سبيل المثال، يمكنك نشر تطبيق على خادم مزود بلوحة تحكم EasyPanel مثل سلك حماية سهل الاستخدام استخدم القوالب وانسَ أمر كتابة الملفات يدويًا.
عادةً ما تكون آلية العمل مع هذه اللوحات كالتالي:
- يمكنك الوصول إلى اللوحة (EasyPanel أو غيرها) باستخدام حسابك.
- تقوم بتثبيت القالب سلك حماية سهل الاستخدام، وتحديد المعلمات مثل النطاق / عنوان IP العام (WG_HOST) ومنفذ UDP وشبكة VPN الفرعية وDNS.
- يبدأ النظام تشغيل حاوية تعرض واجهة ويب محمية بكلمة مرور حيث يمكنك رؤية قائمة النظراء والإحصائيات وخيارات التكوين.
- لإضافة عميل، ما عليك سوى ملء نموذج باسمه؛ تقوم اللوحة بإنشاء المفاتيح، وتعيين عنوان IP له، وعرضه. رمز الاستجابة السريعة جاهز للمسح الضوئي باستخدام نظام أندرويدبالإضافة إلى السماح لك بتنزيل ملف .conf.
يُعد هذا الأمر في غاية السهولة في البيئات التي يستخدم فيها عدد أكبر من الأشخاص شبكة VPN (العائلة، فريق العمل، إلخ)، لأنه يمكنك تفعيل أو إلغاء الوصول في ثوانٍ دون الحاجة إلى شرح أي شيء تقني. علاوة على ذلك، إذا قمت بتثبيت WireGuard Easy على خادم افتراضي خاص (VPS)، فإنك تُركّز جميع عمليات الوصول عن بُعد إلى شبكتك المنزلية ومواقع أخرى.
WireGuard على أنظمة أخرى: Windows و macOS و Linux و iOS
على الرغم من أننا نركز هنا على نظام Android، إلا أن WireGuard يعمل بشكل جيد بنفس القدر مع أجهزة الكمبيوتر المكتبية والأجهزة المحمولة الأخرىفي نظام ويندوز، على سبيل المثال، تقوم بتنزيل البرنامج الرسمي وتثبيته، ثم تضغط على "إضافة نفقيمكنك اختيار "إضافة نفق فارغ" أو "الاستيراد من ملف"، وسيقوم البرنامج نفسه بإنشاء زوج المفاتيح لك.
تنسيق التكوين هو نفسه: كتلة تحتوي على المفتاح الخاص، العنوان، ونظام أسماء النطاقات (DNS)، وحجب باستخدام المفتاح العام للخادم، ونقطة النهاية، وعناوين IP المسموح بهابمجرد الحفظ، اضغط ببساطة على "تفعيل" لتشغيل الواجهة وبدء تدفق حركة المرور.
في نظام iOS، تكون العملية مشابهة جدًا لنظام Android: تقوم بتثبيت تطبيق WireGuard من متجر التطبيقات، وإنشاء نفق جديد، ويمكنك قم باستيراد ملف .conf أو امسح رمز الاستجابة السريعة (QR code). والتي قمت بإنشائها باستخدام qrencode أو من لوحة تحكم مثل WireGuard Easy. ثم تقوم بتفعيل النفق باستخدام مفتاح التبديل، وبذلك تكون قد دخلت بالفعل إلى شبكتك المنزلية.
على نظام لينكس المكتبي، يمكنك استخدام أداة سطر الأوامر نفسها (wg-quick up wg0أو يمكنك دمجه مع مدير الشبكة عن طريق استيراد ملف .conf من الواجهة الرسومية. كما يتوفر عميل رسمي لنظام macOS يوفر تجربة مشابهة جدًا لإصدار Windows.
في النهاية، وقد نفس البروتوكول ونظام التكوين عبر جميع المنصات إنه يبسط الحياة كثيراً: يمكنك تكرار المنطق من عميل إلى آخر عن طريق تغيير المفاتيح وعنوان IP الخاص بالنفق فقط.
باستخدام هذه المجموعة - خادم Linux أو Docker مُهيأ بشكل جيد، ودعم VPS محتمل إذا كان لديك CGNAT، ولوحات تحكم عبر الويب لتبسيط الإدارة، وتطبيق WireGuard على نظام Android - يمكنك إعداد شبكة VPN منزلية قوية وسريعة وآمنة يتيح لك ذلك الوصول إلى شبكتك المنزلية وملفاتك وخدماتك، والتصفح بشكل آمن على شبكة الواي فاي العامة دون الاعتماد على جهات خارجية أو حلول تجارية مبهمة. شارك هذه المعلومات حتى يعرف الآخرون عن الميزة الجديدة.
