CLI 첫번째 연결과 CLI Mode의 이해

1회차: CLI 첫 접속과 모드 구조

학습 목표

  1. Packet Tracer에서 라우터·스위치에 콘솔로 접속할 수 있다.
  2. Cisco IOS의 4가지 주요 모드를 구분하고 이동할 수 있다.
  3. ?, Tab, 명령어 축약 등 CLI 도움 기능을 활용할 수 있다.
  4. 장비 호스트명을 설정하고 취소할 수 있다.

1-1. 왜 CLI인가?

GUI로 설정할 수 있는 장비도 많지만, 현업 네트워크 장비 관리는 대부분 CLI로 이루어집니다.

  • 정확성: 클릭 실수 없이 명령어 그대로 설정된다.
  • 속도: 익숙해지면 GUI보다 훨씬 빠르다.
  • 자동화: 설정을 텍스트로 저장·복사·스크립트화할 수 있다.
  • 원격: 대역폭이 낮은 환경에서도 원격 접속이 가능하다.

Cisco 장비의 운영체제를 IOS(Internetwork Operating System) 라고 부릅니다. Apple의 iOS와는 전혀 다른 것입니다.

1-2. Packet Tracer에서 장비 접속하기

실습 토폴로지 (1회차)

[PC0] ──콘솔 케이블── [Router0 (2911)]

접속 방법 A: 장비 직접 클릭 (가장 간단)

  1. 작업 공간에 라우터(2911)를 배치한다.
  2. 라우터를 클릭 → CLI 탭을 선택한다.
  3. 검은 화면에 초기 부팅 메시지가 지나가고 다음 질문이 나오면 no를 입력한다.
Would you like to enter the initial configuration dialog? [yes/no]: no
  1. Enter를 한 번 더 누르면 프롬프트가 나타난다.
Router>

접속 방법 B: PC에서 콘솔 케이블로 접속 (실제 현장과 동일)

  1. PC와 라우터를 배치한다.
  2. 연결 → Console 케이블(하늘색)을 선택한다.
  3. PC의 RS 232 포트 → 라우터의 Console 포트를 연결한다.
  4. PC 클릭 → Desktop 탭 → Terminal → 기본값 그대로 OK.

1-3. IOS 모드 구조 (가장 중요한 개념)

Cisco CLI는 모드(mode) 에 따라 사용할 수 있는 명령어가 다릅니다. 프롬프트 모양을 보면 현재 모드를 알 수 있습니다.

Router>                    ← ① 사용자 모드 (User EXEC)
Router#                    ← ② 관리자 모드 (Privileged EXEC)
Router(config)#            ← ③ 전역 설정 모드 (Global Configuration)
Router(config-if)#         ← ④ 인터페이스 설정 모드 (하위 설정 모드의 예)
모드프롬프트할 수 있는 일들어가는 명령나오는 명령
사용자 모드>제한된 확인 (ping, 일부 show)접속 시 기본exit (로그아웃)
관리자 모드#모든 show, 설정 저장, 디버그enabledisable
전역 설정 모드(config)#장비 전체에 적용되는 설정configure terminalexit 또는 end
하위 설정 모드(config-if)#특정 인터페이스·라인 등 설정interface ..., line ...exit (한 단계 위), end (관리자 모드로)

모드 이동 흐름도

실습 1-A: 모드 이동해 보기

라우터 CLI에서 아래를 순서대로 입력하고, 프롬프트가 어떻게 변하는지 관찰합니다.

Router> enable
Router# configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# interface gigabitEthernet 0/0
Router(config-if)# exit
Router(config)# exit
Router# disable
Router>

이번에는 end로 한 번에 빠져나옵니다.

Router> enable
Router# configure terminal
Router(config)# interface gigabitEthernet 0/0
Router(config-if)# end
Router#

자주 하는 실수: 사용자 모드(>)에서 configure terminal을 입력하면 % Invalid input detected 오류가 납니다. 반드시 enable로 관리자 모드에 먼저 들어가야 합니다.

1-4. CLI 도움 기능

① 물음표 ? — 사용 가능한 명령 보기

