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. | ||