ローカル ネットワーク経由で Android デバイスから Win10 PC に ping\trace できない

ローカル ネットワーク経由で Android デバイスから Win10 PC に ping\trace できない

ローカル 5G Wi-Fi ネットワーク 192.168.2.0/24

Android 5.1.1\CyanogenMod 12.1 デバイス IP: 192.168.2.222 (ubeogesh-opo) (jackpal.androidterm を使用してコマンドを実行します)

Windows 10 PC IP: 192.168.2.150 (ubeogesh-pc)

Windows ファイアウォールは無効、ネットワーク検出は有効 (すべてのプロファイル)

ルーターIP: 192.168.2.1

PCからAndroidへのping:

Pinging 192.168.2.222 with 32 bytes of data:
Reply from 192.168.2.222: bytes=32 time=73ms TTL=63

PCからAndroidへのTraceroute:

Tracing route to ubeogesh-opo [192.168.2.222]
over a maximum of 30 hops:

  1     1 ms    <1 ms    <1 ms  router.asus.com [192.168.2.1]
  2   308 ms     1 ms     1 ms  ubeogesh-opo [192.168.2.222]

Trace complete.

Android から PC への Ping:

PING 192.168.2.150 (192.168.2.150) 56(84) bytes of data.
^C
--- 192.168.2.150 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2002ms

Android からルーターへの Ping とトレースパス:

22|u0_a72@A0001:/ $ ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=109 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=127 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=115 ms
^C
--- 192.168.2.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 109.158/117.387/127.349/7.526 ms
u0_a72@A0001:/ $ tracepath 192.168.2.1
 1:  ubeogesh-opo                                          0.323ms pmtu 1500
 1:  router.asus.com                                       1.907ms reached
 1:  router.asus.com                                      39.411ms reached
     Resume: pmtu 1500 hops 1 back 64

AndroidからPCへのトレースパス:

tracepath 192.168.2.150
 1:  ubeogesh-opo                                          0.565ms pmtu 1500
 1:  no reply
^C

ルーター CP から、PC と Android の両方に ping を実行できます。

traceroute to 192.168.2.150 (192.168.2.150), 30 hops max, 38 byte packets
 1  192.168.2.150 (192.168.2.150)  1.072 ms  *  1.391 ms

traceroute to 192.168.2.222 (192.168.2.222), 30 hops max, 38 byte packets
 1  192.168.2.222 (192.168.2.222)  109.768 ms  1.159 ms  1.015 ms

PING 192.168.2.150 (192.168.2.150): 56 data bytes
64 bytes from 192.168.2.150: seq=0 ttl=128 time=2.087 ms

--- 192.168.2.150 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 2.087/2.087/2.087 ms

PING 192.168.2.222 (192.168.2.222): 56 data bytes
64 bytes from 192.168.2.222: seq=0 ttl=64 time=259.913 ms

--- 192.168.2.222 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 259.913/259.913/259.913 ms

一番気になるのは、PC から Android へのトレースルートにルーターが含まれることです。つまり、同じネットワーク内の両方のデバイスを無視して、ホップはとにかく最初にルーターに行きます。Android デバイスでルートを確認しようとしましたが、そこからはあまり読み取れません。

130|u0_a72@A0001:/ $ ip route show
192.168.2.0/24 dev wlan0  proto kernel  scope link  src 192.168.2.222

ルーター経由で PC へのルートを明示的に追加しようとしましたが、失敗しました。

ip route add 192.168.2.150/32 via 192.168.2.1
Cannot talk to rtnetlink: Permission denied

他に何を確認すればよいでしょうか? どこに問題があるのでしょうか?

答え1

問題は、SELinuxがあなた(シェルユーザー)にソケットrtnetlinkを作成させないようにしているのではないかと思います。まずはSELinuxをpermissiveモードに設定してみることをお勧めします。これは簡単な作業ではありません。携帯電話をルート化し、次のようなアプリケーションをインストールする必要があるからです。SELinuxモードの変更それをするために。

答え2

これは私の Windows 10 PC の問題でした。他のデバイスも接続できませんでした。この問題は、すべてのネットワーク設定をリセットすることで解決しました。あまり正確でエレガントな解決策ではありませんが (原因がわかればよいのですが)、うまくいきました。

私がやったことは次のとおりです:

  1. Win10の設定へ
  2. ステータスへ移動
  3. そこから「ネットワーク リセット」機能を使用してください。

再起動後、問題は再発しなかった

関連情報