GNU/Linux >> Znalost Linux >  >> Linux

LXD kontejnery a sítě se statickou IP

Našel jsem řešení zde

Díky Stéphane Graber.

Citace:

"Pokud provozujete moderní LXD s mostem spravovaným LXD, stačí nastavit vlastnost ipv4.address na síťovém rozhraní kontejneru."

  • lxc stop c1
  • lxc síťové připojení lxdbr0 c1 eth0 eth0
  • lxc konfigurační sada zařízení c1 eth0 ipv4.address 10.99.10.42
  • lxc start c1

"

."

Pokud chcete zadat IP adresy pro kontejnery v LXD, podívejte se na /etc/default/lxd-bridge soubor. Zde najdete místo pro zahrnutí externího konfiguračního souboru dnsmasq.

Za předpokladu, že používáte Ubuntu 16.04,

Otevřete /etc/default/lxd-bridge ve vašem oblíbeném editoru. Budete muset použít sudo .

Kolem řádku 16

LXD_CONFILE=""

Přidejte položku, která ukazuje na konfigurační soubor dnsmasq. Tento soubor budete muset vytvořit. Tak si to pojmenujte, jak chcete. Něco jako lxd_bridge.conf .

Poté vytvořte a upravte soubor, který jste pojmenovali výše.

Přidejte řádek pro každý kontejner, kterému chcete přiřadit konkrétní IP adresu.

Takhle:

dhcp-host=containername,ipaddress

Poté budete muset restartovat lxd-bridge a poté restartovat kontejnery.

Zde je podrobný článek o tomto:

Statické IP adresy LXD

Všimněte si, že pokud používáte Alpine linux ve svých kontejnerech, je třeba podniknout další kroky, aby to fungovalo.alpine


Systémové informace:lxc-3.0.1 na Ubuntu Server 18.04.1 .

Po dlouhém hledání jsem našel tento jednoduchý příkaz pro přiřazení statické adresy IP kontejneru:

lxc config set [container] raw.lxc 'lxc.net.[i].ipv4.address = [ip]/[subnet-mask]'

kde [container] , [i] , [ip] a [subnet-mask] jsou název kontejneru, číslo síťového rozhraní, požadovaná statická IP adresa a CIDR pro požadovanou masku podsítě.

Například, pokud chcete přiřadit 240.10.0.20 s maskou podsítě 255.255.255.0 k 0. síťovému rozhraní kontejneru s názvem hello , můžete použít:

lxc config set hello raw.lxc 'lxc.net.0.ipv4.address = 240.10.0.20/24'

Po provedení příkazu budete pravděpodobně muset kontejner restartovat.

Všimněte si, že to pravděpodobně nezmění aktuální IP adresu kontejneru (stejně v mém nastavení); kontejner by měl být dosažitelný jak na své původní IP, tak na nově přidělené IP. Výsledkem je záznam kontejneru v lxc list může obsahovat několik IP adres.

Zde se podívejte na přijatelné konfigurační klíče, které lze připojit k lxc.net.[i] . Tato webová stránka obsahuje informace o notaci CIDR.

Bohužel si nemohu vzpomenout, kde jsem toto řešení poprvé našel. Zde je relevantní problém GitHubu, který může obsahovat užitečné informace.


Linux
  1. Zákulisí s linuxovými kontejnery

  2. Nastavte Linux Container s LXC na Ubuntu 16.04

  3. Jaký je rozdíl mezi kontejnery LXC, LXD a Docker

  1. Jak nastavit virtuální kontejnery s podporou LXC a kvót na Debianu 8

  2. Používání souborů a zařízení v kontejnerech Podman rootless

  3. Jaký je rozdíl mezi linuxovým kontejnerem a obrázkem?

  1. Jak ladit problémy se svazky namontovanými na kontejnerech bez kořenů

  2. Filtrujte a optimalizujte požadavky na statické soubory pomocí NGINX na Ubuntu 18.04

  3. Jak vytvořit a spustit kontejnery LXC Linux pomocí příkazů LXC