"ip 경로 표시"의 출력이 불완전한 것 같습니다. 기본 경로는 없지만 어쨌든 인터넷에 액세스할 수 있습니다.

"ip 경로 표시"의 출력이 불완전한 것 같습니다. 기본 경로는 없지만 어쨌든 인터넷에 액세스할 수 있습니다.

사용자 공간(apt, GNU 도구 및 chroot에서 실행되고 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 네트워크에 연결하고 동시에 핫스팟을 제공하므로 두 개의 로컬 네트워크가 있습니다. 커널은 다음과 같습니다

$ 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

위 목록의 테이블 번호 등이 추론됩니다.

관련 정보