This shows you the differences between two versions of the page.
saisp:labs:07:contents:06 [2014/04/13 22:43] alexandru.carp [06. Lorem ipsum] |
saisp:labs:07:contents:06 [2016/04/18 16:54] (current) alexandru.carp [06. [25p] Networking] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 06. Networking ==== | + | ==== 06. [25p] Networking ==== |
In mod implicit, un container are doar o interfata de loopback. Daca dorim sa il conectam cu "exteriorul", trebuie sa ii adaugam o interfata Ethernet. | In mod implicit, un container are doar o interfata de loopback. Daca dorim sa il conectam cu "exteriorul", trebuie sa ii adaugam o interfata Ethernet. | ||
Line 7: | Line 7: | ||
lxc.network.type = veth # Virtual ethernet - virtualizare la nivel 2 | lxc.network.type = veth # Virtual ethernet - virtualizare la nivel 2 | ||
lxc.network.flags = up # Interfata va fi "up" | lxc.network.flags = up # Interfata va fi "up" | ||
- | lxc.network.link = br0 # Containerul va fi legat intr-un "bridge" din masina fizica. | + | lxc.network.link = br0 # Containerul va fi legat intr-un "bridge" din masina gazda. |
lxc.network.name = eth0 # Numele interfetei "vazut" in container. | lxc.network.name = eth0 # Numele interfetei "vazut" in container. | ||
lxc.network.veth.pair = veth0-ct1 # Numele interfetei "vazut" pe masina fizica. | lxc.network.veth.pair = veth0-ct1 # Numele interfetei "vazut" pe masina fizica. | ||
</code> | </code> | ||
+ | |||
+ | <note warning>Nu adaugati si comentariile de la sfarsitul liniilor, deoarece nu sunt permise de sintaxa lxc.</note> | ||
Analog, editati fisierul de configurare al containerului ''ct2''. Pentru atributul ''lxc.network.veth.pair'' specificati valoarea ''**veth0-ct2**''. | Analog, editati fisierul de configurare al containerului ''ct2''. Pentru atributul ''lxc.network.veth.pair'' specificati valoarea ''**veth0-ct2**''. | ||
+ | In prealabil, bridge-ul **br0** trebuie creat pe masina gazda, folosind comanda **brctl**: | ||
+ | <code bash> | ||
+ | root@saisp-vm-1:~# brctl addbr br0 | ||
+ | root@saisp-vm-1:~# ifconfig br0 up | ||
+ | </code> | ||
+ | |||
+ | Porniti cele doua containere in **background**, apoi verificati ca intefetele virtuale au fost adaugate in bridge: | ||
+ | <code bash> | ||
+ | root@saisp-vm-1:~# brctl show | ||
+ | bridge name bridge id STP enabled interfaces | ||
+ | br0 8000.fe6d63702103 no veth0-ct1 | ||
+ | veth0-ct2 | ||
+ | </code> | ||
+ | |||
+ | Alocati adrese IP din spatiul ''192.168.1.0/24'' pentru: | ||
+ | * interfata ''**br0**'' de pe masina gazda | ||
+ | * interfata ''**eth0**'' de pe containerul ''**ct1**'' | ||
+ | * interfata ''**eth0**'' de pe containerul ''**ct2**'' | ||
+ | |||
+ | Apoi, testati conectivitatea prin ''ping'' de pe masina gazda catre cele 2 containere. | ||
+ | |||
+ | Pentru a avea conectivitate din containere catre Internet, trebuie sa configuram NAT si sa activam rutarea pe masina gazda: | ||
+ | <code bash> | ||
+ | root@saisp-vm-1:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | ||
+ | root@saisp-vm-1:~# echo 1 > /proc/sys/net/ipv4/ip_forward | ||
+ | </code> | ||
+ | |||
+ | Apoi, pe cele doua containere adaugati ruta default si testati conectivitatea. |