IAM appliance - iam-dns
RPM balíček s konfigurací DNS serveru na úrovni OS appliance.
Build probíhá standardním způsobem v bcv-rpmbuild kontejneru.
Služba
Balíček obsahuje konfiguraci pro službu NetworkManager. Konfiguruje ji tak, aby pod sebou spustila DNS server dnsmasq a operační systém namířila na něj (v /etc/resolv.conf).
Samotný dnsmasq slouží jako rekurzivní DNS server. Konfiguraci jeho upstream serverů zajišťuje NetworkManager přes DBUS. DNS servery se konfigurují pomocí NetworkManageru při konfiguraci sítě. Pokud se používá konfigurace DNS z DHCP, ručně není žádná konfigurace vedena.
Konfigurační soubory
-
/etc/NetworkManager/conf.d/01_use-dnsmasq.conf- konfigurace NM, aby startoval a ovládal dnsmasq -
/etc/NetworkManager/dnsmasq.d/01_use-hosts.conf- konfigurace dnsmasqu v NM, aby bral v úvahu soubor/etc/hosts -
/usr/lib/systemd/system/iam-dns-reload.service- služba pro snadný reload dnsmasq
Ovládání
Běh DNS serveru se nijak explicitně neovládá, vše si řeší NM sám.
-
Při přidání záznamu do
/etc/hostsse změna na operačním systému projeví okamžitě, ale v dnsmasqu až po jeho reloadu. -
Při změně záznamu do
/etc/hostsse změna na operačním systému projeví okamžitě, ale v dnsmasqu až po jeho reloadu. -
Při odebrání záznamu z
/etc/hostsse změna na operačním systému projeví až po reloadu dnsmasqu. Operační systém totiž sice nenajde záznam v hosts souboru, ale pak se zeptá dnsmasqu, který záznam stále zná.
Reloadem dnsmasq se změny v hosts souboru v operačním systému appliance zpropagují i do Docker kontejnerů. Tyto kontejnery začnou z DNS resolvovat nové záznamy. Reload dnsmasq lze provést pomocí SIGHUP na jeho proces, balíček ale obsahuje i předpřipravenou systemd unitu na provedení reloadu.
systemctl start iam-dns-reload