Flannel: طرق خارج Flannel Networks و NAT'ing

تم إنشاؤها على ٢ نوفمبر ٢٠١٤  ·  3تعليقات  ·  مصدر: coreos/flannel

مرحبًا ، هذه مشكلة تتعلق بطلب الميزة.

أريد تشغيل حاوية حيث يوجد تراكب مدعوم من vxLAN. ولكن بالنسبة للوجهات خارج التراكب ، أريد إخراج الحاوية NAT ، على سبيل المثال إلى الإنترنت العام.

أرى ثلاث طرق للقيام بذلك:

  • واجهة الشبكة الثانية : استخدم Flannel للتراكب ، ولكن بعد ذلك قم بإنشاء netdev آخر يشبه إلى حد كبير Docker NAT الافتراضي للحاوية. ثم لا تزال حركة المرور إلى التراكب تمر عبر الفانيلا ، ويتولى المسار الافتراضي على شبكة netdev الثانية حركة مرور الإنترنت.
  • إعداد Flannel NATs : خيار تكوين لـ Flannel من نوع ما ، أضف مسارات افتراضية خارج التراكب ، وعند الخروج من التراكب ، قم بتكوين flannel NAT.
  • قم بإنشاء بوابات vxLAN : قم بإنشاء حاوية أو آلة بواجهة flannel و netdev آخر إلى NAT لـ (أو شيء من هذا القبيل). قم بتكوين المسار الافتراضي على الحاويات الأخرى للانتقال عبر مثيل NAT هذا.

أفكار؟ هل هذا في نطاق أم خارج نطاق الفانيلا؟

التعليق الأكثر فائدة

يوجد بالفعل خيار يقوم بشيء مشابه جدًا للخيار 2. إذا قمت بتشغيل flanneld باستخدام --ip-masq ، فسيتم إضافة قاعدة IP Masquerade لحركة المرور التي تخرج من الحاويات وتتجه إلى الإنترنت. بتعبير أدق ، هي حركة المرور التي نشأت داخل مساحة عنوان التراكب ولكنها متجهة خارجها.

الخيار غير موثق (بحاجة إلى إصلاح ذلك) لأنني كنت أنتظر Docker لدمج إضافة --ip-masq إلى Docker daemon. هذا يسمح للمرء بتشغيل Docker daemon بـ --ip-masq=false و flanneld بـ --ip-masq . بخلاف ذلك ، يقوم Docker أيضًا بتثبيت قاعدة تنكر IP لحركة المرور الصادرة من docker0.

يحتوي Docker 1.3 الذي تم إصداره مؤخرًا على الخيار --ip-masq .

ال 3 كومينتر

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

eyakubovich ربما يكون له رأي في هذا.

يوجد بالفعل خيار يقوم بشيء مشابه جدًا للخيار 2. إذا قمت بتشغيل flanneld باستخدام --ip-masq ، فسيتم إضافة قاعدة IP Masquerade لحركة المرور التي تخرج من الحاويات وتتجه إلى الإنترنت. بتعبير أدق ، هي حركة المرور التي نشأت داخل مساحة عنوان التراكب ولكنها متجهة خارجها.

الخيار غير موثق (بحاجة إلى إصلاح ذلك) لأنني كنت أنتظر Docker لدمج إضافة --ip-masq إلى Docker daemon. هذا يسمح للمرء بتشغيل Docker daemon بـ --ip-masq=false و flanneld بـ --ip-masq . بخلاف ذلك ، يقوم Docker أيضًا بتثبيت قاعدة تنكر IP لحركة المرور الصادرة من docker0.

يحتوي Docker 1.3 الذي تم إصداره مؤخرًا على الخيار --ip-masq .

شكرا هذا يعمل معنا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات