konfigurace sí»ování pro lxc kontejnery

Miroslav Lednicky miroslav.lednicky na fnusa.cz
Úterý Květen 13 07:21:50 CEST 2014


Ahoj,

napsal jsem jednu veticku nepresne:

V kazdem pripade IP toho stroje musi byt na br0 interface, pokud je
interface enp2s0 take soucasti bridge br0.

Mirek

Dne 13.5.2014 06:59, Miroslav Lednicky napsal(a):
> Ahoj,
>
> neni spatne vedet jakou pouzivas distribuci a jestli pouzivas lxc tools
> nebo libvirt.
>
> V kazdem pripade IP toho stroje musi byt na br0 interface, pokud je
> tento interface take soucasti bridge br0.
>
> Zkontrolovat to lze takto:
>
> brctl show br0
>
> Vypada to, ze mas mix dvou reseni a vysledek tomu odpovida.
>
> Posli jeste to, co ti vypise prikaz ifconfig po nastartovani LXC
> a taky vysledek toho brctl show br0.
>
> Mirek
>
> Dne 13.5.2014 02:34, Tomas Vondra napsal(a):
>> Ahoj,
>>
>> hraju si tady s virtualizací pomocí LXC, a potřebuju trochu poradit se
>> sí»ováním (coľ není úplně moje parketa).
>>
>> Pro začátek bych rád dosáhnul toho ľe jak ze systému tak z kontejnerů
>> bude "normálně" fungovat sí». Aktuálně mi funguje buď jedno nebo druhé,
>> podle toho jak to zrovna nastavím, nikdy oboje současně.
>>
>> V kaľdém případě rád bych pro začátek dosáhl alespoň toho prvního, tj.
>> funkční sítě ze systému i konfejnerů. Systém má jednu sí»ovku (enp2s0)
>> konfigurovanou přes DHCP, řekněmě ľe má IP 192.168.1.163.
>>
>> V dokumentaci/howto k LXC se doporučuje nakonfigurovat bridge, plus
>> dnsmasq jako lokální DHCP (pro kontejnery). Mám toto:
>>
>> ##### /etc/conf.d/net.br0 #####
>> config_br0="192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255"
>> brctl_br0="setfd 0 sethello 10 stp off"
>> routes_br0="192.168.1.1"
>> bridge_br0="enp2s0"
>>
>> ##### /etc/conf.d/dnsmasq #####
>> DNSMASQ_OPTS="--user=dnsmasq --group=dnsmasq --except-interface lo
>> --bind-interfaces --listen-address 192.168.2.1 --dhcp-range
>> 192.168.2.2,192.168.2.254 --dhcp-leasefile=/tmp/dhcp.leases
>> --dhcp-lease-max=253 --dhcp-no-override"
>>
>> ##### /etc/lxc/default.conf #####
>> lxc.network.type = veth
>> lxc.network.link = br0
>> lxc.network.flags = up
>> lxc.network.hwaddr = fe:xx:xx:xx:xx:xx
>>
>> Tj. (pokud tomu dobře rozumím)
>>
>>   svět <--> enp2s0 (192.168.1.163) <-bridge-> br0 (192.168.2.1)
>>
>> a do br0 jsou potom přidané veth devicy pro jednotlivé kontejnery. A
>> vskutku - kontejner nastartuje, dostane veth device, IP adresu z daného
>> rozsahu, ale ven se nedopingnu :-( A od chvíle nastartování br0
>> nefunguje ani sí» z toho hosta.
>>
>> Zkouąel jsem různé varianty, nejvíc co se mi povedlo bylo ľe pokud br0
>> nastavím např. IP 192.168.1.2 (tj. ze stejného rozsahu kam patří enp2s0)
>> tak z kontejnerů sí» funguje.
>>
>> Tipuju ľe to bude nějaká blbost, nejspíą v routování, kterou nevidím -
>> dokonce tady přes SSH koukám na systém kde to je nakonfigurované (by»
>> přes libvirt).
>>
>> routy po nastartování enp2s0 a br0:
>>
>> Adresát       Brána        Maska          Přízn Metrik Odkazů Uľt
>> Rozhraní
>> 0.0.0.0       192.168.1.1  0.0.0.0        UG    3      0        0 enp2s0
>> 127.0.0.0     0.0.0.0      255.0.0.0      U     0      0        0 lo
>> 127.0.0.0     127.0.0.1    255.0.0.0      UG    0      0        0 lo
>> 192.168.1.0   0.0.0.0      255.255.255.0  U     3      0        0 enp2s0
>> 192.168.2.0   0.0.0.0      255.255.255.0  U     0      0        0 br0
>>
>>
>> Bonus č. 1: kontejnery uvidí na sebe
>> Bonus č. 2: kontejnery mají vnějąí IP (jde na ně pingnout zvenčí)
>>
>> Tomáą
>> _______________________________________________
>> Linux mailing list
>> Linux na linux.cz
>> http://www.linux.cz/mailman/listinfo/linux
>>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux


Daląí informace o konferenci Linux