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
ん。。DNS
foo.bar.com
DNS
30.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 <...>
ご覧のとおり、DNS
eth0にバインドされたサーバー情報がresolvectl
実際に実行されており、eth1
その逆も同様です。したがって、resolved
クエリが作成されたら、使用するサーバーをfoo.bar.com
見つけてそこにクエリをルーティングし、カーネルルーティングテーブルはクエリを送信する必要があることを示します。これはそれとは何の関係もありません。DNS
30.40.50.60
eth1
eth0
それでは、なぜそう呼ばれるのですかPer-Interface DNS
?また、次のように簡単に説明するマッピング構成ファイル(インターフェース情報とは無関係)でもあります。
# Domain: DNS-server
~foo.bar.com: 30.40.50.60
~fun.gun.com: 13.14.15.16
# .. and so on
これは何らかの方法でインターフェイスに接続することとは何の関係もありません。