다중 인터페이스에 있을 때 라우터의 주소가 무엇인지 어떻게 알 수 있나요? netstat -rn을 사용하면 라우터 주소인 기본 인터페이스의 게이트웨이를 얻을 수 있다는 것을 알고 있습니다. 하지만 다른 인터페이스는 어떻습니까?
제 경우에는 서로 다른 라우터의 eth0과 wlan0에 있고 OS는 eth0을 기본값으로 선택하지만(wlan0에 대한 게이트웨이를 찾을 수 없습니다) 인터페이스의 라우터 주소를 쿼리하는 일반적인 방법이 있습니까? ?
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
$ ifconfig
eth0 Link encap:Ethernet HWaddr b4:b5:2f:32:f3:22
inet addr:192.168.1.132 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::b6b5:2fff:fe32:f322/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3035 (3.0 KB) TX bytes:9857 (9.8 KB)
Interrupt:17 Memory:d4400000-d4420000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:569 errors:0 dropped:0 overruns:0 frame:0
TX packets:569 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:53950 (53.9 KB) TX bytes:53950 (53.9 KB)
wlan0 Link encap:Ethernet HWaddr 60:67:20:00:56:6c
inet addr:192.168.2.115 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::6267:20ff:fe00:566c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8152 errors:0 dropped:0 overruns:0 frame:0
TX packets:4030 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6316155 (6.3 MB) TX bytes:574275 (574.2 KB)
답변1
내 생각엔 당신이 이 ip route
명령을 원하는 것 같아요. 두 개의 이더넷 카드 "enp3s0"과 "enp3s8"이 있는 내 서버에서 이것을 호출하면 ip route
다음과 같은 결과를 얻습니다.
1001 % ip route
default via 10.0.0.1 dev enp3s8
10.0.0.0/24 dev enp3s8 proto kernel scope link src 10.0.0.3
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.148
그러면 모든 경로가 표시됩니다. 다음과 같이 특정 장치 이름에 대한 경로를 얻을 수 있는 것 같습니다.
[root@splunge ~]# ip route list dev enp3s8
default via 10.0.0.1
10.0.0.0/24 proto kernel scope link src 10.0.0.3
"기본값 통과" 줄에는 라우터의 IP 주소가 표시됩니다.
모든 것이 Arch Linux 상자에 있습니다. ip
는 패키지의 일부 iproute2
이며 입니다 /usr/bin/ip
. 이전 RHEL 시스템에서는 이며 /sbin/ip
어떤 패키지에서 왔는지 모르겠습니다.
답변2
traceroute
사용하려는 장치를 사용 하고 지정 -i
하면 다음 홉은 해당 장치에 연결된 라우터가 됩니다.
답변3
내가 찾은 가장 좋은 방법은 /var/lib/dhcp/dhclient.(interface).leases에 있는 dhcp 구성 파일을 인쇄하고 거기에서 라우터 정의를 찾는 것입니다.