• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:windowsのドメイン名前解決がうまくいかない)

Windowsのドメイン名前解決がうまくいかない

このQ&Aのポイント
  • LAN内のWindowsから内部のサーバにドメインでアクセスできない問題が発生しています。
  • LAN内にDNSサーバを構築し、優先度を設定していますが、ルーターのIPを引いてしまっています。
  • 原因が分からず、アドバイスを求めています。提示すべき情報があれば提供します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

なるほど。IPv6だったんですね。 はっきりできてよかったです。 ちなみに、IPv6はDHCPサーバーがなくても、 ルーターのRAからIPv6アドレスが自動設定されますが、 そのときにDNSも通知してくれる機器もあるようです。 http://www.geekpage.jp/blog/?id=2017-1-10-1 あたりが参考にならないでしょうか?

その他の回答 (5)

回答No.5

> やはりKDDIのDNSからグローバルIPを引いてしまいます・・。 バッファローのルーターのDHCPではDNS通知として、dnsmasqのIP。 バッファローのルータ自身が使うDNSは、dnsmasqとgoogleのIP ということなので、 KDDIのDNSのIPアドレスを知っているのは、  KDDIのルーター自身か  KDDIのルーターのDHCPクライアント機か  DNS設定を静的に行っている場合か に限られますよね。 例えば、 WindowsのTCP/IPのプロパティー内に代替え構成っていうのがありますが、 そっちにKDDIルーターへ無線接続するための設定やDNS設定が残っているという ことはありませんか? もしくは、IPv6のTCP/IPの設定のほうとか。

palayo
質問者

お礼

Windowsの「ネットワーク接続の詳細」で確認したところ、 IPv6のDNSにKDDIのDNSである2001:268:fd07:4::1がいました!! とりいそぎ、IPv6を無効にしたところ、LAN内でも名前解決できるようになりました!! ありがとうございます!! ただ、WindowsのIPv6についてはDHCPからの自動取得になっていましたが、 どちらのルータの設定を確認してもIPv6に関しては特に設定がなく、 (正確にはバッファローには設定項目自体がなく、  KDDIのルータではIPv6のDHCPは無効になっています) なぜDNSサーバが設定されていたのかが全く不明です。 現状IPv6は使用していないので、無効とすることで解決しました。 ありがとうございます。 参考までにIPv6がDHCPでKDDIのドメインが使われている理由について どんな可能性があるか教示いただけるとありがたいです。

回答No.4

多段ルータ構成なんですね。 2段目のバッファローのルーターと有線接続のみのつもりが、 一段目のKDDIのルータと無線LAN接続もされてしまって そっちのDNSが優先されてしまっているとか? (無線LANと有線LANの多重接続状態) そうでないなら・・・・ > となると、ルーターのDHCPでのDNS配布設定が怪しいということですよね。 おっしゃる通りですね。 Windows側が変更されたDNS通知をまだ再取得できていないとか もしくは、Windows側でDHCPのDNS通知よりも優先されるDNS設定がある というのも違えますが、それらは確認済で除外できるということなので、 あと考えられるとすると、ルーターのDHCPの設定画面で設定できているつもりが、 まだ本体に反映されていないだけとか、 単なるルーターのバグで、DHCPのDNS通知を設定しても、無視されて ルーター自身をDNS通知してしまっているとか。 一度、ルーターとWindowsとも再起動してみてはどうでしょう。 (無線LANと有線LANの多重接続状態ということでないならですが) 原因がはっきりしないのは、気になりますが、最悪、 Windows機側で、固定のDNSを指定するか BuffaloのルーターのDHCPを止めて、Linux機をDHCPサーバーとして稼働させるとか とすれば、解決できそうですが。

palayo
質問者

お礼

回答No.5のお礼に記載した通り、IPv6を無効にすることで解消しました。 ありがとうございました。

palayo
質問者

補足

ルーターのDHCPの設定を疑ったのですが、よく考えてみると、 DHCPでIP取得しているandroidスマホではちゃんとドメインから名前解決できているのですよね。 なので、やはりwindows側の名前解決に問題があるように思います・・・。 windowsのDNSを固定にして、 $ ipconfig /release $ ipconfig /flushdns $ ipconfig /renew しましたが、やはりKDDIのDNSからグローバルIPを引いてしまいます・・。 多重接続については、 KDDIルータは有線のみでバッファローのルーターのみと接続、 Windowsはバッファローのルーターと無線でのみ接続しているので、 多重接続はないです。

