インターフェイス別DNSとドメイン別DNS

インターフェイス別DNSとドメイン別DNS

systemd-resolved使用するソフトウェア(twingate重要な場合はクライアント)がopenresolv現在使用しているソフトウェアと機能しないため、切り替える必要があります。関連内容を読みながら、Split-DNS、Per-Interface-DNSなどの概念を学びました。

しかし、私はその背後にある概念を完全に理解できませんPer-Interface DNS。私は別の(RoutingまたはSearch)をDomains別のサーバーにマッピングする必要性を完全に理解していますDNSが、これは存在とどのような関係がありますか?境界インターフェイスとして?

好ましい行動は「ルーティングドメイン〜foo.bar.comが与えられたら、30.40.50.60をDNSサーバーとして使用します。しかし、これは設定されたインターフェイスとは何の関係もありません。与えられたインターフェイスを介してクエリを魔法のようにルーティングすることはできませsystemd-resolvedん。。DNSfoo.bar.comDNS30.40.50.60

例えば。eth0まったく異なる接続IPを持つインターフェイスデバイスと、サーバーがバインドして受信するeth1接続IPを持つ別のインターフェイス30.40.50.60で上記の設定を実行できます。DNS

したがって、次のように進行します。

# ip addr for eth0
IP: 13.14.15.16
# resolvectl status for eth0
DNS Servers: 30.40.50.60
DNS Domains: ~foo.bar.com

# ip addr for eth1
IP: 30.40.50.60
# resolvectl status for eth1
DNS Servers: 13.14.15.16
DNS Domains: ~fun.gun.com

# ip route
30.40.50.60 dev eth1 <...>
13.14.15.16 dev eth0 <...>

ご覧のとおり、DNSeth0にバインドされたサーバー情報がresolvectl実際に実行されており、eth1その逆も同様です。したがって、resolvedクエリが作成されたら、使用するサーバーをfoo.bar.com見つけてそこにクエリをルーティングし、カーネルルーティングテーブルはクエリを送信する必要があることを示します。これはそれとは何の関係もありません。DNS30.40.50.60eth1eth0

それでは、なぜそう呼ばれるのですかPer-Interface DNS?また、次のように簡単に説明するマッピング構成ファイル(インターフェース情報とは無関係)でもあります。

# Domain: DNS-server
~foo.bar.com: 30.40.50.60
~fun.gun.com: 13.14.15.16
# .. and so on

これは何らかの方法でインターフェイスに接続することとは何の関係もありません。

関連情報