Router# ?              ← 이 모드에서 쓸 수 있는 모든 명령
Router# sh?            ← sh로 시작하는 명령
Router# show ?         ← show 다음에 올 수 있는 단어
Router# show ip ?      ← show ip 다음에 올 수 있는 단어

?는 Enter 없이 입력 즉시 반응합니다. 출력이 길면 --More--가 나오는데, Space는 다음 페이지, Enter는 한 줄씩, q는 종료입니다.

② Tab — 자동 완성

Router# conf<Tab>      →  Router# configure

③ 명령어 축약

다른 명령과 구별만 되면 앞부분만 입력해도 됩니다.

전체 명령축약
enableen
configure terminalconf t
show running-configsh run
interface gigabitEthernet 0/0int g0/0
Router# s
% Ambiguous command:  "s"      ← s로 시작하는 명령이 여러 개라 구분 불가

④ 명령어 히스토리와 편집 키

기능
↑ / ↓이전·다음 명령 불러오기
Ctrl + A줄 맨 앞으로
Ctrl + E줄 맨 끝으로
Ctrl + Z설정 모드에서 관리자 모드로 즉시 이동 (end와 동일)
Ctrl + Shift + 6실행 중인 명령(ping, traceroute 등) 중단
show history최근 입력한 명령 목록

오류 메시지 읽는 법

Router# shw run
% Invalid input detected at '^' marker.   ← ^ 위치에 오타
       ^

Router# show
% Incomplete command.                      ← 명령이 끝나지 않음, ? 로 뒤에 올 단어 확인

Router# s
% Ambiguous command:  "s"                  ← 축약이 모호함

실습 1-B: 도움 기능 사용해 보기

  1. Router# 에서 show ? 를 입력해 목록을 보고, q로 빠져나온다.
  2. sh ver 을 입력해 IOS 버전 정보를 확인한다.
  3. show clock 을 축약으로 입력해 본다. (sh cl 로 되는지, 안 되면 ?로 이유를 찾아본다.)
  4. ↑ 키로 방금 입력한 명령을 다시 불러온다.

1-5. 호스트명 설정

장비 이름을 설정하면 프롬프트에 바로 반영됩니다. 여러 장비를 다룰 때 지금 어느 장비에 접속해 있는지 알 수 있어 필수입니다.

Router> enable
Router# configure terminal
Router(config)# hostname R1
R1(config)#                  ← 즉시 프롬프트가 바뀜

no 명령의 원리

설정을 취소할 때는 같은 명령 앞에 no 를 붙입니다. 이 원칙은 IOS 전체에 적용됩니다.

R1(config)# no hostname
Router(config)#

호스트명 규칙: 영문자로 시작, 영문자·숫자·하이픈(-)만 사용, 공백 불가, 63자 이내.

1-6. 스위치도 똑같다

스위치(2960)를 배치하고 CLI 탭을 열어봅니다. 모드 구조와 명령 체계가 라우터와 동일합니다.

Switch> enable
Switch# configure terminal
Switch(config)# hostname SW1
SW1(config)#

차이점은 인터페이스 이름(FastEthernet0/1 ~ 0/24, GigabitEthernet0/1~0/2)과 일부 지원 명령 정도입니다.

1회차 종합 실습

[Router0] ─── [Switch0] ─── [PC0]

위 토폴로지를 만들고 다음을 완료하세요. (케이블 연결은 자유롭게, 이번 회차에는 IP 설정을 하지 않습니다.)

  • 라우터 이름을 R1으로 설정했다.
  • 스위치 이름을 SW1으로 설정했다.
  • R1# 에서 show version을 실행하고 IOS 버전과 모델명을 적었다: ____________
  • R1(config-if)# 모드에 들어갔다가 end로 한 번에 R1#으로 돌아왔다.
  • show history로 자신이 입력한 명령 목록을 확인했다.

1회차 확인 문제

  1. Router(config-if)# 에서 exit를 한 번 입력하면 프롬프트는 어떻게 되는가?
  2. Router> 에서 configure terminal을 입력하면 어떤 결과가 나오는가? 왜 그런가?
  3. % Incomplete command. 오류가 났을 때 어떻게 대처해야 하는가?
  4. 호스트명 R1을 설정한 뒤 다시 기본값으로 되돌리는 명령은?