Ok, jadi saya ingin tahu bagaimana melakukan networking pada wadah LXC. Bukan hanya jenis informasi samar yang Anda dapatkan dari situs web lain, tetapi panduan pemula yang benar untuk membuatnya bekerja .. Karena sebagian besar contoh pada dasarnya adalah pengaturan untuk orang-orang untuk diuji, saya ingin menjalankan layanan pada satu ... seperti sebuah server web misalnya.
Saya menjalankan Ubuntu 12.04 LTS dan saya telah menginstal LXC dan saya dapat membuat, memulai dan menghentikan sebuah wadah. Server saya jelas memiliki IP yang menghadap publik dan saya ingin tahu cara mengatur wadah sehingga juga dapat memiliki IP publik. Karena tampaknya sudah ada jembatan di tempat dari wadah saya saat ini, sepertinya saya juga perlu memberikan kisaran DHCP yang umum untuk mereka untuk bekerja atau secara manual memberikan alamat IP statis ke wadah saya.
Jika saya ingin menetapkan IP secara statis ke wadah, bagaimana saya melakukannya? Apakah saya perlu melakukan perubahan pada konfigurasi jembatan saya pada tuan rumah? Apakah sebenarnya lebih baik melakukannya dengan opsi MACVLAN?
Bantuan apa pun akan dihargai.
Jawaban:
Pendekatan saya mengasumsikan bahwa server Anda memiliki NIC tunggal, dan Anda perlu membagikan NIC itu antara tuan rumah dan tamu LXC. Ini melibatkan menggunakan jembatan. Jembatan memiliki dan mengelola
eth0
. Tuan rumah sekarang mengkonfigurasi jaringannya sendiribr0
sebagai gantieth0
. Para tamu LXC dikonfigurasi untuk terhubung ke jembatan.Di tuan rumah
sudo apt-get install bridge-utils
,.Di tuan rumah, ganti
eth0
dengan jembatan:Ini berbahaya. Dapatkan ini salah dan Anda bisa dikunci dari server Anda. Pastikan login lokal diaktifkan dan akses konsol lokal berfungsi, sehingga Anda dapat mengembalikan perubahan ini jika Anda memiliki masalah.
Di
/etc/network/interfaces
:auto eth0
denganauto br0
.Menggantikan:
dengan:
Jika Anda memiliki konfigurasi jaringan statis, maka Anda akan mengganti:
dengan:
Anda hanya mengubah
eth0
untukbr0
dan menambahkanbridge_ports eth0
line.Nyalakan ulang host. Jika Anda melakukan ini secara lokal, maka jalankan
sudo ifdown eth0
sebelum Anda mulai, dansudo ifup br0
setelah itu juga akan melakukannya. Perhatikan bahwa jembatan dapat membutuhkan sedikit waktu untuk muncul, jadi berikan lima menit setelah reboot sebelum Anda menganggap bahwa semuanya hilang.Untuk memindahkan wadah bernama LXC yang diberikan ke IP publik:
/var/lib/lxc/container_name/config
lxc.network.link
br0
/var/lib/lxc/container_name/rootfs/etc/network/interfaces
eth0
Untuk mengubah default untuk wadah LXC baru, edit
/etc/lxc/default.conf
pada host dan ubahlxc.network.link
kebr0
.Jika Anda tidak memerlukan jembatan NAT yang disediakan LXC sama sekali (mis. Semua wadah Anda akan menggunakan jembatan baru sebagai gantinya), maka pada host edit
/etc/default/lxc
dan ubahUSE_LXC_BRIDGE
ke"false"
, dan kemudian pada host berjalansudo service lxc restart
.sumber
Robie, terima kasih banyak untuk memposting jawaban ini, saya telah berusaha keras untuk mendapatkan ini dan ini adalah satu-satunya metode yang berhasil!
Saya pikir saya harus menyebutkan beberapa hal yang saya temukan untuk membantu memperjelas instruksi untuk admin lainnya.
Tuan rumah saya memiliki beberapa alias ip statis yang ditugaskan ke eth0 pada tamu, misalnya:
Sekarang kami tidak ingin mengatur br0 dengan cara yang sama, kami hanya ingin satu IP tanpa alias seperti yang ditunjukkan Robie di atas.
Jadi katakanlah Anda ingin 5.5.5.5 ditugaskan ke wadah debian8.
Edit
/var/lib/lxc/debian8/etc/network/interfaces
dan tambahkan:Kemudian terbitkan perintah ini:
route add default gw <gateway-ip, in my case 5.5.5.1>
Setelah itu, reboot wadah dan semuanya akhirnya bekerja! :)
sumber
Saya memiliki masalah yang sama dan saya punya solusi ini (cepat dan kotor).
Di server:
route add -host 194.99.99.99 gw 10.255.255.100 dev lxdbr0
Juga, jika perlu tambahkan rute ke router hulu.
Mungkin, bukan solusi terbaik tetapi tidak membutuhkan usaha keras! Tepuk tangan.
sumber