تمكين IP-Forwarding لـ IPv4 في دبيان جنو / لينكس

Enabling Ip Forwarding



قد يكون إنشاء شبكة كمبيوتر أمرًا صعبًا في بعض الأحيان. لحسن الحظ ، يعد تمكين إعادة توجيه IPv4 على جهاز Linux مهمة بسيطة إلى حد ما.

يصف مصطلح IP Forwarding إرسال حزمة شبكة من واجهة شبكة إلى أخرى على نفس الجهاز. يجب تمكينه عندما تريد أن يعمل نظامك كموجه ينقل حزم IP من شبكة إلى أخرى.







في نظام Linux ، يحتوي Linux kernel على متغير يسمى `ip_forward` يحافظ على هذه القيمة. يمكن الوصول إليه باستخدام الملف `/ proc / sys / net / ipv4 / ip_forward`. القيمة الافتراضية هي 0 مما يعني عدم وجود إعادة توجيه IP ، لأن المستخدم العادي الذي يقوم بتشغيل جهاز كمبيوتر واحد بدون مكونات أخرى لا يحتاج إلى ذلك عادة. في المقابل ، بالنسبة لأجهزة التوجيه والبوابات وخوادم VPN ، فهي ميزة أساسية تمامًا.



بعد ذلك ، سنشرح لك كيفية تمكين إعادة توجيه IP بشكل مؤقت ودائم.



إعادة توجيه IP كحل مؤقت

لتمكين معلمة kernel هذه أثناء التنقل ، لديك خياران. يخزن الخيار 1 ببساطة قيمة 1 في المتغير أعلاه على النحو التالي:





#رما - طرد - قذف 1 > /نسبه مئويه/sys/صافي/ipv4/ip_forward

يستخدم الخيار 2 الأمر `sysctl` الذي يسمح لك بضبط معلمات kernel المختلفة في وقت التشغيل أيضًا [2]. بصفتك مستخدمًا إداريًا ، قم بتشغيل الأمر التالي:

#sysctl-فيnet.ipv4.ip_forward =1

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



يمكنك الاستعلام عن القيمة المخزنة كما يلي:

#قط /نسبه مئويه/sys/صافي/ipv4/ip_forward

يُرجع هذا الأمر قيمة 0 لعدم إعادة توجيه IP ، وقيمة 1 لتمكين إعادة توجيه IP. كبديل ، فإن استخدام 'sysctl' يوضح لك أيضًا الحالة الحالية:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward =0
#

تمكين إعادة توجيه IP بشكل دائم

من أجل تحقيق ذلك ، يجب القيام ببعض الخطوات الأخرى. أولاً ، قم بتحرير الملف `/ etc / sysctl.conf`. ابحث عن سطر يحتوي على الإدخال # net.ipv4.ip_forward = 1 ، وقم بإزالة # في بداية السطر.

بعد ذلك ، احفظ الملف ، وقم بتشغيل الأمر `sysctl` لتمكين الإعدادات المعدلة:

#sysctl-p /إلخ/sysctl.conf

الخيار '-p' اختصار لعبارة '–load' ، ويتطلب اسمًا لملف التكوين ليتم اتباعه.

بعد ذلك ، أعد تشغيل نظام ملفات proc الذي يوفر معلومات حول حالة Linux kernel باستخدام الأمر التالي:

#/إلخ/الحرف د/إعادة تشغيل procps

في حوالي عام 2015 ، تم اختصار اسم الملف من `procps.sh` إلى` procps`. لذلك ، في أنظمة دبيان القديمة ، يُطلق على النص الذي يجب أن تستدعيه اسم 'procps.sh' بدلاً من ذلك.

التعامل مع Systemd

جاءت العقبة التالية مع إصدار Systemd الإصدار 221. يتم تعطيل إعادة توجيه IP افتراضيًا ، ويتطلب التمكين وجود ملف إضافي هناك. إذا لم يكن موجودًا بعد ، فقط قم بإضافته. يتكون اسم الملف من اسم واجهة الشبكة متبوعًا باللاحقة '. الشبكة' ، على سبيل المثال 'eth0.network' لواجهة الشبكة `/ dev / eth0`. كما هو مذكور في الوثائق [4] ، يتم تجاهل الامتدادات الأخرى.

يُظهر مقتطف الشفرة التالي إعداد واجهة الشبكة `/ dev / tun0`. يحتوي على قسمين - 'مطابقة' و 'شبكة'. في قسم Match ، حدد اسم واجهة الشبكة ، وفي قسم الشبكة ، قم بتمكين إعادة توجيه IP.

# cat /etc/systemd/network/tun0.network
[تطابق]
اسم= tun0
[شبكة الاتصال]
IPForward= ipv4

استنتاج

تنشيط إعادة توجيه IP لـ IPv4 ليس لغزا. فقط بضع خطوات ، وأنت هناك. قرصنة سعيدة!

الروابط والمراجع

* [1] إعداد Systemd-Networkd ، Debian Wiki
* [2] يورجن هاس: تعرف على أمر Linux sysctl
* [3] Systemd News للإصدار 221
* [4] التوثيق لنظام Systemd