インターネット回線上でVPNアプリケーションを使って特定のネットワーク内のコンピュータ(サーバなど)にアクセスする場合に、特定ネットワーク上のコンピュータ(サーバなど)に対してIPアドレス直打ちするとアクセスできるが、コンピュータ名を指定するとアクセスできない!
つまりVPN接続のときに名前解決ができない!という場合の対処法・解決策をおすすめ順に3つ紹介します。
目次
VPN経由だとDNSで名前解決できない現象
例えば、サーバのコンピュータ名(NetBIOS名)を「TestSrv」とします。
そして、ネットワーク上のすべてのコンピュータ(サーバ、クライアントPC)はADドメインに参加しているとします。
<実際に発生した現象>同じネットワークにクライアントPCとサーバを置いて、クライアントPCのエクスプローラのアドレス欄に「\\TestSrv」と入力すると、サーバの共有フォルダにアクセスできる。
ところが、インターネットからVPNアプリを使ってこのネットワークにアクセスした場合は「\\TestSrv」と入力してもサーバにアクセスできない。
※このときコマンドプロンプトからnslookupでDNSサーバに問い合わせてみたところ、DNSサーバにはアクセスできるが「TestSrv」の名前解決はできなかった。
それでは、この現象を解決する3つの対処法・解決策を紹介します。
VPN接続で名前解決する方法①:フルコンピュータ名
1つ目は、フルコンピュータ名を使った方法です。
例えば、ADドメインが、TEST.ADだった場合は、フルコンピュータ名(サーバ名+ドメイン)を指定すればアクセス可能になります。
このとき、nslookupでTestSrv.TEST.ADを引くとIPアドレスが返ってきます。
この方法をおすすめする理由は、サーバと同じネットワークに接続している状況でも、インターネットからVPN経由でアクセスする状況でも、フルコンピュータ名を指定しておけば、サーバにアクセスができるという点です。
つまり、どちらの状況でも同じ設定内容でアクセス可能ですので、クライアントPCの管理が楽です。
VPN接続で名前解決する方法②:hostsファイル
2つ目は、hostsファイルを使った方法です。hostsファイルにサーバのIPアドレスを記述しておけば、この情報を使って名前解決をすることができます。
hostsファイルの場所:C:\Windows\System32\drivers\etc\hosts
最下行に追記する内容:XXX.XXX.XXX.XXX(IPアドレス) サーバ名
例えば、サーバ名が「TestSrv」で、IPアドレスが「192.168.1.10」の場合は、次のように追記します。※IPアドレスとサーバ名の間は半角スペース
これでDNSサーバで名前解決できなくても、hostsファイル内の情報で名前解決ができますので、これでVPN経由でもサーバにアクセス可能となります。
ただし、クライアントPC1台1台にこの設定が必要ですので、その点は注意が必要です。
VPN接続で名前解決する方法③:IPアドレス直打ち
3つ目は、サーバのIPアドレスを直打ちを使った方法です。これは名前解決する方法ではありませんが、VPN経由でサーバにアクセスするための方法の1つとして紹介しておきます。
しかしこの方法では、サーバのIPアドレスを変更する場合に、クライアントPCで入力するIPアドレスも変更しなければならないため注意が必要です。
VPN経由だとDNSで名前解決できないまとめ
VPN接続のときに名前解決ができない!という場合の対処法・解決策をおすすめ順に3つ紹介しました!
一番のおすすめはフルコンピュータ名を指定する方法ですので、同じ現象でお困りの方はぜひ試してみてくださいね。
Windows10でこれだけは知っておきたい便利情報