SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

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

f:id:arakan_no_boku:20190301193447j:plain

目次

開くサイトと開かないサイトがある時はIPv4IPv6の優先度を疑う

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

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

 

リンクで開くサイトと開かないサイトがある 

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

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

息子のPCもGoogle検索できてるのでネットワークの問題ではありません。

自分のPCからだとGoogle検索結果から、息子のPCで開かないサイトも見ることができますので、相手サイトの問題でもありません。

いくつか比較しあってみたところ、全部が見られないのではなく、開くサイトと開かないサイトがあることがわかりました。。

 

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

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

すると。

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

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

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

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

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

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

ちなみに。

後でわかったのですが、Windows10はIPV6優先がデフォルトらしいです。

この時点でIPV4の優先度が高い自分のPCのほうがイレギュラーなので、きっと、自分でいじったのに、僕がそれを忘れてたということなんでしょうね。

とりあえず、補足します。

指摘いただいた方、ありがとうございました。

 

調査方法:サイトが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未対応サイトに接続できたり、できなかったりが発生していたみたいです。

 

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

この記事を最初に書いたのは2019年8月なんですが。

ちょっと前(2021年)に、僕もノートパソコンを買い替えました。

Windows10パソコンです。

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

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

すると・・・。

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

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

f:id:arakan_no_boku:20210808152822p:plain

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

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

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

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

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

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

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

うーーむ。

謎です。

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

なんか気持ち悪いです。

 

おまけ:以前の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では、問題なかったので話をきいても「ふーん」で終わってましたけど。 

ではでは。