강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

리눅스마스터1급 : 네트워크 명령어 traceroute

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 네트워크 명령어 traceroute

 

 

어느 날 서버에 접속한 상태에서 다른 서버로 ssh 접속이 안 되는 것을 발견했다고 가정해 보자. 즉시 옆에 있는 166.104.50.152ping을 보내 보았으나 이것은 아무 문제가 없었다.

 

 

 

내부 네트워크가 잘 작동 중인데 외부로 연결이 안 된다면 외부로 연결된 어느 게이트웨이 중 하나가 잘못 됐을 가능성이 있다.

 

 

 

이를 확인해 보는 방법은 traceroute를 이용하는 것이다.

 

 

 

 

 

인터넷은 네트워크 하드웨어들이 게이트웨이를 통해서 서로 연결된 거대하고 복잡한 집합체이다.

 

 

 

traceroute는 사용자가 원하는 호스트까지 패킷이 어떠한 경로로 전달이 되는지를 확인하기 위해 작은 용량의 패킷을 전송한 후에 ttl(time-to-live) 값과 돌아오는 'ICMP TIME_EXCEEDED' 응답을 통해 그 경로를 사용자에게 알려준다.

 

 

 

일단 특정 호스트로 traceroute 를 실행시켜 보자.

 

 

 

 

$ traceroute kldp.org

traceroute to kldp.org (211.169.242.48), 30 hops max, 46 byte packets

1 166.104.50.1 (166.104.50.1) 1.748 ms 1.343 ms 1.033 ms

2 166.104.104.1 (166.104.104.1) 3.088 ms 1.752 ms 2.032 ms

4 * * *

5 * * *

6 * * *

7 * * *

28 * * *

29 * * *

30 * * *

 

 

 

 

 

위의 예제에서 166.104.104.1 까지는 패킷이 잘 전달되고 있는데, 그 이후로 연결이 안 되고 있다.

 

 

 

kldp.org 로 예전에 실행했던 테스트 정보를 보면 다음과 같다.

 

 

 

 

 

 

 

 

 

$ traceroute kldp.org

traceroute to kldp.org (211.169.242.48), 30 hops max, 46 byte packets

1 166.104.50.1 (166.104.50.1) 1.748 ms 1.343 ms 1.033 ms

2 166.104.104.1 (166.104.104.1) 3.088 ms 1.752 ms 2.032 ms

3 166.104.100.250 (166.104.100.250) 1.875 ms 0.921 ms 1.254 ms

4 210.220.20.1 (210.220.20.1) 1.642 ms 2.609 ms 1.662 ms

5 210.220.0.178 (210.220.0.178) 1.777 ms 1.869 ms 1.659 ms

6 211.241.68.68 (211.241.68.68) 1.669 ms 1.807 ms 1.577 ms

7 211.241.68.142 (211.241.68.142) 1.764 ms 1.670 ms 1.770 ms

8 idcg12bb1-pos0-0.rt.bora.net (210.120.248.218) 2.070 ms 1.844 ms 2.193 ms

9 m160-1--0-0-0-0.rt.bora.net (210.92.194.206) 11.337 ms 2.163 ms 2.450 ms

10 211.169.241.102 (211.169.241.102) 2.218 ms 3.188 ms 2.621 ms

11 211.169.242.48 (211.169.242.48) 2.564 ms 2.310 ms 2.181 ms

 

 

 

 

 

위의 예제에서 3번이 166.104.100.250 이므로 이곳에 문제가 있어 보인다.

 

 

 

IP 주소로 볼 때 이곳은 아마도 구내 전산망 관리 부서인 것 같으므로 그곳에 문의를 하면 될 것이다.

 

 

 

만약 이런 테스트 결과가 없다면 위의 166.104.104.1 에 문의를 해도 좋을 것이다.

 

 

 

왜냐하면 예제들에서 아직 하나의 네트워크 그룹에서 밖으로 나간 흔적이 없기 때문이다.

 

 

 

외부로 제대로 네트워크가 되지 않는다면 이것은 외부 네트워크와 자신이 속해 있는 네트워크와의 문제일 수도 있고 전체 네트워크를 관리하는 곳에서 체크해야 하는 문제일 수도 있기 때문이다.

 

 

 

 

 

이제 traceroute의 결과를 살펴보자. 제일 앞에 나오는 수는 홉(hop)을 나타낸다.

 

 

 

하나의 게이트웨이를 지날 때마다 1씩 증가하는 값이다.

 

 

 

다음으로 게이트웨이의 이름이 나온다.

 

 

 

특정 이름이 없을 경우는 해당 게이트웨이의 IP 주소가 나오며 다음으로 괄호 안에 게이트웨이의 IP 주소가 나온다.

 

 

 

다음으로 나오는 3 개의 숫자는 1000분의 1(ms) 단위의 게이트웨이까지의 라운드-트립 시간이다.

 

 

 

만약 패킷이 전달되지 못하면 대신 별표(*)를 출력하게 된다.

 

 

 

 

아래의 예제에서는 서버에서 www.chem.hanyang.ac.kr 로 패킷을 보내는 중 12번째 홉(hop)에서 3번째 패킷이 정상적으로 전달되지 않았음이 나타났다.

 

 

 

만약 traceroute 가 원격 호스트까지 패킷을 제대로 보내지 못한다면 30(hop)까지 별표(*) 를 세 개씩 출력한다.

 

 

 

 

 

 

 

 

$ traceroute www.chem.hanyang.ac.kr

traceroute to www.chem.hanyang.ac.kr (166.104.188.105), 30 hops max, 38 byte packets

1 211.181.178.1 (211.181.178.1) 1.727 ms 1.643 ms 1.662 ms

2 211.180.2.149 (211.180.2.149) 4.745 ms 4.635 ms 4.662 ms

3 anybbb185-fe6-0-0.rt.bora.net (210.120.193.4) 4.884 ms 4.823 ms 4.868 ms

4 anyg12bb1-ge2-0.rt.bora.net (210.120.193.135) 4.714 ms 20.786 ms 9.003 ms

5 ysng12bb1-pos8-0.rt.bora.net (210.120.192.113) 9.643 ms 5.057 ms 5.283 ms

6 ysng16kix3-ge0-0.rt.bora.net (210.120.248.6) 5.102 ms 5.181 ms 5.156 ms

7 211.241.68.141 (211.241.68.141) 5.393 ms 5.254 ms 5.149 ms

8 211.241.68.2 (211.241.68.2) 5.450 ms 5.127 ms 5.087 ms

9 210.220.0.165 (210.220.0.165) 5.956 ms 5.408 ms 5.665 ms

10 210.220.20.2 (210.220.20.2) 23.314 ms 24.259 ms 31.317 ms

11 166.104.100.8 (166.104.100.8) 27.226 ms 22.157 ms 28.030 ms

12 166.104.176.105 (166.104.176.105) 32.220 ms 19.751 ms *

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  116 명