回答No.3

> (6) nslookupで確認してみました。 >> nslookup www.xx*.com >サーバー: cdns01.kddi.ne.jp >Address: 2001:268:fd07:4::1 > >権限のない回答: >名前: www.xx*.com >Address: (ルータのグローバルIP) ISPのサーバーが使われてしまっていますね。 ということは 該当のWindows機のDNS設定として、 LAN内のdnsmasqでもルーターのDNSキャッシュサーバーでもなくて ISPのDNSになっているということになりますね。 しかし、 > TCP/IP詳細設定 > DNSタブにて確認しましたが、DNSの指定なしでした。 の状態であり、 DHCPでdnsmasqのIPをDNSとして告知して、ipconfig/renewもしているにも関わらず、 DNSがdnsmasqのIPになってくれないということは LAN内に不正なDHCPサーバーが別に存在しているのかもしれません。 ipconfig/allで IPアドレスを取得したDCHPサーバーのIPアドレスがわかりますので これがルーターのIPアドレスになっているかを調べてみてはどうでしょう。

palayo
質問者

お礼

回答No.5のお礼に記載した通り、IPv6を無効にすることで解消しました。 ありがとうございました。

palayo
質問者

補足

アドバイスありがとうございます。 ipconfig /all で確認したところ、DHCPサーバはルータのIPアドレスになっていました。 となると、ルーターのDHCPでのDNS配布設定が怪しいということですよね。 外部とはKDDIのモデム兼ルータが繋がっており、 ルーターはbuffaloのWZR-1750DHP2を使用しています。 外部---(1)---(KDDIルータ)---(2)---WZR-1750DHP2---(3)---(Win/Linux PC) (1)はWAN(インターネット) (2)は192.168.0.x/24 (3)は192.168.1.x/24 のネットワークで、ルーターの設定は以下の通りです。 WAN側 IPアドレス 192.168.0.2 サブネットマスク 255.255.255.0 デフォルトゲートウェイ 192.168.0.1 DNS(プライマリー) (dnsmasqのIP) DNS(セカンダリー) 8.8.8.8 LAN側 IPアドレス 192.168.1.1 サブネットマスク 255.255.255.0 DHCPサーバー 有効 LAN側DHCPの設定 DNSサーバーの通知:プライマリー ⇒ (dnsmasqのIP) WINSサーバーの通知:通知しない ドメイン名の通知:通知しない 原因がつかめそうで、つかめない感じです・・。

回答No.2

dhcpd.confでなく、dhcpcd.conf とのこと、失礼しました。 補足された内容から見ると、仰るとおりWindowsでの名前解決に問題があるという ことで 間違いないと思います。 ルータのDHCPサーバーの設定で、dnsmasqのIPアドレスを指定しているはずなのに Windowsaだけが、ルーターのDNSキャッシュサーバーを使っていることが疑われるなら まずは、Windowsのコマンドプロンプトで ipconfig /displaydns を行ってみてはどうでしょう。 疑うとしたら、 (1)DHCPサーバーの設定をしたが、まだDHCPクライアント側でそれを再取得できていない →ipconfig/renewで再取得してみる。 (2)DHCPサーバーがDNSを告知しているが、Windows側のTCP/IP設定で   DNSを指定しているので、それが優先されている  →ネットワークのTCP/IPのプロパティー確認 (3)DHCPサーバーの設定で、DNSとして2つのIPを書いても   Windows側でDNSの先度順がその順番通りになっているとは限らないので   DHCPサーバー設定の告知DNSとしてはdnsmasqのIPのみにしてみる (4)念のため、  %SystemRoot%\system32\drivers\etc 確認してみる (5)、NetBIOS 名前解決 の Windowsのコンピュータ名やLMHOSTSファイルで   ホスト名の衝突があるかもしれないので    ping www.example.com   でIPアドレスを確認してみる の順番で確認してみてはどうでしょう。

palayo
質問者

補足

