트레이스 루트
트레이스 루트(traceroute)는 목적지까지 가는 경로를 알고자 할 떄 사용하는 명령어다.
네트워크 장애발생시 이 명령어를 사용하면 목적지까지 가는 라우터 중 어느 것까지가 정상적으로 작동하는 지 알 수 있다.
표준 트레이스 루트
R1# traceroute 1.1.30.3
1 1.1.12.2 52 msec 40 msec 28 msec
2 1.1.23.3 60 msec * 76 msec
결과를 보면 목적지로 가는 경로상에 있는 각 라우터의 IP 주소인 1.1.12.2, 1.1.23.3과 각 IP 주소까지의 왕복시간을 알 수 있다.
트레이스 루트 동작 방식
트레이스 루트는 경로탐지를 위해서 UDP를 사용하고, 응답은 ICMP를 이용한다.
1) 최종 목적지 IP 주소, TTL 값이 1, 잘 사용하지 않는 UDP 포트 번호가 설정된 UDP 패킷을 목적지 방향으로 전송한다.
2) TTL 값이 1이므로 인접한 라우터는 더 이상 패킷을 목적지로 보내지 못하며 출발지 IP 주소로 통보한다.
이때 'TTL 값이 만료되어 더 이상 패킷을 전송하지 못한다'는 의미의 메시지 타입 11, 코드 0의 값을 가진 ICMP 패킷을 이용한다. 트레이스 루트를 시작한측에서는 이 패킷의 출발지 IP 주소를 확인하여 목적지로 가는 첫 번째 IP 주소를 알게 된다.
3) 동일한 과정을 두 번 더 반복한다. 이후 TTL 값을 1 증가시켜 다시 패킷을 보낸다. 그러면 두 번째 라우터까지 도달하고 이번에는 두 번째 라우터가 응답한다.
4) 이런 식으로 TTL 값을 증가시키면서 UDP 패킷을 보내고, 도중의 라우터들이 보내는 ICMP 패킷에 포함된 출발지 IP 주소를 확인하여 경로를 기록해 나간다.
패킷이 목적지에 도달하면 해당 장비는 UDP 포트번호가 사용하지 않는 것임을 확인한 후 포트 도달 불가(ICMP type=3, code=3) 메시지를 보내고, 이 메시지를 받으면 트레이스 루트가 끝난다.
트레이스 루트를 도중에 끝내려면 clt + shift + 6
윈도우는 tracert가 트레이스루트 명령어이다. 중단은 clt+c
최대 30홉 이상의
PC63 [127.0.0.1](으)로 가는 경로 추적:
1 <1 ms <1 ms <1 ms PC63 [127.0.0.1]
추적을 완료했습니다
확장 트레이스 루트
트레이스 루트에 사용되는 각종 변수를 조정하려면 다음과 같이 확장 트레이스 루트(extended traceroute) 기능을 사용한다.
R1# traceroute
Protocol [ip]:
//경로를 추적할 프로토콜 종류를 지정한다. 기본값은 IP
Target IP address:
//목적지 주소를 지정한다.
Source address:
//출발지 주소를 지정한다.
Probe count [3]:
//각 라우터에 대해 연속적으로 전송하는 패킷의 개수를 지정한다.
Minimum Time to Live [1]:
//최초의 TTL 값을 지정한다. 예를 들어, 이 값을 3으로 지정하면 목적지로 가는 경로중에 있는 3번째 라우터로부터 경로추적을 시작한다.
텔넷과 SSH
텔넷과 SSH는 원격으로 장비에 접속하기 위한 프로토콜이다. 이중에서 텔넷은 원격 접속을 위하여 많이 사용하는 프로토콜이기는 하지만 보안성이없다.
송수신되는 내용이 암호화되지 않은 평문통신이기에 공격자가 내용을 모두 확인할 수 있다. 그러나, SSH는 메시지가 암호화되어 전송되므로 보안성이 높다.
텔넷(telent)
R1# telent 1.1.30.3
Trying 1.1.30.3 ... open
password:
R3>
----------------------
R3> exit
R1#
----------------------
텔넷 접속 후 상대 장비의 IP가 변경되거나 통신에 문제가 발생하면 빠져나올 수 없다.
Control+Shift+6을 누르고 난 뒤에 x키를 누르면 텔넷이 종료되지 않은 상태에서 R1으로 돌아온다.
# disconnect 명령어를 사용하면 R3 텔넷이 종료된다.
※ 임시로 돌아오기
R1# disconnect
closing connection to 1.1.30.3 [confirm]
R1#
암호 제거
R3(config)# line vty 0 4
R3(config-line)# no password
// R1에서 R3로 접속시 암호설정이 안되었다고 통신이 끊긴다.
R3(config-line)# no login
// no login시에는 텔넷 접속시 암호를 묻지 않는다.
R3(config)# no enable secret
// 관리자용암호가 없으면 텔넷이 연결되어도 관리자 모드로 못들어간다.
R3(config)# line vty 0 4
R3(config-line)# privilege level 15
// R3로 텔넷을 하면 암호를 묻지 않고 바로 관리자 모드로 들어가 진다.
현재 텔넷 접속자 확인
R3# show user
line user host(s) idle Location
* 0 con 0 idle 00:00:00
226 vty 0 idle 00:01:26 1.1.12.1
텔넷 접속자 끊기
R3# clear line 226
원격 디버깅
텔넷으로 접속한 장비를 디버깅하려면 # terminal monitor라는 명령어를 입력해야 한다.
이 명령을 중지하는 명령어는 # terminal no monitor 이다.
SSH (Secure SHell)
원격 접속시 상대를 확인하는 인증(authentication) 기능 외에 텔넷에 없는 패킷 암호화(encryption) 기능, 패킷 변조를 방지하는 무결성 확인(integrity) 기능을 제공하여 보안성이 뛰어나다.
#보안용(crypto) IOS 이미지를 써야 SSH이 지원된다. 보안용 이미지는 IOS이름안에 k9가 들어있다.
c3660-jk9o3s-mz.124-15.T14.bin
SSH에서 사용할 암호키 만들기
① R3(config)# ip domain-name cisco.com //SSH를 위해서는 적당한 도메인 이름을 지정해야 한다.
② R3(config)# crypto key generate rsa modulus 1024 //SSH에서 사용할 암호키를 만들면서 키의 길이를 지정한다. SSH 2를 사용하려면 768 바이트 이상을 지정해줘야 한다.
로컬 DB 만들기
① R3(config)# username ccna password cisco //SSH에 사용할 이용자명과 암호를 지정함
② R3(config)# line vty 0 4 //원격 라인 설정 모드로 들어간다.
③ R3(config-line)# login local // 1)에서 입력한 이용자가 접속할 수 있도록 한다. 다음은 옵션이다.
SSH 옵션 설정하기
① R3(config)# ip ssh version 2 //SSH 버전 2 접속만 허용한다.
② R3(config)# line vty 0 4
③ R3(config-line)# transport input ssh //원격 접속 방식을 SSH만 가능하게 한다. 텔넷은 차단됨.
SSH를 이용한 접속
R1# ssh -v 2 -l(엘) ccna 1.1.30.3
passsword:
R3>
R3# show ssh // 지금 접속한 ssh 버전, 암호화 방식(encryption), 무결성 확인방식(Hmac), 이용자명 등을 알 수 있다.)
connection Version Mode Encryption Hmac State Username
0 2.0 IN aes128-cbc hmac-sha1 session started ccna
0 2.0 OUT aes128-cbc hmac-sha1 session started ccna
'CCNA' 카테고리의 다른 글
5장. 스위치 기본설정 및 동작 확인. (0) | 2013.02.27 |
---|---|
5장. 이더넷과 이더넷 스위치. (0) | 2013.02.25 |
4장 CDP, 핑 (0) | 2013.02.22 |
4장 show와 디버그 (0) | 2013.02.21 |
4장 네트워크 관리도구 (0) | 2013.02.21 |