الرجوع إلى قائمة المقالات

صلاحية لكل فنّي: مفتاح خاص ونطاق محدّد داخل النفق

VPN للفنّيين: صلاحية محدودة لكل شخص — دليل عملي | مرام هوست - صلاحية لكل فنّي: مفتاح خاص ونطاق محدّد داخل النفق

عندك ثلاثة فنّيين. أحدهم مسؤول عن أبراج المنصور، والثاني عن الشعلة، والثالث جديد عندك منذ أسبوعين. وكلهم يستعملون الآن الحساب نفسه وكلمة المرور نفسها للدخول إلى كل راوتر في شبكتك.

وحين يغادر أحدهم، أمامك خياران: أن تغيّر كلمة المرور على كل جهاز في كل برج، أو ألّا تفعل شيئاً وتنساها. وأنت تعرف أيّهما يحدث عملياً.

الحلّ ليس في كلمات مرور أكثر. الحلّ أن يكون لكل فنّي مفتاحه الخاص ونطاقه المحدّد داخل النفق.

كل ما في هذه السلسلة مُنفَّذ فعلاً. بنينا المختبر على سيرفر Proxmox VE: خادم WireGuard على حاوية، وراوتر MikroTik RouterOS 7 على جهاز افتراضي يمثّل برجاً، وشبكة أجهزة سكتر خلفه. كل مخرج أمر في هذه المقالات مأخوذ من ذلك المختبر حرفياً — وقد استبدلنا العناوين العامة الحقيقية بعناوين التوثيق المخصّصة لهذا الغرض (RFC 5737) حفاظاً على أمان السيرفر.

المبدأ: المفتاح يفتح الباب، والقاعدة تحدّد الغرف

في WireGuard لكل شخص زوج مفاتيح خاص به. وسحب صلاحية أي شخص هو حذف سطر واحد على الخادم — لا لمس أي جهاز في أي برج.

مخطط يوضّح ثلاثة فنّيين لكل منهم عنوان في شبكة النفق ونطاق مختلف من الأجهزة المسموح له بها
كل فنّي يدخل النفق بمفتاحه — ثم تحدّد القاعدة ماذا يرى داخله

الخطوة 1: مفتاح لكل شخص

على حاسبة الفنّي — لا عندك:

umask 077
wg genkey | tee ~/tech-ali.key | wg pubkey > ~/tech-ali.pub
cat ~/tech-ali.pub

المفتاح الخاص لا يغادر حاسبة صاحبه أبداً. هو يرسل لك المفتاح العام فقط — وهو نصّ غير سرّي يمكن إرساله في أي وسيلة. هذا وحده يرفع أمانك فوق أي نظام يعتمد كلمات مرور مشتركة، لأنك ببساطة لا تملك مفتاح أحد.

الخطوة 2: خطة عناوين للأشخاص

احجز نطاقاً واضحاً داخل شبكة النفق للأشخاص، منفصلاً عن نطاق الأجهزة:

النطاقلمنمثال
10.8.0.1خادم النفق—
10.8.0.2 – 10.8.0.49رواتر الأبراجالمنصور .2 · الشعلة .3
10.8.0.50 – 10.8.0.59أنت والإدارةحاسبتك .50 · هاتفك .51
10.8.0.60 – 10.8.0.99الفنّيونعلي .60 · حسن .61

الفائدة أن القواعد تصبح مقروءة: من رأى 10.8.0.6x في سجلٍّ عرف فوراً أنه فنّي.

الخطوة 3: أضف الفنّي كنظير

wg set wg0 peer <المفتاح العام لعلي> allowed-ips 10.8.0.60/32
wg-quick save wg0

ثم أرسل له ملف إعداد بهذا الشكل:

[Interface]
PrivateKey = <مفتاحه الخاص — هو يضعه بنفسه>
Address    = 10.8.0.60/24

