شروحات الكمبيوتر والإنترنت والموبايل

تجنب حلقة التوجيه مع iptables عند استخدام بروكسي محلي

عند إعداد وكيل أمامي محلي مثل mitmproxy، قد يواجه المستخدمون مشكلة تتعلق بحدوث حلقة إعادة توجيه غير منتهية. تعد هذه المشكلة شائعة عند استخدام أدوات مثل iptables لإعادة توجيه حركة المرور. في هذا المقال، سنتناول كيفية منع حدوث حلقة إعادة التوجيه أثناء استخدام iptables مع الوكلاء المحليين، بالإضافة إلى بعض الأساليب التي قد تساعدك في تخطي هذه العقبة.

فهم حلقة إعادة التوجيه

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

الأسلوب القائم على العلامات

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

على سبيل المثال، يمكنك إعداد القاعدة التالية في iptables:

iptables -t nat -A OUTPUT -p tcp -m mark ! --mark 1 --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A OUTPUT -p tcp -m mark ! --mark 1 --dport 443 -j REDIRECT --to-port 8080

بهذه الطريقة، إذا كانت الحزمة لم يتم وضع علامة عليها، سيتم توجيهها إلى منفذ 8080. بعد ذلك، يمكنك وضع علامة الفحص بطريقة تمنع إعادة توجيهها مرة أخرى:

iptables -t mangle -A POSTROUTING -p tcp -j CONNMARK --set-mark 1

التخلص من حلقات إعادة التوجيه

لحذف قواعد العلامة وإزالة أي إعدادات قد تتسبب في حلقة إعادة التوجيه، يمكنك تنفيذ الأوامر التالية:

iptables -t nat -D OUTPUT -p tcp -m mark ! --mark 1 --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -D OUTPUT -p tcp -m mark ! --mark 1 --dport 443 -j REDIRECT --to-port 8080
iptables -t mangle -D POSTROUTING -p tcp -j CONNMARK --set-mark 1

النهج القائم على TTL

بدلاً من استخدام العلامات، يمكنك استخدام خاصية TTL (Time to Live) للحزم. يقوم هذا النهج بإعادة توجيه الحزمة إلى الوكيل إذا كان TTL لها أكبر من قيمة معينة، مما يقلل من فرصة حدوث حلقة إعادة توجيه. إليك كيفية إعداد هذا الأسلوب:

iptables -t nat -A OUTPUT -p tcp -m ttl --ttl-gt $TTL_SIZE --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A OUTPUT -p tcp -m ttl --ttl-gt $TTL_SIZE --dport 443 -j REDIRECT --to-port 8080

هل تحتاج إلى حذف قواعد TTL؟ يمكنك استخدام الأوامر التالية:

iptables -t nat -D OUTPUT -p tcp -m ttl --ttl-gt $TTL_SIZE --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -D OUTPUT -p tcp -m ttl --ttl-gt $TTL_SIZE --dport 443 -j REDIRECT --to-port 8080

الخاتمة

تجنب حلقة إعادة التوجيه عند استخدام iptables مع وكيل محلي يمكن أن يكون تحديًا، ولكن من خلال تنفيذ الأساليب الصحيحة، يمكن تخطي هذا التحدي بسهولة. سواءً اخترت استخدام العلامات أو تقنيات TTL، فإن الفهم الجيد للقواعد وإعدادها بدقة سيكون له تأثير كبير على نجاح إعداداتك. تأكد من اختبار الحلول بشكل متكرر لضمان أن حركة المرور تسير بسلاسة دون مشاكل إعادة التوجيه.

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!

يستخدم موقعنا ملفات تعريف الارتباط لجمع معلومات حول زيارتك بهدف تحسين موقعنا (من خلال التحليل)، وعرض محتوى وسائل التواصل الاجتماعي والإعلانات ذات الصلة. يرجى الاطلاع على صفحة سياسة الخصوصية لمزيد من التفاصيل، أو الموافقة من خلال النقر على زر "قبول".

إعدادات ملفات تعريف الارتباط  

فيما يلي يمكنك اختيار نوع ملفات تعريف الارتباط التي تسمح بها على هذا الموقع. انقر على زر "حفظ إعدادات ملفات تعريف الارتباط" لتطبيق اختيارك.

ملفات ضرورية.يستخدم موقعنا ملفات تعريف الارتباط الوظيفية. هذه الملفات ضرورية لعمل موقعنا بشكل صحيح.

تحليل.يستخدم موقعنا ملفات تعريف الارتباط التحليلية لتمكيننا من تحليل موقعنا وتحسينه لأغراض مثل تحسين تجربة المستخدم.

وسائل التواصل الاجتماعي.يضع موقعنا ملفات تعريف الارتباط الخاصة بوسائل التواصل الاجتماعي لعرض محتوى من جهات خارجية مثل يوتيوب وفيسبوك. قد تقوم هذه الملفات بتتبع بياناتك الشخصية.

إعلانات.يضع موقعنا ملفات تعريف الارتباط الإعلانية لعرض إعلانات من جهات خارجية بناءً على اهتماماتك. قد تقوم هذه الملفات بتتبع بياناتك الشخصية.

أخرى.يضع موقعنا ملفات تعريف الارتباط من جهات خارجية أخرى ليست تحليلية أو خاصة بوسائل التواصل الاجتماعي أو الإعلانات.