ローカルネットワークアプリケーションにアクセスしようとすると、Androidデバイス(Nexus 7)で非常に奇妙な動作をします。LAN上のマシンの実際のIPを取得する代わりに、Androidデバイスはパブリック IPを取得します。つまり、Chrome、Firefox、またはその他のブラウザーはルーターのWebページを表示するだけです。
ローカルネットワークを処理する内部DNSサーバーがあります。こうping
PCからは正常に動作します:
$ ping s.pelicandd.com
PING pelicandd.com (192.168.1.15) 56(84) bytes of data.
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=1 ttl=64 time=0.524 ms
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=2 ttl=64 time=0.578 ms
^C
HTC Oneデバイス(でアクセスadb shell
)でも、うまく機能します。
shell@m7:/ $ ping s.pelicandd.com
PING pelicandd.com (192.168.1.15) 56(84) bytes of data.
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=1 ttl=64 time=2.56 ms
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=2 ttl=64 time=27.8 ms
^C
ただし、これはping
Nexus 7から同じことを行ったときに得られるものです。
shell@flo:/ $ ping s.pelicandd.com
PING pelicandd.com (90.78.26.42) 56(84) bytes of data.
64 bytes from LFbn-1-2441-42.w90-78.abo.wanadoo.fr (90.78.26.42): icmp_seq=1 ttl=64 time=2.56 ms
64 bytes from LFbn-1-2441-42.w90-78.abo.wanadoo.fr (90.78.26.42): icmp_seq=2 ttl=64 time=8.63 ms
^C
内部IPに解決する代わりに、パブリックIPに解決します。
ネットワーク構成は、デバイスのIPアドレスを除き、両方のデバイスでまったく同じです。IP設定はStaticに設定され、DNSサーバーは内部サーバーです。両方のAndroidデバイスはWi-Fi経由で接続されます(PCとは異なります)。ただし、大きな違いは、Nexus 7はAndroid 6.0.1を使用しているのに対し、HTC OneはAndroid 5.0.2を使用していることです。
そこにはありませんnm-tool
、dig
またはnslookup
ネクサス7の上にデバイスが根付いていません。
問題は数週間前にデバイスを購入してから存在していたため、DNSキャッシュの問題ではないでしょう。
この問題をさらに詳しく調べるにはどうすればよいですか?