[Peer]
PublicKey           = <المفتاح العام للخادم>
Endpoint            = vpn.example.com:51820
AllowedIPs          = 10.8.0.0/24, 192.168.88.0/24
PersistentKeepalive = 25

AllowedIPs عند الفنّي ليست حماية. هي تقول لحاسبته «ما الذي تُرسله عبر النفق»، ولا شيء يمنعه من تعديلها بنفسه. الحماية الحقيقية على الخادم وحده — وهي الخطوة التالية.

الخطوة 4: هنا الحماية الفعلية — قاعدة على الخادم

ثلاثة أسطر تحصر علياً ببرجه:

# سلسلة خاصة بصلاحيات النفق
iptables -N VPN-SCOPE
iptables -I FORWARD 1 -i wg0 -o wg0 -j VPN-SCOPE

# علي: برج المنصور وراوتره فقط
iptables -A VPN-SCOPE -s 10.8.0.60/32 -d 192.168.88.0/24 -j ACCEPT
iptables -A VPN-SCOPE -s 10.8.0.60/32 -d 10.8.0.2/32     -j ACCEPT
iptables -A VPN-SCOPE -s 10.8.0.60/32 -j REJECT --reject-with icmp-admin-prohibited

# وحسن: الشعلة فقط
iptables -A VPN-SCOPE -s 10.8.0.61/32 -d 192.168.89.0/24 -j ACCEPT
iptables -A VPN-SCOPE -s 10.8.0.61/32 -d 10.8.0.3/32     -j ACCEPT
iptables -A VPN-SCOPE -s 10.8.0.61/32 -j REJECT --reject-with icmp-admin-prohibited

iptables -A VPN-SCOPE -j RETURN

لاحظ ترتيب الأسطر لكل شخص: سماحان ثم منع عام. وهذه الصيغة — «اسمح بما يخصّه ثم امنع الباقي» — أأمن بكثير من «امنع ما لا يخصّه»، لأنك حين تضيف برجاً جديداً لا يراه أحد تلقائياً حتى تسمح له صراحةً.

ولماذا REJECT لا DROP؟

لأن REJECT يعطي الفنّي جواباً فورياً «ممنوع» بدل أن ينتظر مهلة الاتصال ويظنّ أن البرج معطّل فيتصل بك. وهذا فرق عملي في يومك لا في أمانك.

الخطوة 5: الاختبار — قبل وبعد

من حاسبة الفنّي نفسها، وبلا أي تغيير عنده:

مخرجات من حاسبة فنّي تُظهر وصولاً إلى كل الأبراج قبل تطبيق القاعدة، ثم وصولاً إلى برجه وحده بعدها، مع عدّادات القواعد
قبل القاعدة يرى البرجين. بعدها يرى برجه كاملاً والآخر محجوب — والعدّادات تُثبت ذلك

الخطوة 6: ثبّت القواعد حتى لا تختفي بعد إعادة التشغيل

apt install -y iptables-persistent
netfilter-persistent save

وإلا فستعود شبكتك مفتوحة على مصراعيها بعد أول إعادة تشغيل، وأنت تظنّها محكمة.

سحب الصلاحية: سطر واحد

غادر الفنّي؟

wg set wg0 peer <مفتاحه العام> remove
wg-quick save wg0

انتهى. لا تغيير كلمات مرور، ولا نزول إلى أي برج، ولا قلق من جهاز نسيته. ولهذا وحده تستحقّ هذه البنية عناء إعدادها.

من فعل ماذا؟

الصلاحية نصف المسألة، والسجلّ نصفها الآخر. على كل راوتر MikroTik:

/system/logging/add topics=system,info,account action=memory
/log/print where message~"logged in"

ولأن لكل فنّي عنواناً ثابتاً داخل النفق، سيظهر في السجلّ من دخل ومتى ومن أي عنوان — لا «admin» مجهول الهوية. وهذا فرق جوهري حين يتعطّل شيء بعد تعديل ولا أحد يتذكّر من عدّله.

