Split DNS na jednom stroji přes systemd-resolved

návod · sítě

Split DNS znamená, že jedna doména se ptá jiného serveru než všechny ostatní. Typicky po připojení VPN: firma.internal má odpovídat resolver za tunelem, example.org veřejný.

rozepsáno Text ještě není hotový a bude se měnit.
01

Jak to systemd-resolved dělá

systemd-resolved drží resolvery per rozhraní a vybírá mezi nimi podle takzvané routing domény. Doména zapsaná s vlnovkou (~firma.internal) neznamená „hledej v téhle doméně“, ale „dotazy na tuhle doménu posílej sem“.

02

Nastavení pro jedno rozhraní

resolvectl dns tun0 10.10.0.53
resolvectl domain tun0 '~firma.internal'

Ověření, kam který dotaz půjde:

resolvectl query nas.firma.internal
resolvectl status tun0
03

Trvalé nastavení

Ruční resolvectl zmizí s rozhraním. Trvale to patří do konfigurace toho, kdo rozhraní vytváří – u systemd-networkd do [Network] sekce příslušného .network souboru:

[Network]
DNS=10.10.0.53
Domains=~firma.internal

U NetworkManageru totéž nese ipv4.dns-search s vlnovkou.

04

Co tady zatím chybí

Rozepsané. Doplnit ještě chování s DNSSEC=allow-downgrade, když interní zóna není podepsaná, a co se stane při výpadku tunelu – jestli dotazy propadnou na veřejný resolver, nebo skončí chybou.

← zpět na Objevuj