مرحبًا ، هذه مشكلة تتعلق بطلب الميزة.
أريد تشغيل حاوية حيث يوجد تراكب مدعوم من vxLAN. ولكن بالنسبة للوجهات خارج التراكب ، أريد إخراج الحاوية NAT ، على سبيل المثال إلى الإنترنت العام.
أرى ثلاث طرق للقيام بذلك:
أفكار؟ هل هذا في نطاق أم خارج نطاق الفانيلا؟
الخيار الثاني يبدو معقولا. أشعر أنه يمكننا الاعتماد على 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
.
شكرا هذا يعمل معنا!
التعليق الأكثر فائدة
يوجد بالفعل خيار يقوم بشيء مشابه جدًا للخيار 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
.