LXC

LXC-netværkskonfiguration

LXC-netværkskonfiguration
Når du starter en Linux Container, kan du bruge netværksfunktioner. Spørgsmålet bliver: ”Forsøger du at netværke med værten, det brede internet, en anden container eller måske alle lokale containere?”Godt at der er løsninger til dem alle!

Profiler

For at gøre dette korrekt skal du konfigurere din container. Basiskonfigurationen findes allerede på dit system, hvis du har brugt en regelmæssig distribution. Du kan konfigurere dette yderligere med kommandoer, men de fleste bruger YAML-filer. Basen ligner normalt den nedenunder. Filen ligger i / etc / lxc / standard.konf.

lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flag = op
lxc.net.0.hwaddr = 00: 16: 3e: xx: xx: xx

Hver container følger indstillingerne i henhold til standardprofilen og ovennævnte fil. Du kan udskrive standardfilen som beskrevet nedenfor. For mere konfiguration er det bedst at oprette nye profiler. Hver profil vil indeholde nogle konfigurationsdetaljer, i vores tilfælde netværk. Du kan ændre enhver indstilling i din container med en profil, og det giver endnu mere mening, når du vil køre det både lokalt og på en platform.

$ lxc-profil viser standardkonfiguration:
beskrivelse: Standard LXD-profil
enheder:
eth0:
navn: eth0
netværk: lxdbr0
type: nic
rod:
sti: /
pool: ros
type: disk
navn: standard
brugt af:
- / 1.0 / forekomster / guiapps
- / 1.0 / forekomster / ff

Den resulterende output er en YAML-fil. Alle dine profiler har samme format. Med selve LXC kan du oprette, fjerne og redigere din profil. Du kan se i filen, at standard bruger lxdbr0-netværket og skriver nic. Opret nu en ny profil ved hjælp af følgende:

$ lxc-profil opret nicnet

Før en container kører, skal du redigere profilen:

$ lxc profil rediger nicnet

Du bruger YAML-format i de filer, der opretter disse profiler. Bemærk, at navnet “eth0” er det interne containernavn. Den "forælder" er, hvad du har på dit system, og du kontrollerer det selv ved hjælp af:

$ ip a

Udskriften varierer afhængigt af hvad du har haft før. Du skal også vide, at du kan udføre broen uden for containeren med brctl-værktøjerne.

Brug det i din container

Når du har oprettet en profil, vil du føje den til din container. Dette gøres med det samme sæt programmer 'lxc'. Først skal du sørge for at have en container, i dette eksempel hedder containeren 'ff':

$ lxc-profil tilføj ff nicnet

Ændringen træder i kraft, når du genstarter netværk i containeren. Den nemmeste og sikreste er at altid kun tilføje profiler i stoppede containere.

Routet

En broforbindelse er en, hvor din container modtager en MAC-adresse på den samme Ethernet-grænseflade som din vært. Dette er hvad du gjorde tidligere i dette indlæg. Med et par flere tricks kan du lade din router tildele en separat IP-adresse til containeren, og du kan indstille denne i din container. Selvom du muligvis får problemer med at bruge Wi-Fi, når du bruger macvlan. WPA / WPA2 accepterer ikke de to adresser, så dit Wi-Fi går i stykker, da din vært ikke bruger Wi-Fi.

Det tidligere eksempel bruger brctl-værktøjerne, da lxc har oprettet deres egne. Dette får en adresse fra værten, ikke routeren. Du kan få adressen fra routeren, hvis du ønsker det. Igen, kun hvis du bruger en kabelforbindelse eller et usikkert Wi-Fi.

Når du har sørget for, at du har en netværksforbindelse på din vært, kan du oprette forbindelse til din container. Skift ordforælder, og indstil din nictype til macvlan.

konfiguration:
beskrivelse: Indstilling til netværksgrænsefladen
enheder:
eth0:
navn: eth0
nictype: macvlan
forælder: enp3s0
type: nic
navn: Rute
brugt af:
- / 1.0 / forekomster / guiapps
- / 1.0 / forekomster / ff

Du bliver nødt til at sikre, at den overordnede værdi matcher din konfiguration, så sørg for at oprette den dynamisk. Når dette er gjort, kan du starte din container og finde den på din routers liste over værtsdestinationer. Nå, de er grænseflader for at være tekniske om det.

Figur 1: Containeren vises nu i din router

Mobilprofiler

En interessant del af Linux-containerne er, at du kan få fat i dine konfigurationer og dumpe dem i YAML-filer. For at oprette filerne til dette skal du køre showmuligheden i LXC og derefter røre ind i en fil. Outputtet følger YAML-standarden, og du kan derefter bruge disse filer til at konfigurere dem andre steder.

$ lxc-profil viser Rute> Rute.yml

For at bruge dette til en ny container skal du bruge de indstillede værdier. Normalt ville du indstille en værdi ad gangen, men du har allerede en fil til dette.

$ lxc profil opretter newroute $ lxc profil sæt newroute bruger.netværk.config - < Route.yml

Du kan se, at du skal lægge værdierne i brugerens navneområde.netværk.konfigurere '. Dette er vigtigt at vide, hvornår du vil tilføje andre værdier, der ikke er relateret til netværk.

Konklusion

Netværk med dine containere har mange muligheder, som kan være forvirrende, men med lidt research og test på egen hånd kan du få det til at fungere som du vil. Den bedste del er, at du kan prøve en ting ad gangen ved hjælp af profiler. Du skruer aldrig din nuværende container op, bare fjern den, der ikke fungerede, og tilføj den gamle. Denne teknik fungerer for alt i en container.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...