Bagaimana cara mengatur tamu LXC sehingga mendapat alamat dhcp sehingga saya dapat mengaksesnya di jaringan saya?

15

Saya mengatur LXC menggunakan:

lxc-create -t ubuntu -n lxcguest1

Tapi saya tidak bisa mengakses layanan yang menjalankannya dari LAN saya, sepertinya itu adalah NATed. Bagaimana cara mengaturnya agar saya dapat mengaksesnya (mungkin perlu mendapatkan alamat dhcp dari router Linksys saya)?

Terima kasih.

Benjamin Bryan
sumber
Kemungkinan rangkap dari askubuntu.com/questions/256304/…
bekce

Jawaban:

5

Saya baru saja menangani masalah ini sendiri. Pada dasarnya Anda perlu mengatur jembatan dan mengikat kartu jaringan Anda dan wadah untuk itu. Inilah artikel yang saya ikuti:

http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/

Kedengarannya seperti saya, Anda membutuhkan solusi 'jembatan' daripada solusi NAT. Saya juga mematikan pengaturan jembatan LXC default (yang NAT'ed). Untuk melakukan ini cukup edit file: /etc/default/lxcdan ubah USE_LXC_BRIDGE="TRUE"ke USE_LXC_BRIDGE="FALSE"dan reboot.

pengguna108168
sumber
1
Saya sedikit bingung dengan solusi ini: dikatakan dia perlu mengatur jembatan, lalu mengatakan solusinya adalah mematikan pengaturan jembatan default. Tentunya ia harus mengaktifkan pengaturan jembatan. Hal kedua yang saya perlu bantuan adalah bahwa Pengguna mengatakan bahwa pengaturan jembatan adalah NATed, Tentunya itu dijembatani (jadi kontainer berada di jaringan yang sama dengan host) atau NATed (di jaringan yang berbeda dan memerlukan perutean). Pemahaman saya adalah bahwa ini saling eksklusif?
John Little
1
Ini semua tidak valid sekarang dengan versi saat ini. / etc / default / lx * benar-benar hilang.
spyderdyne
5

Pengaturan saya pada host Ubuntu 14.04.1 LTS (Trusty Tahr)

Tambahkan ke /etc/network/interfacespada host

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 0.0.0.0

auto br0
iface br0 inet dhcp
    bridge_ports eth0

(reboot setelah perubahan)

Dan pada file konfigurasi wadah ( /var/lib/lxc/containername/config) saya aturlxc.network.link = br0

Dengan ini kontainer akan mendapatkan alamat ip publik dari server dhcp seperti halnya host.

Epeli
sumber
@ JonathanY. Br0 akan muncul setelah menambahkannya ke / etc / network / interfaces seperti yang dinyatakan dalam jawaban. Anda mungkin perlu memulai ulang.
Epeli
3
Terima kasih. Apa yang saya hilang itu perlu untuk menambahkan <username> veth br0 2 untuk /etc/lxc/lxc-usernetuntuk menggunakan br0dengan wadah unprivileged.
Jonathan Y.
2

Saya menggunakan pengaturan default LXC Ubuntu, dan mengkonfigurasi router saya untuk mengirim semua traffic pada 10.0.3.xxx ke mesin Ubuntu. Pada router yang diaktifkan DD-WRT, pengaturannya terlihat seperti tangkapan layar di bawah ini. Ganti 192.168.1.137dengan IP mesin yang menjalankan LXC. Router lain harus memiliki opsi serupa untuk mengatur rute statis (misalnya, ini adalah petunjuk rute statis untuk Linksys ).

Pengaturan DD-WRT untuk perutean statis ke LXC

Ini tidak berhubungan, tetapi saya juga menggunakan layanan DNSMasq untuk mengarahkan nama host ke alamat IP kontainer LXC. Dengan cara ini saya dapat mengakses wadah di http://gitlab/mana saja di jaringan. Menurut pendapat saya, jauh lebih mudah menggunakan nama host untuk mengakses sebuah wadah daripada mengingat alamat IP.

Pengaturan DN-WRT DNSMasq

orang ketiga
sumber
1
Pendekatan yang bagus - coba. Jempolan! Menambahkan pekerjaan rute statis - dan router itu sendiri dapat melakukan ping mesin kemas! Tetapi dengan banyak ISP yang disediakan penerusan port penerusan tidak akan berfungsi karena: Error code: 4937 The IP address is not in the same subnet with LAN IP address. Please input another one. (router menampung subnet 192.168.xx, sedangkan LXD / LXC menggunakan subnet 10.0.xx)
stamster
1
Ya, router Anda harus menerima subnet mask agar solusi saya berfungsi. Saya suka membeli router dan menambahkan firmware after-market untuk membuat konfigurasi gila mungkin :-p
thirdender
1
Saya menggunakan MikroTik di rumah dan kantor, tetapi ini untuk satu pengaturan di mana mereka memiliki router polos yang disediakan oleh ISP. Jadi ide Anda sangat sederhana namun sangat efektif - Prinsip CIUMAN :) Saya menyukainya dan akan menggunakannya dengan pasti karena saya tidak bisa mengerti bagaimana wadah-wadah yang mereka belum punya solusi untuk mengeksposnya ke dunia luar.
stamster