GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat systemd-resolved a systemd-networkd pro použití místního serveru DNS pro řešení místních domén a vzdáleného serveru DNS pro vzdálené domény?

V konfiguračním souboru pro rozhraní místní sítě (soubor odpovídající vzoru názvu /etc/systemd/network/*.network ) musíme buď zadat, že chceme získat adresu lokálního DNS serveru z DHCP serveru pomocí DHCP= možnost:

[Network]
DHCP=yes

nebo specifikujte jeho adresu explicitně pomocí DNS= možnost:

[Network]
DNS=10.0.0.1

Navíc musíme specifikovat (ve stejné sekci) lokální domény pomocí Domains= možnost

Domains=domainA.example domainB.example ~example

Lokální domény specifikujeme domainA.example domainB.example získat následující chování (z systemd-resolved.service, systemd-resolved manuálová stránka):

Vyhledávání názvu hostitele končícího jednou z domén jednotlivých rozhraní jsou výhradně směrována na odpovídající rozhraní.

Tímto způsobem hostX.domainA.example bude vyřešen výhradně prostřednictvím našeho místního serveru DNS.

Zadáváme pomocí ~example že všechny domény končící na example mají být považovány za domény pouze pro směrování, aby se dosáhlo následujícího chování (z popisu tohoto potvrzení):

Servery DNS, které mají domény pouze pro směrování, by se měly používat pouze pro specifikované domény.

Tímto způsobem hostY.on.the.internet bude vyřešen výhradně prostřednictvím našeho globálního vzdáleného serveru DNS.

Poznámka

V ideálním případě by při použití protokolu DHCP měly být názvy lokálních domén získány z DHCP serveru namísto toho, aby byly explicitně specifikovány v konfiguračním souboru síťového rozhraní výše. Viz UseDomains= volba. Stále však existují nevyřešené problémy s touto funkcí – viz problém s možností vyhledávání domén DHCP v síti.

Potřebujeme zadat vzdálený server DNS jako náš globální server DNS pro celý systém. Můžeme to udělat v /etc/systemd/resolved.conf soubor:

[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844

Nezapomeňte znovu načíst konfiguraci a restartovat služby:

$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved

Pozor!

Výše uvedené záruky platí pouze v případě, že názvy řeší systemd-resolved – viz manuálová stránka pro nss-resolve, libnss_resolve.so.2 a manuálová stránka pro systemd-resolved.service, systemd-resolved.

Viz také:

  • Popis požadavků na vyhledávání směrování v manuálových stránkách souvisejících se systemd je nejasný
  • Jak odstraňovat problémy s DNS pomocí systemd-resolved?

Reference:

  • Manuál pro systemd-resolved.service, systemd-resolved
  • Manuál pro resolved.conf, resolved.conf.d
  • Manuál pro systemd-network

Abychom rozšířili skvělou odpověď @piotrDobrogost , nezapomeňte nakonfigurovat /etc/nsswitch.conf použít systemd-resolved jako zdroj rozlišení DNS. Vaše hosts direktiva by měla pro váš konkrétní případ použití vypadat následovně:

/etc/nsswitch.conf

hosts:  files resolve dns

Pokud tedy omezíte rozlišení pouze na domény uvedené v Domains direktiva v /etc/systemd/resolved.conf jak uvádí Piotr výše, DNS by měl být dále konzultován v pořadí specifikovaných zdrojů rozlišení názvů /etc/nsswitch.conf když domény NEJSOU nalezený v Domains směrnice:

Následující odkaz odkazuje na požadavek uvést vyřešit v /etc/nsswitch.conf takže systemd-resolved je konzultován při překladu názvu:

https://github.com/systemd/systemd/issues/940

Dokumentace SystemD Zjistil jsem, že je hrozná. Musel jsem dát dohromady pochopení z více odkazů, včetně Piotrovy odpovědi výše;-)


Linux
  1. Jak používám Ansible a anacron pro automatizaci

  2. Jak nainstalovat WordPress na Ubuntu 18.04 a nakonfigurovat jej pro použití vzdálené databáze

  3. Jak nakonfigurovat RDP v systému Windows Server 2008 R2

  1. Jak povolit protokolování serveru DNS BIND pro sledování dotazů a odstraňování problémů?

  2. Jak zjistit název softwaru vzdáleného serveru DNS a jeho verzi?

  3. Jak nainstalovat a používat Telnet v Debianu 11

  1. Jak nainstalovat a nakonfigurovat DNS Server (Bind 9) na Ubuntu / Debian

  2. Jak nakonfigurovat server DNS na Debian 10 / Debian 9

  3. Jak nainstalovat a nakonfigurovat Bind pro nastavení serveru DNS?