「ipパス表示」の出力が不完全なようです。デフォルトのルートはありませんが、とにかくインターネットにアクセスできます。

「ipパス表示」の出力が不完全なようです。デフォルトのルートはありませんが、とにかくインターネットにアクセスできます。

ユーザースペース(apt、GNUツール、ch​​rootで実行され、sshを介してアクセスできる他のソフトウェア)でDebianシステムを実行しているAndroid携帯電話では、ルーティングテーブルが不完全なようです。

出力ip route -all -details show

unicast 192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.2.108 
unicast 192.168.43.0/24 dev p2p-p2p0-0 proto kernel scope link src 192.168.43.1 

出力ip route get 1.1.1.1

1.1.1.1 via 192.168.2.1 via ??? ??? dev wlan0 src 192.168.2.108 
    cache 

それはどこから出たの192.168.2.1?これは実際には正しいゲートウェイですが、ルーティングテーブル出力には表示されません。外部アドレスにも接続できます。

私の精神状態について疑問を抱いて別のツールを試してみましたが、同じ結果が出たときにカーネルに直接尋ねる方法を見つけました。

$ route -v
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 p2p-p2p0-0

$ cat /proc/net/route
Iface   Destination Gateway     Flags   RefCnt  Use Metric  Mask        MTU Window  IRTT
wlan0   0002A8C0    00000000    0001    0   0   0   00FFFFFF    0   0   0
p2p-p2p0-0  002BA8C0    00000000    0001    0   0   0   00FFFFFF    0   0   0

デバイスは「WiFiブリッジ」モードで動作しており、WiFiネットワークに接続し、同時にホットスポットを提供するため、2つのローカルネットワークがあります。カーネルは次のとおりです

$ uname -a
Linux localhost 4.1.18-g0fcbc9f #1 SMP PREEMPT Thu Dec 28 10:57:06 CST 2017 armv7l GNU/Linux

この魔法の基本パスはどこから来るのでしょうか?

ベストアンサー1

標準ip routeプログラムはオプションがわからない-allので、-detailsここにAndroid専用バージョンがあるかもしれません。

テーブルには、デフォルトのルーティングエントリ以外のルーティングエントリがあります。

ipコマンドが標準に準拠していると仮定し、ip以下を実行します。

ip rule

少なくともテーブルのリストを表示する必要があります。

0:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default 

それでは、一つ一つ確認してみることができます。

ip route show table 32767

上のリストのテーブル番号などが推論されます。

おすすめ記事