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/hosts
se 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/hosts
se 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/hosts
se 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