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