RHEL 8에서 Traceroute를 찾고 계십니까? 추적 경로 시도

네트워크 진단은 네트워크 관리자가 직면하는 다양한 문제들을 파악하고 해결하는 데 필수적인 요소입니다. 이는 모든 네트워크 및 시스템 관리 업무에서 중요한 부분을 차지합니다.

네트워크 내 두 지점 사이에서 IP 패킷이 이동하는 경로를 파악하는 것은 숙련된 전문가에게는 매우 유용한 정보를 제공합니다.

네트워크 경로 분석 및 문제 해결을 위해 널리 사용되는 도구 중 하나가 바로 traceroute입니다. 이 도구는 다양한 플랫폼에서 사용할 수 있습니다.

traceroute는 간단히 말해, 프로브 패킷(ICMP ECHO 또는 TCP SYN)을 보내고, 그 후 ICMP “시간 초과” 응답을 수신하여 출발지부터 목적지까지의 IP 패킷 경로를 추적합니다. 이때 패킷의 TTL(Time To Live) 값은 의도적으로 1로 설정되며, ICMP “포트에 연결할 수 없음” 응답을 받을 때까지 1씩 증가합니다. 이는 패킷이 목적지 호스트에 도달했거나 최대 홉 수(기본값 30홉)에 도달했음을 의미합니다.

traceroute 실행 결과의 예시는 다음과 같습니다.

$ traceroute google.com
traceroute to google.com (172.217.169.14), 30 hops max, 60 byte packets
 1  140.91.200.22 (140.91.200.22)  0.129 ms 140.91.200.19 (140.91.200.19)  0.151 ms 140.91.200.77 (140.91.200.77)  0.114 ms
 2  linxbgp1.iwscloud.com (195.66.226.34)  0.735 ms  0.701 ms  1.024 ms
 3  195.66.224.125 (195.66.224.125)  0.603 ms  0.591 ms  0.591 ms
 4  108.170.246.129 (108.170.246.129)  0.583 ms  0.745 ms  0.714 ms
 5  209.85.241.95 (209.85.241.95)  1.576 ms 209.85.241.93 (209.85.241.93)  1.545 ms 209.85.241.95 (209.85.241.95)  1.520 ms
 6  lhr25s26-in-f14.1e100.net (172.217.169.14)  0.584 ms  0.547 ms  0.507 ms
$

위의 결과에서 볼 수 있듯이, 기본적인 traceroute 출력은 TTL(Time To Live), 각 패킷의 왕복 시간, 최대 홉 수, 패킷 크기(바이트), IP 주소, 그리고 가능한 경우 확인된 도메인 이름을 보여줍니다.

Traceroute는 응답 지연을 분석하고 두 노드 간의 라우팅 경로를 파악하는 데 매우 유용하며, 목적지에 도달하기까지 경로 상의 문제 지점을 식별하는 데 도움이 됩니다. 하지만 인터넷상의 많은 방화벽 및 라우터가 traceroute 메시지를 차단하므로, 결과가 항상 정확하지 않을 수 있다는 점을 염두에 두어야 합니다.

프로브 메시지의 유형을 변경하여 어느 정도 문제 해결이 가능하지만, 이는 일시적인 해결책에 불과할 수 있습니다. 따라서 이 도구를 사용할 때는 이러한 제약 사항을 고려해야 합니다.

traceroute의 일부 옵션은 원시 패킷 수정을 위해 루트 권한과 같은 관리자 권한이 필요할 수 있습니다.

tracepath 명령어

Red Hat Enterprise Linux (RHEL) 8 및 그 파생 Linux 배포판에는 traceroute 명령어가 기본적으로 설치되어 있지 않습니다. 이는 이전 버전의 Red Hat Linux나 CentOS에서 해당 유틸리티를 사용하던 사람들에게는 중요한 변화처럼 느껴질 수 있습니다.

하지만 RHEL 8에는 tracepath라는 명령어가 기본적으로 제공되어 있으며, traceroute와 유사한 기능을 제공합니다. 이 명령어는 시스템 설치 시 바로 사용할 수 있도록 준비되어 있습니다.

또한 tracepath는 MTU 옵션을 지원하여 네트워크를 통해 전송할 수 있는 최대 패킷 크기인 MTU(Maximum Transmission Unit) 값을 탐지할 수 있습니다.

tracepath 명령어 실행 결과 예시를 아래에서 확인할 수 있습니다.

