konfigurace síťování pro lxc kontejnery
Miroslav Lednicky
miroslav.lednicky na fnusa.cz
Úterý Květen 13 23:22:42 CEST 2014
Ahoj,
neznam, bohuzel, Gentoo a jeho konfigurace interface, takze nemuzu
poradit, co kam napsat.
Je zde videt jeden zasadni rozdil mezi tim, jak to mas udelane
na Centosu (lituji cloveka, ktery rozchazel LXC na Centosu ;-)
a mezi tim, jak to mas udelane na tom gentoo.
Centos:
je zde bridge virbr0 na nem IP 192.168.122.1, v tomto bridge jsou
vsechny veth interface LXC, ale NENI tam eth0.
Gentoo:
je zde bridge br0 a v nem enp2s0. A to je velky rozdil.
Jakmile po nastartovani naskoci LXC, tak si pres bridge leasnou
IP z centralniho DHCP. Gentoo se na net nedostane.
Nevim, co je tvym cilem. Pokud chces mit LXC izolovane od zbytku
site a provozovat je pouze s internimi IP, nemuze byt soucasti
toho bridge interface enp2s0.
Pokud chces mit ty LXC zapojeny primo do LAN, ve ktere je i enp2s0,
pak musis mit nahozen br0, na nem DHCP klienta a soucasti bridge bude
i interface enp2s0, ale bez vlastni IP adresy.
Jakmile naskoci LXC, tak si leasnou IP z centralniho DHCP a dostanou
se primo do LAN.
Jak to napsat do konfigurace v gentoo, to uz si musis najit nekde
na netu.
Osobne pouzivam Ubuntu server nebo Debian. Pro pokusy s LXC bych
doporucil predevsim distribuci Ubuntu.
Urcite to bude chtit trochu samostudia o bridge v Linuxu. ;-)
Preji uspesne testovani.
Mirek
Dne 13.5.2014 23:02, Tomas Vondra napsal(a):
> On 13.5.2014 06:59, Miroslav Lednicky wrote:
>> Ahoj,
>>
>> neni spatne vedet jakou pouzivas distribuci a jestli pouzivas lxc
>> tools nebo libvirt.
>
> Používám gentoo s lxc (bez libvirt). Konfiguraci jsem se snažil okoukat
> ze stroje s CentOS 6.5, na kterém je nahozeno několik kontejnerů přes
> libvirt_lxc.
>
>>
>> V kazdem pripade IP toho stroje musi byt na br0 interface, pokud je
>> tento interface take soucasti bridge br0.
>
> Nerozumím co se myslí tím "IP stroje musí být na br0 interface" (co se
> síťování týká jsem lama, bridging jsem nikdy nenastavoval). Navíc jak
> jsem psal - snažím se opisovat z funkčního systému, na kterém je to takhle:
>
> ========= ifconfig (centos + libvirt + 3 lxc kontejnery) =========
> eth0 Link encap:Ethernet HWadr 00:15:C5:F4:A5:9E
> inet adr:140.31.232.170 Všesměr:140.31.232.191 Maska:255.255.255.224
>
> lo Link encap:Místní smyčka
> inet adr:127.0.0.1 Maska:255.0.0.0
> inet6-adr: ::1/128 Rozsah:Počítač
>
> veth0 Link encap:Ethernet HWadr 2A:81:C1:FC:EC:40
>
> veth1 Link encap:Ethernet HWadr FA:B2:4F:5F:77:77
>
> veth2 Link encap:Ethernet HWadr B2:32:18:A4:13:58
>
> virbr0 Link encap:Ethernet HWadr 2A:81:C1:FC:EC:40
> inet adr:192.168.122.1 Všesměr:192.168.122.255 Maska:255.255.255.0
> ========================================================================
>
>
> Tady jsou informace z mého systému:
>
>
> ================== ifconfig před nastartováním bridge ==================
>
> enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> inet 192.168.1.163 netmask 255.255.255.0 broadcast 192.168.1.255
> inet6 fe80::76d4:35ff:fe4f:4ad1 prefixlen 64 scopeid 0x20<link>
> ether 74:d4:35:4f:4a:d1 txqueuelen 1000 (Ethernet)
> RX packets 2100749 bytes 3077078889 (2.8 GiB)
> RX errors 0 dropped 1 overruns 0 frame 0
> TX packets 1089634 bytes 85287475 (81.3 MiB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
>
> lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
> inet 127.0.0.1 netmask 255.0.0.0
> inet6 ::1 prefixlen 128 scopeid 0x10<host>
> loop txqueuelen 0 (Local Loopback)
> RX packets 3239 bytes 684835 (668.7 KiB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 3239 bytes 684835 (668.7 KiB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
>
> ================== ifconfig po nastartování bridge ==================
>
> br0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
> inet 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255
> inet6 fe80::76d4:35ff:fe4f:4ad1 prefixlen 64 scopeid 0x20<link>
> ether 74:d4:35:4f:4a:d1 txqueuelen 0 (Ethernet)
> RX packets 21 bytes 3608 (3.5 KiB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 8 bytes 620 (620.0 B)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
>
> enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> inet 192.168.1.163 netmask 255.255.255.0 broadcast 192.168.1.255
> inet6 fe80::76d4:35ff:fe4f:4ad1 prefixlen 64 scopeid 0x20<link>
> ether 74:d4:35:4f:4a:d1 txqueuelen 1000 (Ethernet)
> RX packets 2112061 bytes 3093971822 (2.8 GiB)
> RX errors 0 dropped 1 overruns 0 frame 0
> TX packets 1094912 bytes 85687526 (81.7 MiB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
>
> lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
> inet 127.0.0.1 netmask 255.0.0.0
> inet6 ::1 prefixlen 128 scopeid 0x10<host>
> loop txqueuelen 0 (Local Loopback)
> RX packets 3245 bytes 686891 (670.7 KiB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 3245 bytes 686891 (670.7 KiB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
>
> ================== brctl show br0 ==================
>
> bridge name bridge id STP enabled interfaces
> br0 8000.74d4354f4ad1 no enp2s0
>
>
> ============== brctl show br0 (po nastartování lxc) ==============
> bridge name bridge id STP enabled interfaces
> br0 8000.74d4354f4ad1 no enp2s0
> vethCAO0VV
>
> Přitom:
>
> (1) po nastartování br0 mi na hostovi přestane fungovat síť (jakoby to
> přestalo routovat)
>
> (2) lxc teď z nějakého důvodu dostává IP 192.168.1.x adresu (tj.
> nikoliv z dnsmasq který je pověšený na 192.168.2.1, ale ze stejného
> DHCP serveru ze kterého dostává IP adresu host)
>
> T.
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
Další informace o konferenci Linux