web-dev-qa-db-ja.com

Androidデバイスは同じネットワークにあるホストへのルートを知りません

オフィスネットワークがあります(単一のwifiルーター付き)。 (Webブラウザー、Telnet)Androidデバイスをホストに接続しようとしています(両方ともwifi経由で同じルーターに接続されています)。

ルーターの設定:

IP: 192.168.1.1
Mask: 255.255.255.0

宛先ホスト上

#ifconfig
eth2   inet addr:192.168.1.108  Bcast:192.168.1.255  Mask:255.255.255.0

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth2
192.168.1.0     0.0.0.0         255.255.255.0   U     2      0        0 eth2

私のホストアドレス:192.168.1.108

Androidデバイスアドレス:192.168.1.105

Android(2.x/4.x)(tablet pc/mobile)からホストにpingを実行しようとすると、次のメッセージが出力されます。

From 192.168.1.105: icmp_seq=xx Destination Host Unreachable

2つのAndroidデバイスで「traceroute」ツールを使用してホストへのルートをトレースしようとしました。1つのデバイスは独自のアドレスを表示しましたが、数回試行した後、宛先アドレスとホスト名を表示しました。次に、宛先ホストで実行されているWebサービスに接続すると、接続されていました。

その後、しばらくすると再び接続できなくなり、tracerouteに同じ「自分の」アドレスとホスト名が表示されました。

他のAndroidデバイスに "traceroute"で宛先ホスト名を表示させることができませんでした。

以前のwifiルーターでも同じ動作でした。

どうしましたか? 「192.168.1.108」が別のネットワークに属していると考えるのはなぜですか?

4
gumkins

問題は、Androidがメインルートテーブルをファイルシステムに追加しないことです。

この場合、Androidから外部にpingを実行すると、次のように-I interface_numberオプションでのみ機能します。

 ping -I eth3 192.168.0.108

ただし、外部からのping Androidは機能しません。

この問題を修正するには、メインルートテーブルを追加する必要があります。

ip rule add from all lookup main pref 1

追加されたメインルートテーブルを見つけることができます:

ip rule

0:      from all lookup local

1:      from all lookup main

10000:  from all fwmark 0xc0000/0xd0000 lookup 99

13000:  from all fwmark 0x10063/0x1ffff lookup 97

15000:  from all fwmark 0x0/0x10000 lookup 99

16000:  from all fwmark 0x0/0x10000 lookup 98

17000:  from all fwmark 0x0/0x10000 lookup 97

そしてルートエントリ:

ip route list table main

192.168.0.0/24 dev eth3  proto kernel  scope link  src 192.168.0.105
6
Alan Wang

Linuxにはいくつかのルーティングテーブルがあります。私のAndroid電話は、番号2の「隠し」テーブルを使用しています。

表0に、すべてのエントリを示します。

ip route show table 0

ホストを表2に追加してみてください。

ip route add table 2 192.168.1.108 via 192.168.1.1

詳細については、こちらをご覧ください: http://linux-ip.net/html/routing-tables.html

1
u_Ltd.

これが問題かどうかはわかりませんが、一部のWi-Fiルーターとアクセスポイントには、接続されたデバイスが相互に通信することを制限する「ステーション分離」または「ワイヤレス分離」と呼ばれる機能があります。この機能を有効にすると、アクセスポイントは接続されている異なるデバイス間でパケットをルーティングせず、デバイスとアップリンクポート間でのみルーティングします。

この機能は、ゲストアクセスを提供するビジネスネットワークを対象としており、プリンター、サーバー、ネットワーク共有などのサービスはすべて有線LANを介して接続されているため、ワイヤレスワイヤレス通信は実際には必要なく、ゲストを機密性の高いものから分離するのに役立ちます。ビジネスネットワーク。

0
Joel Coehoorn