VPN と併用するローカルドメイン向け macOS リゾルバファイル
狭い役割のリゾルバファイルを一つ置くだけで、Mac 上の 1 つのローカルドメインを専用の DNS サーバーに送れます。仕事用 VPN のリゾルバを置き換えたり、ルートを作成したりする必要はありません。
仕事用 VPN は社内の名前を完全に解決する一方で自宅のプリンターは名前では到達できないままで、そこで多くの人が手を伸ばす定番の対処は Mac 全体を自宅ルーターに向けることです。それは問題が必要とするよりはるかに大きな変更です。macOS は小さなリゾルバファイルを通じて一つの DNS サフィックスだけを専用サーバーへ送り、他のすべての名前解決は元の場所に残せます。
まず権限の境界があります。これは、自分が管理しているか設定を許可されているドメイン向けのものであり、組織が強制する DNS ポリシーやローカルネットワークの制限を回避するための道ではありません。
役割を絞った一つのファイル
ローカルゾーンが lab.example.org で、そのサーバーが 192.168.55.1 で応答するとします。変更が許可されている Mac 上で、管理者はドメイン名そのものをファイル名にしたプレーンテキストファイル /etc/resolver/lab.example.org を作り、nameserver 192.168.55.1 の一行だけを書きます。新しいシステムではディレクトリが存在しないことがあるため、管理者権限で作成し、管理ソフトウェアが既にそこにファイルを持っていないか書き込む前に確認します。
Apple のリゾルバ設定のドキュメントには、ファイル内に別個のドメイン設定がない場合、ファイル名がドメインを提供するという慣例が記されています。この命名規則が仕掛けのすべてであり、ファイルをサーバー名ではなくゾーン名にする必要がある理由でもあります。
macOS がリゾルバを選ぶ仕組み
複数のリゾルバクライアントが同時に有効になり得て、最も具体的に一致するドメインが優先されます。したがって lab.example.org 用のリゾルバは既定のリゾルバとは範囲が異なり、専用ファイルを持つより具体的なサブドメインが再び優先されることもあります。これにより、仕事用 VPN は自前のサフィックスを保ちながら、あなたのラボゾーンは別の場所へ向かいます。この仕組みに全体設定はなく、それが覚えておく価値のある点です。
/etc/resolv.conf には手を触れないでください。macOS がそのファイルを自身で書き込み、そこにドメイン固有の名前解決の全体像が載っていたことはありません。設定はこのディレクトリ内のファイルではなくシステム構成データベースから届くこともあり、そのため管理プロファイルがあなたの書いた内容を上書きできます。
ファイルでは用意できない三つのこと
サーバーに到達できる必要があります。VPN がローカルネットワークを遮断している場合、または社内ルートがサーバーのアドレス範囲を捕捉している場合、完全に正しいサフィックスファイルでもクエリを届けられません。自分でローカルの例外を広げるのではなく、ネットワークの管理者に相談してください。
ゾーンに正しい答えが入っている必要があり、それは printer.lab.example.org のような完全修飾名で試すのが最善です。短い名前は検索ドメインの挙動を呼び起こし、意図した質問とは別の質問をしてしまうことがあります。
最後に、アプリケーションがその答えを使える必要があります。プリンターの名前を解決しても、そのアドレスへのアクセスが与えられるわけではなく、背後にあるサービスが開くわけでもありません。返されたアドレスには依然として許可されたルートと接続を許可するアクセスポリシーが必要です。リゾルバファイルは名前を引く場所を変えるだけで、結果のための経路を予約するわけではありません。
DNS を置き換えるのではなく選択を検証する
macOS が今実際に何を使っているかを確認し、完全修飾名をアプリケーション自身の中から、またはアプリケーションと同じ方法で解決するツールから問い合わせてください。192.168.55.1 への直接クエリはサーバーが応答することを証明しますが、通常の名前解決に macOS がそのサーバーを選んだことまでは証明しません。それらは別の事実であり、ブラウザーが体験することを説明するのは 二つ目だけです。
別のリゾルバが既に同じサフィックスを主張している場合は、優先度のヒントを追加する前に所有者を突き止めてください。ドキュメント化された search_order 設定は同じドメインを共有するクライアントの順序を決めるものであり、汎用リゾルバがすべてのクエリで勝つようにする全体設定の切り替えではありません。
VPN 接続中に社内の名前が引き続き解決されることを確認し、そのうえでそのファイルと目的を自分のローカルメモに記録してください。仕組みを廃止するときは、ネットワークの DNS 設定をすべてリセットするのではなく、そのファイルだけを削除して両方の名前空間を再確認します。