مقدمة

في عالم شبكات Linux، يعد التحكم في كيفية إرسال جهاز الكمبيوتر الخاص بك للبيانات أمرًا مهمًا حقًا. تتعامل معظم أنظمة التشغيل مع التوجيه تلقائيًا عبر DHCP، ولكن هناك أوقات خاصة على الخوادم أو أجهزة التوجيه أو بيئات المختبرات الأخرى حيث تحتاج إلى إخبار النظام بالمكان المحدد لإرسال حركة المرور. ويتم ذلك باستخدام ip route add الأمر.

ال ip route add جزء من قد يعمل الأمر iproute2 مجموعة، وهي مجموعة حديثة من الأدوات المساعدة لتكوين الشبكات في Linux. يسمح لك بإنشاء مسارات ثابتة: مسارات ثابتة ومحددة يدويًا لحركة مرور الشبكة.

كيف تعمل ميزة "إضافة مسار IP"؟

عندما يحتاج جهاز الكمبيوتر الخاص بك إلى إرسال حزمة، فإنه ينظر إليها جدول التوجيه. هذا الجدول عبارة عن قائمة بالقواعد التي تقول، "إذا كان عنوان IP الوجهة هو X، فأرسل الحزمة عبر البوابة Y."

ال ip route add ببساطة بإدراج قاعدة جديدة في هذا الجدول.

هنا هو المنطق خطوة بخطوة:

  1. تنفيذ الأمر: تكتب الأمر الذي يحدد الشبكة المستهدفة و بوابة (أو واجهة) للوصول إليها.
  2. تحديث النواة: تقوم نواة Linux بالتحقق من صحة الأمر وإضافة الإدخال إلى جدول التوجيه في الذاكرة.
  3. قرار التوجيه: في المرة التالية التي يتم فيها إنشاء حزمة لتلك الوجهة، تقوم النواة بمطابقتها مع قاعدتك الجديدة.
  4. إعادة التوجيه: ترسل النواة الحزمة عبر الواجهة المحددة أو إلى عنوان IP للخطوة التالية المحددة.

من المهم ملاحظة أنه بدون تكوين إضافي، غالبًا ما تكون هذه المسارات مؤقت وسوف تختفي إذا قمت بإعادة تشغيل الجهاز.

كيفية استخدام الأمر (أمثلة)

بناء الجملة الأساسي بسيط ولكنه قوي. فيما يلي الطرق الأكثر شيوعًا لاستخدامها.

1. إضافة طريق إلى شبكة محددة

لإخبار نظامك بكيفية الوصول إلى شبكة معينة (على سبيل المثال، 192.168.50.0/24) من خلال بوابة IP (192.168.1.1):

باش
sudo ip route add 192.168.50.0/24 via 192.168.1.1

> 192.168.50.0/24: الشبكة الوجهة التي تريد الوصول إليها.<br> > via 192.168.1.1: جهاز التوجيه "الخطوة التالية" الذي يعرف كيفية الوصول إلى هناك.


  1. إضافة مسار عبر واجهة محددة

في بعض الأحيان لا تحتاج إلى عنوان IP للبوابة، بل تحتاج فقط إلى واجهة (مثل نفق VPN):

باش
sudo ip route add 10.8.0.0/16 dev tun0
  • dev tun0: قوات المرور ل 10.8.0.0/16 من tun0 الواجهة مباشرة.

3. إضافة طريق مضيف محدد

لإنشاء طريق ل منفردة عنوان IP بدلاً من الشبكة بأكملها:

باش
sudo ip route add 8.8.8.8 via 192.168.1.254

هذا يفرض حركة المرور ل 8.8.8.8 (Google DNS) للمرور عبر بوابة مختلفة عن حركة المرور الرئيسية على الإنترنت.

4. تغيير البوابة الافتراضية

البوابة الافتراضية هي مسار "التقاط الكل" لحركة مرور الإنترنت. لتغييره يدويًا:

باش
sudo ip route add default via 192.168.1.1

تطبيقات ip route add

