Saya menjelajahi fitur LXC di Ubuntu 12.04 dan saya benar-benar ingin mengatur jaringan seperti ini:
client1: 192.168.56.101/24
lxc-host: 192.168.56.102/24
guest1 192.168.56.201/24
guest2 192.168.56.202/24
guest3 192.166.56.203/24
Saya hanya ingin jaringan "flat" di mana para tamu memiliki akses penuh ke LAN dan terlihat dari klien. Saya terbiasa menjembatani jaringan dengan libvirt / KVM, seperti yang dijelaskan di sini: http://libvirt.org/formatdomain.html#elementsNICSBridge
Di tuan rumah:
# /etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.56.102
netmask 255.255.255.0
broadcast 192.168.56.255
bridge_ports eth1
lxc.conf untuk tamu pertama:
# /var/lib/lxc/guest1/config:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up
lxc.network.hwaddr=00:16:3e:13:48:4e
lxc.network.ipv4=192.168.56.201/24
Sepertinya 192.168.56.201 tidak terlihat oleh dunia luar, yang bukan itu yang saya inginkan. Sepertinya saya harus melakukan salah satu dari ini:
1) Secara manual mengatur perutean pada host dan tamu
2) Lakukan sesuatu tipu ... buat antarmuka virtual pada host sebelumnya, dan konfigurasikan para tamu untuk menggunakannya lxc.network.type=phys
. Saya tidak tahu apakah itu akan berhasil.
Saya fokus pada Ubuntu, tetapi jawaban untuk RHEL / Fedora akan berguna juga ....
sumber
Jawaban:
Ini cukup benar — meskipun Anda melewatkan garis seperti ini:
Saya memiliki tamu LXC yang menjalankan Debian. Pertama, Anda mengatur jembatan host (cara mudah), di
/etc/network/interfaces
:Dalam kasus Anda, Anda sudah menyebutnya
br0
, dan saya sudah menyebutnyawan
. Jembatan itu bisa disebut apa saja yang Anda inginkan. Anda mendapatkan ini berfungsi lebih dulu — jika gagal, selidiki dengan (misalnya,)brctl
Kemudian konfigurasi LXC Anda diatur untuk bergabung dengan jembatan itu:
Sebagai catatan HoverHell, seseorang dengan root di wadah dapat mengubah alamat IP. Ya. Ini jembatan (alias switch Ethernet). Jika Anda ingin mencegahnya, Anda dapat menggunakan aturan firewall pada host — setidaknya dalam kasus saya, paket harus melalui iptables host.
sumber
auto
juga merupakan nilai yang valid untuklxc.network.ipv4.gateway
dan, menurut pemahaman saya, default ke IP dari jembatan yang terhubung dengan antarmuka veth.wan_phy
menghadapi internet, maka IP jembatan harus menjadi alamat IPv4 publik lain yang valid karena harus berada di subnet yang sama dengan alamat IPv4 publik lainnya yang akan saya konfigurasikan dengan tamu lxc saya, bukan? Tapi itu sepertinya sangat boros. askubuntu.com/a/884293/394569 menyarankan bahwa mengkonfigurasi alamat jembatan tidak sepenuhnya diperlukan.Saya belum masuk sepenuhnya ke LXC,
tetapi saya telah menyiapkan beberapa kontainer dengan ip statis sendiri yang menyediakan layanan internet untuk beberapa situs web saya ...
Mungkin ini bisa membantu, sesuai keinginan Anda.
Saya menjalankan beberapa kontainer, seperti itu,
PADA MESIN HOST Saya Mengedit File Host, Menambahkan Setiap Mesin Container & Host: vi / etc / hosts
setelah menyimpan ...
Sekali lagi, pada mesin host saya mengatur jaringan & jembatan ke:
di atas jaringan adalah ip router saya, untuk lan. Alamat (internal) & siaran adalah mesin host, ip internal, yang nantinya saya gunakan VHOST untuk akses internet, webservers, ftp, dll.
UNTUK KONTAINER LXC 1-4 I KONFIGURASI SETUP SEPERTI:
sekarang Container 1 IP = 192.168.1.101
saya ulangi untuk kontainer tambahan agar ada ip statis sendiri di lan ..
dalam wadah 1-4,
masuk dari tuan rumah:
& saya mengatur setiap jaringan wadah ke statis, eth0 ke:
SETIAP KONTAINER MEMILIKI IP SENDIRI, (lokal) TERSEDIA DI LAN. SAYA BISA SSH SETIAP IP LOKAL INDIVIDU, UNTUK MENGUJI MENGGUNAKAN PUTTY!
Setelah itu saya cukup yakin Anda harus mencari cara untuk menjalankannya melalui internet setelah, misalnya, vhost ke wadah ip / load balancers / proxy / dll.
Mungkin pengaturan ini dapat membantu.
sumber
iface
bait kemanual
(bukanstatic
ataudhcp
).up
,down
,dns-nameservers
Dll masih bisa digunakan di Debian dllSaya belum bermain dengan LXC, tetapi artikel ini akan membantu Anda: konfigurasi jaringan menggunakan jembatan ethernet (lihat Metode 2).
Untuk memberi Anda beberapa petunjuk tentang konfigurasi (saya berasumsi Anda sudah menginstal br0 dengan benar):
ip link add type veth
brctl addif br0 veth0
ns_exec -nm -- /bin/bash
ip link set veth1 netns PID_OF_LXC_SHELL
sumber