アドレスで共有を開けるのに、同じ共有が名前では失敗するなら、トンネルはパケットを運んでいるが名前の層は運んでいないということです。この一つの観察で、ファイアウォールやルートの変更という回り道を省けます。名前にはサフィックス、リゾルバー、問い合わせの経路が必要で、VPN クライアントはどれもインストールせずにルートだけを入れることができます。以下の四つの確認を順に行い、最初に壊れたところで止めてください。

名前はアドレスが問わない問いを立てる

アドレスはスタックがすぐに使える宛先です。短い名前は、サフィックスで展開し、リゾルバーに送り、そのゾーンを知っているものに答えてもらう必要がある問いです。ルートだけを入れリゾルバーを入れないトンネルでは、前者は動き後者は壊れたままになります。だからこそ、大きく異なる VPN 製品でも症状がこれほど一貫して見えるのです。

アドレスから外へと作業し、まず完全な名前、次に裸のホスト名、そして三つのうちどれが機能するかを記録します。パターンを見れば、設定画面を一つ開く前にどの層を調べるべきか分かります。FQDN が解決しているのにルートを推測するのは無駄な労力です。

トンネルが実際に入れたリゾルバーを読む

OS に 内部ゾーンの問い合わせをどのリゾルバーが処理しているかを尋ねるのであって、VPN クライアントのインターフェースが宣伝しているものを尋ねるのではありません。内部ゾーンのない公開リゾルバーを押し付けるサーバーはまさにこの失敗を生み、それはルーティングの障害ではなく設定の誤りです。

resolvectl status
nslookup fileserver.corp.example
nslookup fileserver

ドメイン参加の Windows クライアントでは、名前空間のルーティングポリシーがどの問い合わせをどのリゾルバーへ送るかを決め、VPN アダプター自身の DNS 設定はアダプターの詳細に表示されます。キャッシュされたポリシーは、それを入れた接続より長く生き残ることがあるため、プロファイルではなく有効なポリシーを読んでください。リゾルバーが完全な名前に答え、短い名前に答えないなら、問題はすでにサフィックスの一覧へ移っています。

Get-DnsClientNrptPolicy
ipconfig /all

内部ゾーンが正しいサーバーで解決するなら止めてください。リゾルバーはあなたの問題ではありません。

サフィックスは失敗する短い名前を説明する

単一ラベルの名前は、問い合わせが送られる前に接続のサフィックス一覧で展開されます。VPN が内部サフィックスを配らないと、fileserver は fileserver.corp.example にならず、問い合わせはどの公開リゾルバーも知らない名前として出ていきます。サフィックスを押し付けるか、完全な名前を打ち込めば、サーバー側を何も変えずに仮説を試せます。

nslookup fileserver.corp.example
ping -a 192.168.50.20

Linux ではリゾルバーサービスが DNS サーバーをリンクとルーティングドメインの集合に結び付けるため、トンネルのリンクに関連付けられていない押し付けられたサーバーは、そこに存在しないかのように振る舞います。ローカルのリゾルバーだけを指しているかもしれない stub ファイルではなく、リンクごとの状態を確認してください。同じ分裂は逆方向にも現れ、存在するのにトンネルのインターフェースに適用されていない検索ドメインは、ランダムに見える短い名前の失敗を生みます。

サフィックスを足せば直るなら、残る作業は、各利用者に打ち込ませるのではなく、そのサフィックスを VPN プロファイル経由で配ることです。

NetBIOS と WINS は別の仕組み

従来の SMB は NetBIOS 名前サービスで裸の名前をまだ引くことができ、これはブロードキャストか WINS サーバー経由で答えます。ブロードキャストは一つのブロードキャストドメイン内にとどまり最初のルーターで止まるため、トンネルを越えられず、WINS が機能するのは、クライアントに登録し問い合わせるためのユニキャストアドレスがあるからです。だからこそ IP だけを運ぶ VPN でも、WINS が設定され到達可能なら従来の名前を支えられます。

nbtstat -n
nbtstat -R

現代の SMB では DNS と完全な名前に頼り、従来の経路は引退させてください。本当に従来のものなら WINS を用意するかアプリケーションを置き換え、中間というのは決して空にならないサポート待ち行列のことです。

どの層が失敗したと言えるとき、この道のりは終わります:リゾルバー、サフィックス、従来の探索のいずれかです。次の人が同じ症状から始めるのだから、答えたリゾルバーと機能した名前の形を記録してください。

関連記事