لماذا تضيف المسارات يدويًا إذا كان جهاز التوجيه قادرًا على التعامل معها؟

  • تكوين VPN: عند الاتصال بشبكة VPN، يستخدم البرنامج ip route add لإجبار حركة المرور الموجهة إلى مكتب الشركة على المرور عبر النفق المشفر (tun0) بدلاً من شبكة WiFi العادية.
  • خوادم ثنائية المنزل: تحتاج الخوادم التي تحتوي على بطاقتي شبكة (على سبيل المثال، واحدة للإنترنت والأخرى للنسخ الاحتياطي المستمر) إلى مسارات ثابتة لضمان بقاء حركة المرور الاحتياطية على الشبكة الخاصة والسريعة.
  • الاختبارات والمختبرات: غالبًا ما يقوم مهندسو الشبكات ببناء مختبرات افتراضية. تسمح لهم المسارات الثابتة بمحاكاة طبولوجيا الشبكة المعقدة على جهاز كمبيوتر محمول واحد.
  • العزل الأمني: يمكنك توجيه حركة المرور إلى الوجهات الحساسة من خلال جدار حماية محدد أو بوابة آمنة، مما يؤدي إلى إنشاء "مسار نظيف" للبيانات المهمة.

لماذا هو مهم؟

أهمية ip route add يكمن في التحكم الدقيق.

تعد بروتوكولات التوجيه الديناميكي رائعة للشبكات الكبيرة، لكنها "صاخبة" ومعقدة. التوجيه الثابت صامت ودقيق. على خادم Linux، لا ترغب في تشغيل برامج توجيه ثقيلة فقط للوصول إلى خادم نسخ احتياطي محدد. ip route add هي الأداة الجراحية لهذه المهمة.

وهي أيضًا الأداة الأساسية لـ استكشاف الأخطاء وإصلاحها. إذا لم يتمكن الخادم من الوصول إلى الإنترنت، فتحقق من جدول التوجيه (ip route show) وإضافة مسارات مؤقتة هي أسرع طريقة لتشخيص ما إذا كانت المشكلة عبارة عن بوابة سيئة أو شبكة تم تكوينها بشكل خاطئ.

المزايا

  • البساطة: لا توجد بروتوكولات معقدة لتكوينها؛ أمر واحد فقط.
  • لا النفقات العامة: يستخدم صفر وحدة المعالجة المركزية أو النطاق الترددي، على عكس بروتوكولات التوجيه الديناميكي.
  • الأمن: الطرق معروفة وثابتة؛ لا يمكن انتحال حركة المرور أو إعادة توجيهها بواسطة جهاز توجيه محتال.
  • القدرة على التنبؤ: المسار هو نفسه دائمًا، مما يجعل تصحيح الأخطاء أسهل.

العيوب

  • الصيانة اليدوية: إذا تغيرت تضاريس الشبكة (على سبيل المثال، تغير عنوان IP للبوابة)، فيجب عليك تحديث كل خادم يدويًا.
  • غير قابلة للتطوير: من المستحيل إدارة مئات الأجهزة؛ تخيل كتابة الأوامر على 500 خادم في كل مرة يتغير فيها المسار.
  • لا يوجد تكرار: إذا سقطت البوابة فإن الطريق ميت. لن يجد النظام تلقائيًا مسارًا احتياطيًا.
  • سريع الزوال: بشكل افتراضي، يتم فقدان المسارات عند إعادة التشغيل. يجب عليك إضافتها إلى ملفات تكوين الشبكة (مثل Netplan أو /etc/network/interfaces) لجعلها دائمة .

الفرق بين ip route و route

قد ترى برامج تعليمية قديمة تستخدم route الأمر. وهنا لماذا يجب عليك تجنب ذلك.

ميزة ip route (حديث) route (تراث)
الباقة جزء من iproute2. جزء من net-tools.
الحالة المعيار الحالي، تمت صيانته بنشاط. مهجور، لا تتم صيانته في الغالب.
القدرات يدعم التوجيه المعقد (توجيه السياسة، الجداول المتعددة). التوجيه الأساسي فقط.
الإخراج موجز وسريع وصديق للنص. مطول وأبطأ.
بناء الجملة ip route add ... route add ...

خاتمة

ال ip route add أداة بسيطة مخادعة تفتح الإمكانات الكاملة لشبكات Linux. فهو يسمح للمسؤولين بتجاوز السلوكيات الافتراضية وتحديد كيفية تدفق حركة المرور عبر أنظمتهم بالضبط. الأمر

على الرغم من أن التوجيه اليدوي غير قابل للتوسع على الإنترنت بالكامل، إلا أنه يمثل حجر الأساس لتكوين الخادم والشبكات الافتراضية الخاصة (VPN) وتصميم الشبكة الآمنة. يعد إتقان هذا الأمر بمثابة طقوس مرور لأي محترف في Linux، مما يمنحك القدرة على توجيه البيانات بدقة وثقة.