حالات خاصة تصادفك

الحالةالمعالجة
فنّي يغطّي برجين مؤقتاًأضف سطر سماح ثانياً له، واحذفه حين تنتهي المهمة
مقاول خارجي ليوم واحدنظير مؤقّت + تذكير بحذفه — أو احذفه مساءً بمهمّة مجدولة
فنّي يحتاج المشاهدة بلا تعديلحساب read على الراوتر نفسه، فوق تحديد النطاق
هاتف الفنّي لا حاسبتهنظير ثانٍ بعنوان مختلف — لا تشارك المفتاح بين جهازين
فنّي فقد حاسبتهاحذف نظيره فوراً ثم أنشئ مفتاحاً جديداً

أخطاء شائعة وحلولها

العَرَضالسببالحل
القاعدة مضافة والفنّي ما زال يرى كل شيءسلسلة VPN-SCOPE غير مربوطة بـFORWARDiptables -I FORWARD 1 -i wg0 -o wg0 -j VPN-SCOPE
الفنّي لا يصل إلى شيء إطلاقاًالمنع العام قبل السماحرتّب: سماح ثم منع
القواعد اختفت بعد إعادة التشغيللم تُحفظnetfilter-persistent save
الفنّي يصل إلى الراوتر ولا يصل إلى السكتراتنسيت نطاق أجهزة البرج في السماحأضف 192.168.88.0/24
فنّيان بالمفتاح نفسهنُسخ الملف كما هومفتاح لكل شخص — وإلا فلا معنى للسجلّ
عدّاد REJECT يزيد بلا سببالفنّي يفحص نطاقات ليست لهاسأله — هذه معلومة مفيدة لا خلل

أسئلة شائعة

كم فنّياً يتحمّل خادم النفق؟

مئات. حركة الإدارة صغيرة جداً، والحدّ عملي: كم قاعدة تستطيع أن تتابعها بوضوح.

هل أستطيع ربط هذا بنظام موارد بشرية أو دليل مستخدمين؟

ممكن، لكن لا تبدأ به. ابدأ بملف واحد فيه الاسم والمفتاح والنطاق والتاريخ — وهو يكفي لعشرة فنّيين ولا يتعطّل أبداً.

ماذا لو نسخ الفنّي إعداده إلى حاسبة أخرى؟

سيعمل — والمفتاح هوية لا جهاز. لهذا اجعل الملف على جهاز يملكه العمل، وسجّل في عقده أن مشاركة المفتاح مخالفة. وعملياً: راقب تغيّر endpoint في wg show.

هل يرى الفنّي شبكة المشتركين؟

لا — ما لم تسمح له صراحةً. وهذا ما بنيناه في الجزء الخامس.

وهل يستطيع فنّي الوصول إلى فنّي آخر داخل النفق؟

مع القواعد أعلاه لا: قاعدة المنع العام لكل فنّي تشمل بقية عناوين النفق أيضاً.

الخطوة التالية

بنينا شبكة إدارة مقسّمة ومحكمة. بقي السؤال الذي يخاف منه الجميع: ماذا لو انقطع النفق نفسه؟ في الجزء السابع نشخّص العطل في دقيقة، ونبني منفذ إنقاذ يفتحه الراوتر بنفسه ثم يغلقه بنفسه.

هذه المقالة من سلسلة «أدر شبكتك من مكتبك» — بناء شبكة إدارة عن بُعد لمزوّدي الإنترنت ومكاتب الشبكات: ١. لماذا VPN أصلاً · ٢. خادم WireGuard · ٣. اربط راوتر البرج · ٤. أجهزة السكتر خلف الراوتر · ٥. اعزل شبكة المشتركين · ٦. صلاحية لكل فنّي · ٧. حين ينقطع النفق

Powered by WHMCompleteSolution