Skocz do zawartości
Fizyda

Konfiguracja sieci dla kontenerów LXC

Polecane posty

Bawię się kontenerami LXC jak na razie, właściwie to jeszcze się nie bawię bo nie mogę ich podpiąć do internetu. Od 2 dni męczę temat próbowałem różnych kombinacji i nic. Jedyne kiedy działają to gdy ustawię lxc.network.type = phys i podlinkuję bezpośrednio eth0.

Próbowałem przy pomocy bridge (https://wiki.debian.org/LXC/SimpleBridge) oraz vlan (https://wiki.debian.org/LXC/VlanNetworking) w obu przypadkach dupa, niby dostaje adres ip z dhcp, ale kontener z niczym się nie może połączyć.

 

Finalnie chciałbym uzyskać mniej więcej taką konfigurację, że mając na host: eth0 oraz eth1 (różne public ip) przekieruję ruch z konkretnych portów na konkretny kontener. Plus kontenery mogą się łączyć po lan.

 

Czyli np.

z eth0 port 11 przekieruję na kontener LXC A1

z eth1 port 12 przekieruję na kontener LXC A1

 

z eth0 port 22 przekieruję na kontener LXC B2

 

A1 może łączyć się po lan z B2

 

Na początek będę zadowolony jeśli uda mi się w ogóle przekierować z eth0 chociaż jeden port na jakikolwiek kontener i będzie on miał dostęp do internetu.

 

Ponieważ w temacie jestem nowy to gdybym miał to co chcę skonfigurować porównać do czegoś co już znam to porównałbym to do routera domowego. Mamy sieć lan gdzie są komputery i wszystkie łączą się przez jeden adres ip, dodatkowo mogę przekierować wybrany port na wybrany komputer w sieci.

Jak czegoś takiego dokonać w linuxie?

Obecnie brak mi już pomysłu w którą stronę iść, z początku myślałem że rozwiązaniem będzie vlan, ale jak poczytałem to zaczynam wątpić czy to do tego służy co chcę zrobić, poza tym w ogóle LXC nie chce łączyć się przez vlan.

 

Jest toś w stanie coś podpowiedzieć, pomóc?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki, pierwszy link już widziałem, nie pomógł. Drugi zobaczę jutro bo to za ciężki tekst na taką porę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Plik konfiguracyjny dla NATa:


## Network
lxc.network.type = veth
lxc.network.flags = up

# Network host side
lxc.network.link = virbr0

# Network container side
lxc.network.name = eth0
lxc.network.ipv4 = 0.0.0.0/24

Robisz na iptables forward SNAT/DNAT i po sprawie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dziś już bardziej trzeźwo. Jakiego typu sieć/połączenie muszę zrobić by kontener był w prywatnej podsieci hosta. Mógł spingować hosta, host kontener oraz by kontener miał dostęp do sieci, ale żeby kontener nie był widoczny z sieci, jedynie host (który jest widoczny).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

A NATa skonfigurowałeś, coby te kontenery mogły "wydostać" się na świat?

Poza tym, na matce masz br0 a na kontenerze pokazujesz bro0. Widzisz różnicę?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja już nie wiem co ja źle robię. Najprostsza konfiguracja Host Bridge (https://www.flockport.com/lxc-networking-guide/) nie działa.

 

Moja konfiguracja:

 

host: /etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0

host: /var/lib/lxc/deb1/config

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = bro0
lxc.network.name = eth0
lxc.network.hwaddr = 00:FF:AA:00:00:01

Nie wiem po co w linku było

lxc.network.link = lxcbr0

Skoro nigdzie takiego urządzenia nie tworzyłem i w artykule również tego nie robiono.

 

Jedyne co działa to ping z hosta do kontenera i odwrotnie, z kontenera nawet nie mogę spingować routera 172.27.15.1 bo hosta nie znaleziono, a o internecie mogę pomarzyć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Na kontenerze jest br0 tutaj przy poprawianiu źle napisałem, gdybym miał taki błąd to bym w logach miał info ;). NAT nie konfigurowałem bo robię bridge na razie, a z tego co wiem bridge powinien mi połączyć kontener z już istniejącą siecią 172.27.15.*.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość mariaczi

istniejącą siecią 172.27.15.*.

 

Masz na tyle IP, że dostaniesz adres dla hosta matki i będziesz miał dla kontenerów? DHCP nie jest przypadkiem po mac adresach? Robisz to na jakiejś swoje maszynie (w domu etc.) czy na dedyku?

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Na razie w domu, więc adresów ip nie braknie. Poza tym ja chcę w ostatecznej konfiguracji mieć minimum dwa, a maksymalnie trzy kontenery na które ma być przekierowany ruch przychodzący na konkretnych portach z jednego zewnętrznego ip. Zewnętrzne adresy ip na dedyku będą 2. W razie potrzeby mogę kupić dodatkowe ip, ale nie widzę takiej potrzeby.

 

W domu dhcp przydziela tylko 3 urządzeniom stały adres ip po mac, reszta m adres na 24h. Zawsze pamiętam by posprawdzać sobie co dostało jaki adres.

Edytowano przez Fizyda (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dla potomnych rozwiązanie jest tutaj, albo właściwie jego brak: http://www.debian.pl/viewtopic.php?t=24024.

 

Jak coś na virtual boxie nie da się zrobić mostu mostu i średnio działa virtualziacja na virtualizacji. 4 dni zmarnowane idę szukać rozwiązania które pozwoli obejść tę niedogodność.

 

EDIT:

Po ustawieniu w virtual boxie adaptera na NAT wszystko działa jak należy, problem jest taki że nie mam jak dostać się teraz zarówno do hosta (vps virtualbox) a tym bardziej do kontenera w nim uruchomionego.

Edytowano przez Fizyda (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×