라우팅에 사용되는 게이트웨이를 찾는 방법


44

이것은 유닉스 환경에 있습니다. 호스트에 여러 경로가 있습니다 ( 'ip route show'명령으로 볼 수 있음). 주소를 핑 (ping)하는 경우 tracffic을 라우팅하는 데 사용 된 게이트웨이를 어떻게 알 수 있습니까?

traceroute 명령을 사용해 보았지만 즉각적인 게이트웨이가 표시되지 않습니다.

아래 출력에서 ​​10.58.227.1이 기본 게이트웨이입니다.

# ip r l
10.58.227.0/24 dev front_eth1  proto kernel  scope link  src 10.58.227.231
169.254.0.0/17 dev bond0  proto kernel  scope link  src 169.254.0.4
default via 10.58.227.1 dev front_eth1  proto gated

외부 주소로 경로 추적을 수행하면 사용 된 게이트웨이 (기본 게이트웨이 10.58.227.1)가 출력에 표시되지 않습니다.

# traceroute -n -I 10.63.21.118
traceroute to 10.63.21.118 (10.63.21.118), 30 hops max, 40 byte packets
 1  10.58.112.1  0.507 ms  1.008 ms  1.017 ms
 2  10.63.21.118  0.228 ms  0.233 ms  0.234 ms

라우팅에 사용 된 게이트웨이를 포함 하여 traceroute 명령에서 제공 한 것과 동일한 정보를 볼 수있는 옵션이 있습니까?

답변:


72

ip route get <address>명령을 사용하여 커널에게 지정된 주소로 패킷을 보내는 데 사용할 경로를보고하도록 요청할 수 있습니다 .

$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0  src 192.168.0.121 
    cache 
$ 

192.168.0.1내 기본 경로입니다. 기본 경로를 거치지 않는 주소를 요청하는 경우 :

$ ip route get 192.168.0.116
192.168.0.116 dev eth0  src 192.168.0.121 
    cache 
$ 

많이 녹여. :) 문제가 해결되었습니다.

랜덤 사이드 질문- 192.168.0.1"기본 경로"또는 "게이트웨이"인 경우 ... 어떤 이름을 나타내는 데 사용 192.168.0.121됩니까? 그냥 "소스"?
dtmland

@sarnold, 해당 서버에서 인터넷이 필요한지 확인하십시오.
kd12

@ kd12 패킷을 인터넷으로 라우팅하려는 경우 해당 서버의 인터넷 연결 만 있으면됩니다. 원하는 경우 인터넷에 연결하지 않고도 IP 네트워크를 설정할 수 있습니다. 라우팅 테이블은 모르고 상관하지 않으며 모두 동일하게 작동합니다. :)
sarnold
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.