ありがとうございます。いただいたアドバイスに沿って実施しましたので、確認いただけますでしょうか。 まずは、Windowsのコマンドプロンプトでipconfig /displaydnsを行ってみました。 > ipconfig /flushdns > ipconfig /displaydns www.xx*.com ---------------------------------------- レコード名 . . . . . . . : www.xx*.com レコードの種類 . . . . . : 1 Time To Live . . . . . .: 3563 データの長さ . . . . . . : 4 セクション . . . . . . . : 回答 A (ホスト) レコード. . . : (ルータのグローバルIP) (1)ipアドレス更新しました >ipconfig /release >ipconfig /renew >ipconfig /all DNS サーバー. . . . . . . . . . . . .: (macアドレス) (dnsmasqのIP) (ルータのプライベートIP) NetBIOS over TCP/IP . . . . . . . . .: 有効 (2)ネットワークのTCP/IPのプロパティー確認 ⇒TCP/IP詳細設定 > DNSタブにて確認しましたが、DNSの指定なしでした。 (3)DHCPサーバー設定の告知DNSとしてはdnsmasqのIPのみにしてみる →dnsmasqのみにして、ipconfig /releaes , ipconfig /renew, ipconfig /flushdns しましたが、結果は変わりませんでした。 (4)%SystemRoot%\system32\drivers\etc 確認してみる hostsには設定なし(コメント行のみ) lmhosts.samにも設定なし(コメント行のみ) その他のファイルにも気になる設定はなかったのですが、気にすべきファイルがあれば教えてください。 (5)ping www.example.comでIPアドレスを確認してみる > pint www.xx*.com www.xx*.com [(ルータのグローバルIP)]に ping を送信しています 32 バイトのデータ: (ルータのグローバルIP) からの応答: バイト数 =32 時間 =1ms TTL=254 (ルータのグローバルIP) からの応答: バイト数 =32 時間 =1ms TTL=254 (6) nslookupで確認してみました。 > nslookup www.xx*.com サーバー: cdns01.kddi.ne.jp Address: 2001:268:fd07:4::1 権限のない回答: 名前: www.xx*.com Address: (ルータのグローバルIP) > nslookup www.xx*.com (dnsmasqのIP) サーバー: dns.xx*.com Address: (dnsmasqのIP) 名前: www.xx*.com Address: 192.168.1.3 以上の結果から、DHCPでdnsmasqのIPアドレスしかDNSとして指定していないにも関わらず、なぜかプロバイダーのDNSに問い合わせに行っていると思われます。 nslookupで明示的にdnsmasqをDNSサーバに指定すればLAN内のIPアドレスを引いてくれるため、dnsmasq側の設定には問題なく、windowsの名前解決に問題があることが分かります。 なぜ指定されたDNS以外に名前解決しに行くのかが分かりませんでした。 引き継づき、アドバイスいただければ幸いです。

回答No.1

DNSサーバ(dnsmasq)では、該当のドメインのホスト名の ローカルIPアドレスを記載できているのですか? (/etc/hostsで 192.1681.3 www.example.com example.com 等) それと、DHCPサーバーとしてルーターを使っているのに 同じLAN内のLinuxにもDHCPサーバー(dhcpd.conf)があるというのが なんか変ですね。もしかしてdhcpd.confじゃなくて resolv.confのことですか?

palayo
質問者

お礼

回答No.5のお礼に記載した通り、IPv6を無効にすることで解消しました。 ありがとうございました。

palayo
質問者

補足

DNS(dnsmasq)サーバの/etc/hostsにはホスト名を登録しています。 192.168.1.3 www.xx*.com LAN内のルーターをDHCPサーバとして使用しています。 LAN内のLinuxにDHCPサーバは立てていないです。 dhcpd.confではなく、/etc/dhcpcd.confでdebian系LinuxのIPの設定ファイルです。 このファイルに以下のように指定しています。 domain_name_servers=(dnsmasqのIP) (ルーターのIP) これでdnsmasqサーバ以外のLinuxクライアントからも、 dnsmasqに問い合わせてwww.xx*.comのIPを引けています。 一方でwindowsクライアントではDHCPでIPを設定しており、 ルーターのDHCP設定で 1:(dnsmasqのIP) 2:(ルーターのIP) を指定していますが、windowsでnslookup www.xx*.comで確認すると、 名前解決ではdnsmasqに問い合わせず、ルーターに問い合わせています。 ipconfig /all で確認すると、DNSサーバーは上記1,2の順で設定されています。 LANに接続するandroidスマホも、DHCPでIP設定を取得していますが、 このスマホからはLAN内ではdnsmasqを参照して、 LAN外からは外部DNSを参照して名前解決できています。 なので、DNSおよびルーターの設定には問題なく、windowsの問題だと考えています。 windowsは名前解決の際に、DNSおよびローカルのhostsだけでなく、 WINSなど色々使用するようなので、その影響を疑っていますが、 この辺に疎いのでよく分かっていません。