"BOKU"のITな日常

BOKUが勉強したり、考えたことを頭の整理を兼ねてまとめてます。

検索結果で開くサイトと開かないサイトがある時はIPv4とIPv6の優先度を疑う

f:id:arakan_no_boku:20190301193447j:plain

Googleで検索結果として表示されているのに、開けるサイトと開けないサイトがある!

そんな場合の解決のヒントです。

目次

Gogle検索結果からリンクが開かない 

結婚して独立してる息子が新しく買ったパソコンを持って訪ねてきた時のことです。

息子が、パソコンをうちのLAN(無線)に接続して使い始めたのですが「Google検索しても、サイトが開かない!!!」と言って、慌て始めました。

でも、息子のPCも、Google検索とかは普通にできていますからネットワークの問題ではありません。

自分のPCだとGoogle検索結果から、息子のPCで開かないサイトも見ることができますし、どうも全部が見られないのではなく、開くサイトと開かないサイトがあります。

原因はIPV6優先の設定だった

開くサイト、開かないサイトになんらかの共通項がないか調べました。

すると。

  • IPV6対応できているサイトのページは開く
  • IPV6対応できていないサイトのページは開かない。

ということがわかりました。

IPV6IPV4に優先されているときに、こういうことが起こります。

なんか、設定いじってない?と聞いたところ、勉強がてらにネットワーク周りの設定をいじったような気がする・・とのことでした。

息子の家のネットワークだと、それでもインターネット接続の問題がでなかったので、変更したこと自体忘れていたみたいです。

とりあえず、息子のPCは、IPV6IPV4に優先される設定になってましたので、息子に「Windows10の設定でIPV4の優先度をあげてみたら?」と提案して、やってみると、問題は解消しました。 

追記

前の書き方だと、息子が設定をいじって、IPV6優先に変えていた・・みたいだけど、Windows10はIPV6優先がデフォルトなのでおかしくない?とご指摘をいただきました。

いや・・まったく、その通りです。

この時点でIPV4の優先度が高い自分のPCのほうがイレギュラーなのです(笑)。

自分でいじったのも忘れてて、まるで息子のほうが問題なように書いてましたね。

すいません。m(__)m。

調査方法:サイトがIPV6対応かどうか 

IPV6対応のサイトと、対応していないサイトを調べた方法です。

サイトがIPV6対応かどうかを確認するのは、nslookupでできます。

例えば、https://www.yahoo.co.jp/ だったら、https://とか余分な部分を覗いて

nslookup www.yahoo.co.jp

とすると、こんな結果が返ってきます。

名前: edge12.g.yimg.jp

Address: 183.79.217.124

Aliases: www.yahoo.co.jp

 アドレスがIPV4のみだから、これはIPV6未対応サイトだとわかるわけです。

ちなみにGoogleだと

nslookup www.google.co.jp

で結果が。

名前: www.google.co.jp

Addresses: 2404:6800:4004:807::2003

172.217.161.35

で、IPV6のアドレスがついているので、IPV6対応のサイトですね。

ついでに技術系のブログで有名なqiita.com を試してみます。

nslookup qiita.com

結果は。

名前: qiita.com

Addresses: 2406:da14:add:902:fb20:6b79:80b1:aed

2406:da14:add:901:4f1c:df8a:56fc:3303

2406:da14:add:900:77a7:f314:7577:d718

18.179.247.240

13.112.220.124

54.92.94.201

 おお・・。

IPV6対応だ。

じゃあ、我らがはてなブログ

nslookup hatenablog.com

結果は。

名前: hatenablog.com

Addresses: 13.230.115.161

13.115.18.61

 残念、現時点ではIPV6未対応みたいですね。 

なぜ同じ設定でうまくいく場合といかない場合があったか 

もうひとつの疑問。

なぜ、息子の自宅では同じ設定で問題がでなかったのに、自分のところではうまくいかなかったのかについて確認しておきます。 

結論からいえば、接続環境の違いでした。

こちらの接続判定ツールを使います。。

kiriwake.jpne.co.jp

こいつを実行してみると。

f:id:arakan_no_boku:20210329234857p:plain

なるほど。

これでPC側を、IPV6を優先するなんて設定にしてたら、つながるわけがないです。

ちなみに、息子の自宅ではないですが、別の環境にPCを持って行って同じテストをしてみると、違う結果でした。

f:id:arakan_no_boku:20190309013342j:plain

こちらは、IPV6でアクセスし、プロバイダ側でIPV4トンネルを通してくれています。

こういう違いで同じ設定でも、IPV6未対応サイトに接続できたり、できなかったりが発生していたみたいです。

以前のWindows10のネット接続問題 

話は変わりますが、以前にも、Windows10でネットに接続できない・・って問題が話題になったことがあったことを思い出しました。

togeonet.co.jp

引用すると。

次世代のOSであるWindows10は基本的にIPv6でインターネット接続をしようとします。

IPv6で接続するためには、インターネットを提供しているプロバイダーはもちろん、ルーターやハブ、サーバまで、IPv6に対応している必要があります。

しかし、ほとんどの企業がIPv6への切り替えをしておらず、ネットワーク機器の買い替えや設定変更が必要なことをご存知ありません。

つまり、IPv6が繋がらない状況下でWindows10だけが先走ってIPv6で繋げようとするので、インターネットが繋がらなくなってしまったということです。

この時の解決方法が「インターネットプロトコルバージョン6(TCP/IPv6)」のチェックを外して、IPV6を無効化する」でした。

今考えると、相当乱暴なやり方ではあります。

案の定、マイクロソフトからは「無効化は非推奨」で、優先順位の変更をするようにとのアナウンスがあったりして、かなりややこしい話になってました。

https://support.microsoft.com/ja-jp/help/929852/guidance-for-configuring-ipv6-in-windows-for-advanced-users

もっとも。

この問題があったのは、会社で使っているPCだけで、自宅のPCでは、問題なかったので話をきいても「ふーん」で終わってましたけど。 

追記:いつの間にか同じ条件でもうまくいくようになってる?

ちょっと前に、ノートパソコンを買い替えました。

Windows10パソコンです。

当然ながら、Windows10はデフォルトがIPV6優先です。

この記事を書いたおかげでうちの環境だとIPV4優先に変更しないといけない・・というのは覚えていたのですが、いちおう再現するか確認してみようと思って、デフォルトのままで使ってみました。

すると・・・。

なんと、問題なくつながります。

あれ?・・と思って、調べてみると。

f:id:arakan_no_boku:20210808152822p:plain

::1/128 (IPV6)が、::ffff:0:0/96 (IPV4)の上に来ているので、IPV6優先のままです。

ひょっとして、自分の環境の接続が知らぬ間に改善されているのかと思って試すしても結果は同じ「機器がIPV6対応していません」とでます。

IPV6対応できていないサイトを狙って接続してみてもつながります。

何も環境は変わっていないのに、知らない間に問題がなくなっている・・とは。

こんなことがあるんですね。

Windows10のupdateで改善されたのでしょうかね?

そんな話題は聞かないけどなあ。

うーーむ。

謎です。

問題ないから、いいんですけど・・ねえ。

なんか気持ち悪いです。

ではでは。