$ tracepath 131.153.76.66
 1?: [LOCALHOST]                      pmtu 9000
 1:  140.91.200.23                                         0.416ms asymm  2
 1:  140.91.200.23                                         0.239ms asymm  2
 2:  140.91.200.74                                         0.194ms pmtu 1500
 2:  oracle-svc071175-lag003322.ip.twelve99-cust.net       1.344ms
 3:  ldn-b7-link.ip.twelve99.net                          19.996ms asymm  2
 4:  ldn-bb1-link.ip.twelve99.net                          0.803ms asymm  5
 5:  prs-bb1-link.ip.twelve99.net                          8.548ms asymm  6
 6:  mei-b5-link.ip.twelve99.net                          18.111ms asymm  5
 7:  no reply
 8:  phoenix-svc071932-ic358857.ip.twelve99-cust.net     179.691ms asymm  7
 9:  131.153.47.139                                      163.358ms asymm  8
10:  no reply
11:  131.153.76.66                                       159.071ms !H
     Resume: pmtu 1500
$

tracepath 기본 출력은 위에서 볼 수 있듯이 TTL(Time To Live) 또는 패킷의 왕복 시간, MTU(Maximum Transmission Unit) 값, tracepath를 통과하는 네트워크 경로 및 확인된 도메인 이름을 보여줍니다.

tracepath 사용법

tracepath 명령어의 일반적인 사용법은 다음과 같습니다.

$ tracepath <옵션> <목적지 DNS 또는 IP 주소>

#1. 별도의 옵션 없이 tracepath를 실행하면 아래와 같이 대상 경로가 표시됩니다.

$ tracepath 131.153.56.85
 1?: [LOCALHOST]                      pmtu 9000
 1:  140.91.200.77                                         0.226ms asymm  2
 1:  140.91.200.79                                         0.497ms asymm  2
 2:  140.91.200.74                                         0.216ms pmtu 1500
 2:  oracle-svc071174-lag003319.ip.twelve99-cust.net       0.691ms
 3:  slou-b1-link.ip.twelve99.net                          1.249ms asymm  2
 4:  ldn-bb4-link.ip.twelve99.net                          0.749ms asymm  3
 5:  nyk-bb1-link.ip.twelve99.net                         80.617ms asymm  8
 6:  rest-bb1-link.ip.twelve99.net                       153.250ms asymm 21
 7:  nyk-bb1-link.ip.twelve99.net                         83.084ms asymm  6
 8:  nash-bb1-link.ip.twelve99.net                       280.770ms asymm  9
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        110.820ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         131.524ms
12:  phx-b1-link.ip.twelve99.net                         131.632ms asymm 11
13:  giglinx-ic305413-phx-b1.ip.twelve99-cust.net        132.583ms asymm 12
14:  no reply
15:  giglinx-ic305414-phx-b1.ip.twelve99-cust.net        142.685ms asymm 12
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                135.245ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com                             133.809ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#2. IP 주소만 출력하려면 -n 플래그를 사용할 수 있습니다.

$ tracepath -n 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.74                                         0.393ms asymm  2
 1:  140.91.200.21                                         0.180ms asymm  2
 2:  213.248.69.255                                        0.576ms
 3:  213.248.98.246                                        1.210ms asymm  2
 4:  62.115.117.122                                        1.371ms asymm  3
 5:  62.115.133.239                                      141.920ms asymm 20
 6:  62.115.141.244                                       77.732ms asymm  7
 7:  no reply
 8:  62.115.137.55                                       881.711ms asymm  9
 9:  no reply
10:  62.115.137.55                                       914.855ms asymm  9
11:  62.115.125.97                                       132.182ms
12:  62.115.125.97                                       131.686ms asymm 11
13:  62.115.42.6                                         133.132ms asymm 12
14:  no reply
15:  62.115.42.10                                        143.880ms asymm 12
16:  4.14.13.150                                         134.869ms asymm  4
17:  no reply
18:  4.14.13.150                                         145.263ms asymm  4
19:  131.153.56.85                                       133.636ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#3. 호스트 이름과 IP 주소를 함께 출력하려면 -b 플래그를 사용합니다.

$ tracepath -b 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.19 (140.91.200.19)                         0.197ms asymm  2
 1:  140.91.200.74 (140.91.200.74)                         0.141ms asymm  2
 2:  oracle-svc071175-lag003322.ip.twelve99-cust.net (213.248.98.247)   1.186ms
 3:  slou-b1-link.ip.twelve99.net (213.248.98.246)        10.273ms asymm  2
 4:  ldn-bb4-link.ip.twelve99.net (62.115.141.246)         0.941ms asymm  3
 5:  prs-bb2-link.ip.twelve99.net (62.115.133.239)       141.858ms asymm 20
 6:  rest-bb1-link.ip.twelve99.net (62.115.141.244)       76.210ms asymm  7
 7:  no reply
 8:  rest-bb1-link.ip.twelve99.net (62.115.141.244)       89.209ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net (62.115.136.119)       110.335ms asymm  9
