Profile
Aby to poprawić, musisz skonfigurować kontener. Konfiguracja podstawowa jest już w twoim systemie, jeśli używałeś regularnej dystrybucji. Możesz dalej to skonfigurować za pomocą poleceń, ale większość osób będzie używać plików YAML. Podstawa zwykle wygląda jak ta poniżej. Plik znajduje się w /etc/lxc/default.conf.
LXC.internet.0.typ = Veth
LXC.internet.0.link = LXCBR0
LXC.internet.0.Flagi = w górę
LXC.internet.0.hwaddr = 00: 16: 3e: xx: xx: xx
Każdy kontener postępuje zgodnie z ustawieniami zgodnie z domyślnym profilem i plikiem wymienionym powyżej. Możesz wydrukować domyślny plik zgodnie z poniżej. Aby uzyskać więcej konfiguracji, najlepiej jest tworzyć nowe profile. Każdy profil będzie zawierać pewne szczegóły konfiguracji, w naszej sieci, sieci. Możesz zmienić dowolne ustawienie w kontenerze z profilem, a to ma jeszcze większy sens, gdy chcesz uruchomić je zarówno lokalnie, jak i na platformie.
$ LXC Profil pokaż domyślnie
config:
Opis: Domyślny profil LXD
urządzenia:
ETH0:
Nazwa: ETH0
Sieć: LXDBR0
Typ: NIC
źródło:
ścieżka: /
Basen: Ros
Typ: dysk
Nazwa: Domyślnie
Użyte_by:
- /1.0/instancje/guiapps
- /1.0/instancje/ff
Powstałe wyjście to plik YAML. Wszystkie twoje profile będą w tym samym formacie. Z samym LXC możesz tworzyć, usuwać i edytować swój profil. W pliku można zobaczyć, że domyślnie korzysta z sieci LXDBR0 i wpisz NIC. Teraz utwórz nowy profil za pomocą następujących czynności:
$ LXC Profil Utwórz NICNET
Przed uruchomieniem jakiegokolwiek pojemnika edytuj profil:
$ LXC Profil edytuj NICNET
Używasz formatu YAML w plikach, które tworzą te profile. Zauważ, że nazwa „ETH0” to wewnętrzna nazwa kontenera. „Rodzic” jest tym, co masz w swoim systemie i sprawdzasz go sam za pomocą:
$ ip a
Wydruk będzie się różnić w zależności od tego, co miałeś wcześniej. Powinieneś także wiedzieć, że możesz wykonać mostkowanie spoza pojemnika z narzędziami BRCTL.
Używanie go w pojemniku
Po utworzeniu profilu chcesz go dodać do kontenera. Odbywa się to z tym samym zestawem programów „LXC”. Najpierw upewnij się, że masz pojemnik, w tym przykładzie kontener nazywa się „ff”:
$ LXC PROFIL Dodaj FF NICNET
Zmiana obowiązuje podczas ponownego uruchomienia sieci w pojemniku. Najłatwiejszym i najbezpieczniejszym jest zawsze dodawanie profili tylko w zatrzymanych pojemnikach.
Kierować
Połączenie pomostowe to takie, w którym kontener odbiera adres MAC na tym samym interfejsie Ethernet, co host. To właśnie zrobiłeś wcześniej w tym poście. Z kilkoma dodatkami, możesz mieć router przypisany osobny adres IP do kontenera i możesz ustawić to w kontenerze. Chociaż podczas korzystania z MacVlan możesz wpaść w kłopoty za pomocą Wi-Fi. WPA/WPA2 nie zaakceptuje dwóch adresów, więc Twój Wi-Fi pęknie, ponieważ Twój host nie będzie korzystał z Wi-Fi.
Wcześniejszy przykład korzysta z narzędzi BRCTL, ponieważ LXC stworzyło własne. To dostaje adres hosta, a nie routera. Jeśli chcesz, możesz uzyskać adres z routera. Ponownie, tylko jeśli używasz połączenia przewodowego lub niepewnego Wi-Fi.
Kiedy upewnisz się, że masz połączenie sieciowe na hoście, możesz to podłączyć do kontenera. Zmień słowo nadrzędny i ustaw swój Nictype na MacVlan.
config:
Opis: Ustawienie interfejsu sieciowego
urządzenia:
ETH0:
Nazwa: ETH0
Nictype: MacVlan
Rodzic: enp3s0
Typ: NIC
Nazwa: trasa
Użyte_by:
- /1.0/instancje/guiapps
- /1.0/instancje/ff
Będziesz musiał upewnić się, że wartość nadrzędna pasuje do Twojej konfiguracji, więc upewnij się, że tworzysz ją dynamicznie. Po zakończeniu możesz uruchomić pojemnik i znaleźć go na liście miejsc hosta routera. Cóż, są to interfejsy, aby być w tym technicznym.
Rysunek 1: Pojemnik pojawia się teraz w router
Profile mobilne
Interesującą częścią kontenerów Linux jest to, że możesz pobrać konfiguracje i zrzucić je do plików YAML. Aby utworzyć pliki do tego, uruchamiasz opcję show w LXC, a następnie przerzuć się do pliku. Wyjście jest zgodne z standardem YAML, a następnie możesz użyć tych plików, aby skonfigurować je gdzie indziej.
$ LXC Profil Pokaż trasę> Trasa.yml
Aby użyć tego dla nowego kontenera, użyj wartości ustawionych. Zwykle ustawiłbyś wartość na raz, ale masz już plik do tego.
$ LXC Profil Utwórz NEWRoute $ LXC Profil Ustaw newroute użytkownik.sieć.konfigurator - < Route.yml
Możesz zobaczyć, że musisz umieścić wartości w przestrzeni nazw „Użytkownik.sieć.konfigurator '. Ważne jest, aby wiedzieć, kiedy chcesz dodać inne wartości niezwiązane z sieciami.
Wniosek
Networking z kontenerami ma wiele opcji, które mogą być mylące, ale z niektórymi badaniami i testami samodzielnie możesz sprawić, by działał tak, jak chcesz. Najlepsze jest to, że możesz spróbować jednej rzeczy na raz, używając profili. Nigdy nie spieprzesz bieżącego pojemnika, po prostu wyjmij ten, który nie działał i dodaj stary. Ta technika działa na wszystko w pojemniku.