LXC

LXC-netwerkconfiguratie

LXC-netwerkconfiguratie
Wanneer u een Linux-container start, wilt u misschien netwerkfuncties gebruiken. De vraag wordt: "Probeer je te netwerken met de host, het brede internet, een andere container of misschien alle lokale containers?"?” Goed dat er oplossingen zijn voor allemaal!

Profielen

Om dit correct te maken, moet u uw container configureren. De basisconfiguratie staat al op uw systeem als u een reguliere distributie heeft gebruikt. Je kunt dit verder configureren met commando's, maar de meeste mensen zullen YAML-bestanden gebruiken. De basis ziet er meestal uit zoals hieronder:. Het bestand bevindt zich in /etc/lxc/standaard.conf.

lxc.netto-.0.type = veth
lxc.netto-.0.link = lxcbr0
lxc.netto-.0.vlaggen = omhoog
lxc.netto-.0.hwaddr = 00:16:3e:xx:xx:xx

Elke container volgt de instellingen volgens het standaardprofiel en het hierboven vermelde bestand. U kunt het standaardbestand afdrukken zoals hieronder:. Voor meer configuratie kun je het beste nieuwe profielen maken. Elk profiel bevat een aantal configuratiedetails, in ons geval netwerken. U kunt elke instelling in uw container wijzigen met een profiel, en dit is nog logischer wanneer u het zowel lokaal als op een platform wilt uitvoeren.

$ lxc profiel toon standaardconfiguratie:
beschrijving: Standaard LXD-profiel
apparaten:
eth0:
naam: eth0
netwerk: lxdbr0
type: leuk
wortel:
pad: /
zwembad: ros
type: schijf
naam: standaard
gebruikt door:
- /1.0/instanties/guiapps
- /1.0/instanties/ff

De resulterende uitvoer is een YAML-bestand. Al je profielen hebben hetzelfde formaat. Met LXC zelf kunt u uw profiel maken, verwijderen en bewerken. Je kunt in het bestand zien dat de standaard het lxdbr0-netwerk gebruikt en typ nic. Maak nu een nieuw profiel aan met behulp van het volgende:

$ lxc profiel maak nicnet

Bewerk het profiel voordat een container wordt uitgevoerd:

$ lxc profiel bewerk nicnet

U gebruikt de YAML-indeling in de bestanden die deze profielen maken. Merk op dat de naam "eth0" de interne containernaam is. De "ouder" is wat u op uw systeem hebt en u controleert het zelf met:

$ ip a

De afdruk is afhankelijk van wat je eerder hebt gehad. Je moet ook weten dat je de overbrugging van buiten de container kunt doen met de brctl-tools.

Gebruik het in uw container

Nadat u een profiel heeft gemaakt, wilt u dit aan uw container toevoegen. Dit gebeurt met dezelfde set programma's 'lxc'. Zorg er eerst voor dat je een container hebt, in dit voorbeeld heeft de container de naam 'ff':

$ lxc profiel toevoegen ff nicnet

De wijziging wordt van kracht wanneer u het netwerken in de container opnieuw start. De gemakkelijkste en veiligste is om altijd alleen profielen in gestopte containers toe te voegen.

gerouteerd

Een overbrugde verbinding is een verbinding waarbij uw container een MAC-adres ontvangt op dezelfde Ethernet-interface als uw host. Dit deed je eerder in dit bericht. Met nog een paar trucjes kun je je router een apart IP-adres laten toewijzen aan de container, en dit kun je instellen in je container. Hoewel u bij het gebruik van macvlan problemen kunt ondervinden bij het gebruik van Wi-Fi. WPA/WPA2 accepteert de twee adressen niet, dus je wifi zal kapot gaan, omdat je host de wifi niet zal gebruiken.

Het eerdere voorbeeld gebruikt de brctl-tools omdat lxc hun eigen heeft gemaakt. Dit krijgt een adres van de host, niet van de router. Je kunt het adres van de router krijgen als je dat wilt. Nogmaals, alleen als je een bekabelde verbinding of een onveilige wifi gebruikt.

Als je zeker weet dat je een netwerkverbinding op je host hebt, kun je die verbinden met je container. Verander het woord ouder en stel je nictype in op macvlan.

configuratie:
beschrijving: Instelling voor de netwerkinterface
apparaten:
eth0:
naam: eth0
nictype: macvlan
ouder: enp3s0
type: leuk
naam: Route
gebruikt door:
- /1.0/instanties/guiapps
- /1.0/instanties/ff

U moet ervoor zorgen dat de bovenliggende waarde overeenkomt met uw configuratie, dus zorg ervoor dat u deze dynamisch maakt. Nadat dit is gebeurd, kunt u uw container starten en deze vinden in de lijst met hostbestemmingen van uw router. Nou, het zijn interfaces, om er technisch over te zijn.

Figuur 1: De container verschijnt nu in uw router

Mobiele profielen

Een interessant onderdeel van de Linux-containers is dat je je configuraties kunt pakken en ze in YAML-bestanden kunt dumpen. Om de bestanden hiervoor te maken, voer je de show-optie uit in LXC en pijp je naar een bestand. De uitvoer volgt de YAML-standaard en u kunt deze bestanden vervolgens gebruiken om ze elders te configureren.

$ lxc profiel toon Route > Route.yml

Om dit voor een nieuwe container te gebruiken, gebruikt u de ingestelde waarden. Normaal gesproken zou je een waarde per keer instellen, maar je hebt hier al een bestand voor.

$ lxc profiel maak nieuweroute $ lxc profiel stel nieuweroute gebruiker in.netwerk.configuratie - < Route.yml

U kunt zien dat u de waarden in de naamruimte 'gebruiker' moet plaatsen.netwerk.configuratie'. Dit is belangrijk om te weten wanneer u andere waarden wilt toevoegen die niets met netwerken te maken hebben.

Conclusie

Netwerken met uw containers heeft veel opties, wat verwarrend kan zijn, maar met wat onderzoek en zelf testen kunt u het laten werken zoals u dat wilt. Het beste is dat je één ding tegelijk kunt proberen met behulp van profielen. U zult uw huidige container nooit verknoeien, verwijder gewoon degene die niet werkte en voeg de oude toe. Deze techniek werkt voor alles in een container.

Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...