OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

6.4. Rangkaian


Secara lalai LXC mencipta ruang nama rangkaian peribadi untuk setiap bekas, yang termasuk timbunan rangkaian lapisan 2. Bekas biasanya bersambung ke dunia luar dengan sama ada mempunyai NIC fizikal atau titik akhir terowong veth yang dihantar ke dalam bekas. LXC mencipta jambatan NATed, lxcbr0, pada permulaan hos. Bekas yang dibuat menggunakan konfigurasi lalai akan mempunyai satu NIC veth dengan hujung jauh dipalamkan ke jambatan lxcbr0. NIC hanya boleh wujud dalam satu ruang nama pada satu masa, jadi NIC fizikal yang dihantar ke dalam bekas tidak boleh digunakan pada hos.


Anda boleh membuat bekas tanpa ruang nama rangkaian peribadi. Dalam kes ini, bekas akan mempunyai akses kepada rangkaian hos seperti mana-mana aplikasi lain. Ambil perhatian bahawa ini amat berbahaya jika

container menjalankan pengedaran dengan pemula, seperti Ubuntu, kerana program yang bercakap dengan init, seperti penutupan, akan bercakap melalui soket domain Unix abstrak kepada pemula hos, dan menutup hos.


Untuk memberikan bekas pada lxcbr0 alamat ip yang berterusan berdasarkan nama domain, anda boleh menulis entri ke /etc/ lxc/dnsmasq.conf seperti:


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


Jika adalah wajar untuk bekas itu boleh diakses secara umum, terdapat beberapa cara untuk melakukannya. Satu adalah menggunakan

iptables untuk memajukan port hos ke bekas, contohnya


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

--ke-destinasi 10.0.3.100:587


Satu lagi ialah untuk merapatkan antara muka rangkaian hos (lihat bab Konfigurasi Rangkaian Panduan Pelayan Ubuntu, Bahagian 1.4, “Merapatkan” [m.s. 46]). Kemudian, nyatakan jambatan hos dalam fail konfigurasi kontena sebagai ganti lxcbr0, contohnya


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


Akhir sekali, anda boleh meminta LXC untuk menggunakan macvlan untuk NIC bekas. Ambil perhatian bahawa ini mempunyai had dan bergantung pada konfigurasi mungkin tidak membenarkan bekas bercakap dengan hos itu sendiri. Oleh itu dua pilihan lain lebih disukai dan lebih biasa digunakan.


Terdapat beberapa cara untuk menentukan alamat ip untuk bekas. Pertama, anda boleh menggunakan lxc-ls --fancy yang akan mencetak alamat ip untuk semua bekas yang sedang berjalan, atau lxc-info -i -H -n C1 yang akan mencetak alamat ip C1. Jika dnsmasq dipasang pada hos, anda juga boleh menambah entri ke /etc/dnsmasq.conf seperti berikut


pelayan=/lxc/10.0.3.1


selepas itu dnsmasq akan menyelesaikan C1.lxc secara tempatan, supaya anda boleh melakukan:


ping C1 ssh C1


Untuk maklumat lanjut, lihat halaman manual lxc.conf serta contoh konfigurasi rangkaian di bawah /usr/ share/doc/lxc/examples/.


Pengkomputeran Awan OS teratas di OnWorks: