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.