LXC

LXC-nätverkskonfiguration

LXC-nätverkskonfiguration
När du startar en Linux Container kanske du vill använda nätverksfunktioner. Frågan blir: ”Försöker du nätverka med värden, det breda internet, en annan container eller kanske alla lokala containrar?”Bra att det finns lösningar för dem alla!

Profiler

För att rätta till detta måste du konfigurera din container. Baskonfigurationen finns redan i ditt system om du har använt en vanlig distribution. Du kan konfigurera detta ytterligare med kommandon, men de flesta använder YAML-filer. Basen ser vanligtvis ut som den nedan. Filen finns i / etc / lxc / default.konf.

lxc.netto.0.typ = veth
lxc.netto.0.länk = lxcbr0
lxc.netto.0.flaggor = upp
lxc.netto.0.hwaddr = 00: 16: 3e: xx: xx: xx

Varje behållare följer inställningarna enligt standardprofilen och filen som nämns ovan. Du kan skriva ut standardfilen enligt nedan. För mer konfiguration är det bäst att skapa nya profiler. Varje profil innehåller vissa konfigurationsdetaljer, i vårt fall nätverk. Du kan ändra vilken inställning som helst i din container med en profil, och det är ännu mer meningsfullt när du vill köra den både lokalt och på en plattform.

$ lxc-profil visar standardkonfiguration:
beskrivning: Standard LXD-profil
enheter:
eth0:
namn: eth0
nätverk: lxdbr0
typ: nic
rot:
sökväg: /
pool: ros
typ: disk
namn: standard
Använd av:
- / 1.0 / instanser / guiapps
- / 1.0 / instanser / ff

Den resulterande utdata är en YAML-fil. Alla dina profiler kommer att ha samma format. Med LXC själv kan du skapa, ta bort och redigera din profil. Du kan se i filen att standardanvändningen använder lxdbr0-nätverket och skriver nic. Skapa nu en ny profil med följande:

$ lxc-profil skapa nicnet

Redigera profilen innan någon container körs:

$ lxc-profil redigera nicnet

Du använder YAML-format i filerna som skapar dessa profiler. Observera att namnet “eth0” är det interna behållarnamnet. "Föräldern" är vad du har på ditt system, och du kontrollerar det själv med hjälp av:

$ ip a

Utskriften varierar beroende på vad du har haft tidigare. Du bör också veta att du kan göra överbryggningen utifrån behållaren med brctl-verktygen.

Använd den i din behållare

När du har skapat en profil vill du lägga till den i din behållare. Detta görs med samma uppsättning program 'lxc'. Kontrollera först att du har en container, i det här exemplet heter containern 'ff':

$ lxc-profil lägg till ff nicnet

Ändringen träder i kraft när du startar om nätverk i behållaren. Det enklaste och säkraste är att alltid lägga till profiler endast i stoppade behållare.

Routed

En överbryggad anslutning är en där din container får en MAC-adress på samma Ethernet-gränssnitt som din värd. Detta är vad du gjorde tidigare i det här inlägget. Med några fler knep kan du låta din router tilldela en separat IP-adress till behållaren och du kan ställa in den i din behållare. Även om du använder macvlan kan du stöta på problem med Wi-Fi. WPA / WPA2 accepterar inte de två adresserna, så ditt Wi-Fi går sönder eftersom din värd inte använder Wi-Fi.

Det tidigare exemplet använder brctl-verktygen eftersom lxc har skapat sina egna. Detta får en adress från värden, inte routern. Du kan få adressen från routern om du vill. Återigen, bara om du använder en trådbunden anslutning eller ett osäkert Wi-Fi.

När du har sett till att du har en nätverksanslutning på din värd kan du ansluta den till din container. Ändra ordföräldern och ställ in din nictype till macvlan.

konfiguration:
beskrivning: Inställning för nätverksgränssnittet
enheter:
eth0:
namn: eth0
nictype: macvlan
förälder: enp3s0
typ: nic
namn: Rutt
Använd av:
- / 1.0 / instanser / guiapps
- / 1.0 / instanser / ff

Du måste se till att det överordnade värdet matchar din konfiguration, så se till att du skapar det dynamiskt. När detta är klart kan du starta din container och hitta den i din routers lista över värdmål. De är gränssnitt, för att vara tekniska om det.

Figur 1: Containern visas nu i din router

Mobila profiler

En intressant del av Linux-behållarna är att du kan ta tag i dina konfigurationer och dumpa dem i YAML-filer. För att skapa filerna för detta kör du showalternativet i LXC och rör sedan in i en fil. Utgången följer YAML-standarden och du kan sedan använda dessa filer för att konfigurera dem någon annanstans.

$ lxc-profil visa Rutt> Rutt.yml

För att använda detta för en ny container, använd de inställda värdena. Vanligtvis skulle du ställa in ett värde åt gången, men du har redan en fil för detta.

$ lxc-profil skapa newroute $ lxc-profil ställa in newroute-användare.nätverk.konfigurera - < Route.yml

Du kan se att du måste sätta värdena i namnområdets användare.nätverk.konfigurera '. Detta är viktigt att veta när du vill lägga till andra värden som inte är relaterade till nätverk.

Slutsats

Nätverk med dina containrar har många alternativ, vilket kan vara förvirrande, men med lite forskning och testning på egen hand kan du få det att fungera som du vill. Det bästa är att du kan prova en sak i taget med profiler. Du kommer aldrig att skruva upp din nuvarande behållare, ta bara bort den som inte fungerade och lägg till den gamla. Denna teknik fungerar för allt i en container.

OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...
OpenTTD-handledning
OpenTTD är ett av de mest populära affärssimuleringsspelen där ute. I det här spelet måste du skapa en underbar transportaffär. Du kommer dock att bör...
SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...