11:  phx-b1-link.ip.twelve99.net (62.115.125.97)         132.091ms
12:  phx-b1-link.ip.twelve99.net (62.115.125.97)         131.844ms asymm 11
13:  giglinx-ic315451-phx-b1.ip.twelve99-cust.net (80.239.195.78) 142.975ms asymm 14
14:  no reply
15:  no reply
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net (4.14.13.150)  135.233ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com (131.153.56.85)             133.871ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#4. 패킷 길이 기본값(65535) 대신 사용자 정의 값을 설정하려면 -l 플래그와 함께 원하는 값을 지정합니다.

$ tracepath -l 300 131.153.56.85
 1:  140.91.200.77                                         0.405ms asymm  2
 2:  oracle-svc071174-lag003319.ip.twelve99-cust.net       0.589ms
 3:  slou-b1-link.ip.twelve99.net                          1.448ms asymm  2
 4:  ldn-bb4-link.ip.twelve99.net                          0.960ms asymm  3
 5:  nyk-bb1-link.ip.twelve99.net                         81.564ms asymm  8
 6:  rest-bb1-link.ip.twelve99.net                        78.414ms asymm  7
 7:  nyk-bb1-link.ip.twelve99.net                         84.286ms asymm  6
 8:  rest-bb1-link.ip.twelve99.net                        87.529ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        110.534ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         131.449ms
12:  phx-b1-link.ip.twelve99.net                         131.303ms asymm 11
13:  giglinx-ic315451-phx-b1.ip.twelve99-cust.net        143.059ms asymm 14
14:  phx-b1-link.ip.twelve99.net                         142.348ms asymm 11
15:  giglinx-ic--305416-phx-b1.ip.twelve99-cust.net      143.554ms asymm 12
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                134.790ms asymm  4
17:  no reply
18:  PHOENIX-NAP.ear3.Chicago2.Level3.net                145.926ms asymm  4
19:  speedchi.phoenixnap.com                             133.736ms reached
     Resume: pmtu 300 hops 19 back 8
$

#5. -p 플래그를 사용하여 초기 대상 포트를 지정할 수 있습니다. 다음은 포트 9000을 설정한 예입니다.

$ tracepath -p 9000 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.18                                         0.160ms asymm  2
 1:  140.91.200.74                                         0.177ms asymm  2
 2:  oracle-svc071175-lag003322.ip.twelve99-cust.net       1.151ms
 3:  slou-b1-link.ip.twelve99.net                          1.727ms asymm  2
 4:  no reply
 5:  nyk-bb1-link.ip.twelve99.net                         81.357ms asymm  8
 6:  rest-bb1-link.ip.twelve99.net                        78.325ms asymm  7
 7:  no reply
 8:  rest-bb1-link.ip.twelve99.net                        87.908ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        109.797ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         132.036ms
12:  dls-b23-link.ip.twelve99.net                        121.404ms asymm  9
13:  giglinx-ic315450-phx-b1.ip.twelve99-cust.net        136.322ms asymm 12
14:  phx-b1-link.ip.twelve99.net                         142.596ms asymm 11
15:  no reply
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                135.182ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com                             133.562ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#6. 기본적으로 30으로 설정된 최대 홉 수는 -m 플래그를 사용하여 사용자 지정할 수 있습니다.

$ tracepath -m 20 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.18                                         0.175ms asymm  2
 1:  140.91.200.77                                         0.169ms asymm  2
 2:  oracle-svc071174-lag003319.ip.twelve99-cust.net       0.669ms
 3:  slou-b1-link.ip.twelve99.net                          2.443ms asymm  2
 4:  no reply
 5:  prs-bb2-link.ip.twelve99.net                        142.778ms asymm 20
 6:  rest-bb1-link.ip.twelve99.net                        76.756ms asymm  7
 7:  no reply
 8:  rest-bb1-link.ip.twelve99.net                        89.272ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        110.378ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         132.582ms
12:  phx-b1-link.ip.twelve99.net                         132.135ms asymm 11
13:  phx-b1-link.ip.twelve99.net                         142.154ms asymm 11
14:  no reply
15:  giglinx-ic305414-phx-b1.ip.twelve99-cust.net        142.298ms asymm 12
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                134.362ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com                             133.474ms reached
     Resume: pmtu 1500 hops 19 back 8
$

tracepath는 고급 패킷 수정 기능을 지원하지 않으므로 traceroute와 같은 관리자 권한을 필요로 하지 않습니다.

요약

이 글에서는 traceroute 명령어의 사용법과 네트워크 관련 문제 해결 방법, 그리고 RHEL 8 시스템에서 tracepath 명령어를 사용하여 동일한 작업을 수행하는 방법을 간략하게 설명했습니다.

이러한 명령어에 대한 자세한 정보는 각 도구의 매뉴얼 페이지를 참조하십시오.

$ man traceroute
$ man tracepath