استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

6.4. الشبكات


بشكل افتراضي ، يُنشئ LXC مساحة اسم شبكة خاصة لكل حاوية ، والتي تتضمن مكدس شبكة من الطبقة 2. عادة ما تتصل الحاويات بالعالم الخارجي إما عن طريق وجود بطاقة واجهة شبكة (NIC) فعلية أو نقطة نهاية نفق veth يتم تمريرها في الحاوية. ينشئ LXC جسر NATed ، lxcbr0 ، عند بدء تشغيل المضيف. ستحتوي الحاويات التي تم إنشاؤها باستخدام التكوين الافتراضي على بطاقة واجهة شبكة واحدة مع توصيل الطرف البعيد بجسر lxcbr0. يمكن أن يوجد NIC فقط في مساحة اسم واحدة في كل مرة ، لذا فإن بطاقة NIC الفعلية التي تم تمريرها في الحاوية غير قابلة للاستخدام على المضيف.


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

تقوم الحاوية بتشغيل توزيع مع مغرور ، مثل Ubuntu ، لأن البرامج التي تتحدث إلى init ، مثل إغلاق، سيتحدث عبر مقبس مجال Unix المجرد إلى المضيف المبتدئ ، ويغلق المضيف.


لإعطاء الحاويات على lxcbr0 عنوان IP ثابتًا بناءً على اسم المجال ، يمكنك كتابة إدخالات إلى / etc / lxc / dnsmasq.conf مثل:


dhcp-host = lxcmail، 10.0.3.100 dhcp-host = ttrss، 10.0.3.101


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

iptables لإعادة توجيه منافذ المضيف إلى الحاوية ، على سبيل المثال


iptables -t nat -A PREROUTING -p tcp -i eth0 -dport 587 -j DNAT

--إلى الوجهة 10.0.3.100:587


وهناك طريقة أخرى تتمثل في ربط واجهات الشبكة الخاصة بالمضيف (راجع فصل تكوين الشبكة في دليل خادم Ubuntu ، القسم 1.4 ، "الجسور" [ص 46]). بعد ذلك ، حدد جسر المضيف في ملف تكوين الحاوية بدلاً من lxcbr0 ، على سبيل المثال


lxc.network.type = veth lxc.network.link = br0


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


هناك عدة طرق لتحديد عنوان IP للحاوية. أولا ، يمكنك استخدام lxc-ls - خيالي والتي ستطبع عناوين IP لجميع الحاويات قيد التشغيل ، أو معلومات lxc -i -H -n C1 والتي ستطبع عنوان IP الخاص بـ C1. إذا تم تثبيت dnsmasq على المضيف ، فيمكنك أيضًا إضافة إدخال إلى /etc/dnsmasq.conf كما يلي


الخادم = / lxc / 10.0.3.1


وبعد ذلك سيعمل dnsmasq على حل C1.lxc محليًا ، بحيث يمكنك القيام بما يلي:


بينغ C1 ssh C1


لمزيد من المعلومات ، راجع صفحة إدارة lxc.conf بالإضافة إلى أمثلة تكوينات الشبكة ضمن / usr / share / doc / lxc / أمثلة /.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: