Doctor Pepper

[CLI] 명령어 (1) : 운영모드 및 단축키, show 본문

Network 심화/Juniper

[CLI] 명령어 (1) : 운영모드 및 단축키, show

Doctor Pepper 2024. 11. 30. 13:21
728x90

 

 SSH, Telnet 또는 콘솔 포트를 통해 Juniper 장비에 접속할 수 있을 것이다. 이제부터는 핵심 네트워크 변경 작업을 다뤄보자.

 

1. 운영 모드

 운영 모드는 명령어를 입력하여 장비를 관리하고 문제를 해결하는 모드이다. 운영 모드에서 사용할 수 있는 명령어는 장비 상태에 대한 실시간 정보나 트래픽 상태를 확인할 수 있다.

 

 반면, 구성 모드(configuration mode)는 장비에 직접적인 변경을 가하고, 프로세서 집약적인 디버깅 명령어인 traceoptions를 사용하여 장비의 동작을 더 자세히 분석할 수 있다. 구성 모드에서는 시스템에 영향을 미칠 수 있는 변경을 할 수 있으므로 주의가 필요하다. 하지만 운영 모드에서 사용하는 명령어는 일반적으로 시스템에 위험을 주지 않으며, 예외적으로 request system reboot과 같은 명령어는 시스템을 재부팅할 수 있다.

 

- 운영 모드 명령어

 운영 모드에서 자주 사용하는 명령어는 show로 시작하는 명령어들이다. show 명령어장비의 운영 상태나 실시간 트래픽, 연결 상태 등을 확인하는 데 사용된다. 이 장비에서 어떤 모델이 사용되는지 확인하려면 show version 명령어를 입력할 수 있다. 예를 들어, show version을 입력하면 장비의 모델과 버전 등의 정보를 확인할 수 있다.

 

 이 명령어를 통해 현재 장비가 가상 MX 라우터인 것을 알 수 있다. 다만, 이러한 명령어들은 물리적 장비나 가상 장비에 관계없이 동일하게 작동한다. 또한, Juniper의 제품군에서는 라우터, 스위치, 방화벽에 관계없이 동일한 명령어를 사용하므로, 여러 종류의 장비에서 동일한 명령어를 사용해 학습할 수 있는 장점이 있다.

 

- ELS(Enhanced Layer-2 Software)와 호환성

 일부 구형 장비나 구형 문서에서 다르게 구성된 명령어를 볼 수 있을 수 있는데, 이는 ELS(Enhanced Layer-2 Software)를 사용하기 이전의 방식이기 때문이다. ELS는 Juniper가 제공하는 개선된 레이어 2 소프트웨어로, 다양한 장비에서 일관된 명령어 구문을 사용할 수 있도록 지원한다. 따라서 ELS가 도입된 후, EX 스위치와 MX 라우터 간의 VLAN 설정 방식이 통합되었다. ELS에 대한 더 자세한 정보는 검색을 통해 확인할 수 있다.

 

- 시스템 업타임 확인

 장비가 얼마나 오래 작동했는지 확인하려면 show system uptime 명령어를 사용할 수 있다. 예를 들어, 이 명령어를 입력하면 시스템이 작동을 시작한 시점과 현재 시간이 표시된다.

 

 이 명령어는 고객이 장비를 재부팅했다고 주장할 때, 실제로 재부팅했는지 확인할 때 유용하다. 시스템이 재부팅된 시간이 정확하게 기록되므로, 고객이 실제로 장비를 재부팅한 것인지 확인하는 데 도움을 준다.

 

2. 운영모드 : 명령어 단축키

 다른 벤더의 장비를 사용해 본 경험이 있다면 show version을 입력하는 대신 sh ver라고 입력하여 자동으로 명령어가 완성되는 것을 본 적이 있을 것이다. 이는 시간을 절약해 주는 유용한 기능인데, 이를 "타임-세이브"라고 부른다.

 

 예를 들어, 명령어의 첫 번째 단어가 show이고, 그 이후에 sh로 시작하는 다른 명령어가 없다면, 대부분의 벤더 장비는 sh만 입력해도 show로 자동 완성해 줍다. 이는 명령어를 더 빠르게 입력할 수 있게 해주고, 그만큼 업무를 더 빨리 끝낼 수 있게 도와준다.

 

- 자동 완성 방법 : 스페이스바와 탭 키

 명령어를 자동으로 완성하는 방법은 두 가지가 있다. 스페이스바 탭 키이다. 대부분의 벤더 장비에서는 탭 키를 사용할 때 화면에 표시된 단어만 자동으로 완성하는 방식이지만, Junos에서는 탭 키나 스페이스바를 모두 사용할 때 명령어가 완전하게 자동으로 완성된다. 이는 명령어를 더 깔끔하고 명확하게 만들어 주며, 특히 다른 사람과 작업을 공유하거나 블로그나 문서에 기록할 때 유용하다.

 

 예를 들어, sh sys up을 입력한 후 스페이스바를 누르면 자동으로 전체 명령어로 완성되는 것을 확인할 수 있다.

 

- 사용자 정의 객체 자동 완성

 탭 버튼을 사용할 때의 추가적인 장점은, 나중에 라우팅 정책이나 방화벽 필터와 같은 사용자 정의 객체를 만들 때도 탭 키가 자동으로 해당 객체를 완성해 준다는 것이다. 스페이스바는 내장된 명령어만 자동 완성하지만, 탭 키는 사용자가 정의한 객체까지 자동으로 완성해 주기 때문에 더욱 편리하다.

 

- 자동 완성 도움말

 만약 명령어를 일부만 입력했을 때, 해당 단어가 여러 가지로 해석될 수 있다면, Junos는 스페이스바나 탭 키를 눌렀을 때, 가능한 선택지를 제시해준다. 이를 통해 어떤 명령어를 입력할지 선택할 수 있게 도와준다.

 

3. 운영 모드 : CLI 계층 구조

 입력한 명령어가 show uptime이 아니라 show system uptime이었다는 점을 눈치채셨나요? 사실 Junos에는 명령어들이 매우 예측 가능한 계층 구조를 가지고 있다. 이 계층 구조를 이해하면 필요한 명령어를 빠르게 찾는 데 매우 유용하다.

 

 명령어는 왼쪽에서 오른쪽으로 갈수록 점점 더 구체적이다. 예를 들어, show interfaces는 모든 인터페이스에 대한 통계를 보여준다. 반면, show interface diagnostics optics ge-0/0/0 ge-0/0/0 인터페이스에 대한 파이버 옵틱 상태만 구체적으로 보여준다.

 

- 명령어 계층 구조

 명령어를 입력할 때 show라는 단어 뒤에 물음표(?)를 입력해 보자. 엔터 키를 누를 필요 없이 물음표만 입력하면 Junos는 사용 가능한 모든 명령어 목록을 보여준다.

 

 예를 들어, show 명령어를 입력하고 물음표를 입력하면 많은 show 명령어가 표시된다. 이 명령어들은 페이지 여러 개에 걸쳐 나열되며, space 키를 눌러 다음 화면을 보고, return 키를 눌러 한 줄씩 내려가며 볼 수 있다.

 

 이 명령어 목록에서 show arp는 라우터가 로컬 이더넷 세그먼트에서 발견한 장치를 확인할 때 사용하고, show configuration은 시스템 구성을 보여주는 명령어이다. 또한, show dhcp와 같은 명령어는 DHCP 관련 정보를 확인할 때 사용된다. 이처럼 show는 명령어 계층 구조에서 가장 상위에 위치하고, 그 아래로 더 구체적인 명령어들이 나열된다.

 

- 계층 구조를 활용한 명령어 탐색

 Junos의 계층 구조를 이해하면 모든 명령어를 외울 필요 없이 물음표를 사용해 손쉽게 탐색할 수 있다. 예를 들어, show system 뒤에 물음표를 입력하면 해당 계층 내에서 사용 가능한 명령어들을 확인할 수 있다.

 

자주 사용하는 show system 명령어들에는 다음과 같은 것들이 있다.

show system storage 내부 디스크의 파티션별 디스크 사용량을 확인
show system license 시스템에 설치된 라이센스와 만료일을 확인
show system commit 이전에 저장된 모든 구성을 확인
show system users 현재 시스템에 로그인한 사용자들을 확인

 

 이 외에도 show interfaces, show route, show chassis routing-engine 등 다양한 show 명령어들이 있으며, 각 명령어는 특정 정보나 상태를 확인하는 데 사용된다.

 

- 물음표를 활용한 명령어

 물음표(?)를 사용하여 명령어를 입력하는 방식은 CLI를 빠르게 배우는 데 매우 효과적이다. 이를 통해 계층 구조를 이해하고 다양한 옵션을 손쉽게 찾을 수 있다. 또한, Junos는 사용자가 정의한 객체까지도 자동으로 완성할 수 있어 매우 유용하다. 예를 들어, show firewall counter filter ?를 입력하면 사용자가 설정한 방화벽 필터에 대한 정보를 확인할 수 있다.

 

- 운영 모드에서 명령어 사용 예시

 물음표를 활용해 탐색하는 것 외에도, Junos에서는 유용한 명령어들이 많이 존재한다. 예를 들어, ping이나 traceroute는 네트워크 문제를 진단할 때 자주 사용된다. 또한, configure는 시스템 구성을 변경할 때 사용되며, request 명령어는 시스템 재부팅과 같은 특정 작업을 실행할 때 유용하다.

 

4. CLI 키보드 단축키

 스페이스바와 탭 키는 입력을 줄여주는 훌륭한 키보드 단축키이다. 이 책을 읽으면서 몇몇 명령어는 정말 길어질 수 있다는 점을 알게 될 것이다. 만약 명령어를 끝까지 입력한 후, 모든 내용을 삭제하고 다시 시작하고 싶다면 어떻게 해야 할까? 백스페이스 키를 눌러 하나하나 지우는 방법도 있지만, 더 빠른 방법은 Ctrl+u를 누르는 것이다. 이 키보드 단축키는 현재 입력된 전체 줄을 한 번에 삭제해 준다!

 

 Junos는 이와 같은 다양한 키보드 단축키를 제공한다. 아마도 기본적으로 명령어 히스토리에서 위, 아래 화살표 키를 눌러 이전 명령어를 찾아갈 수 있다는 것은 알고 있을 것이다. 하지만 그것은 시작에 불과하다. 자주 사용하는 유용한 키보드 단축키들에는 Ctrl+w가 있다. 이 단축키는 한 번에 한 단어씩 삭제하는 기능을 한다. 명령어의 후반부를 잘못 입력했다고 깨달았을 때, Ctrl+w를 몇 번 연속으로 눌러서 삭제하는 경우가 많다. 또 다른 유용한 단축키는 Ctrl+a Ctrl+e이다. 각각은 줄의 시작과 끝으로 빠르게 이동할 수 있게 해 준다.

 

- Junos에서 제공하는 키보드 단축키

Ctrl + b 커서를 한 문자씩 뒤로 이동
Esc + b / Alt + b 커서를 한 단어씩 뒤로 이동
Ctrl + f 커서를 한 문자씩 앞으로 이동
Esc + f or Alt + f 커서를 한 단어씩 앞으로 이동
Ctrl + a 커서를 명령어 줄의 시작으로 이동
Ctrl + e 커서를 명령어 줄의 끝으로 이동
Ctrl + h, Delete, or Backspace 커서 앞에 있는 문자를 삭제
Ctrl + d 커서 위치의 문자를 삭제
Ctrl + k 커서 위치부터 명령어 줄의 끝까지 모두 삭제
Ctrl + u or Ctrl + x 명령어 줄에 있는 모든 문자 삭제
Ctrl + w, Esc + Backspace,
or Alt + Backspace
커서 앞에 있는 단어 삭제
Esc + d or Alt + d 커서 뒤에 있는 단어 삭제
Ctrl + y 가장 최근에 삭제한 텍스트를 커서 위치에 삽입
Ctrl + l 현재 입력한 명령어 줄 다시 그리기
Ctrl + p 이전 실행한 명령어들을 위로 스크롤하여 찾기
Ctrl + n 이전에 실행한 명령어들을 아래로 스크롤하여 찾기
Ctrl + r CLI 명령어 히스토리에서 입력한 검색 문자열과 일치하는 항목을 역순으로 검색
Esc + / or Alt + / 현재 단어를 접두어로 검색하여 일치하는 단어 탐색
Esc +. or Alt + 명령어에서 최근에 입력한 단어를 뒤로 스크롤 하여 확인
Esc + number sequence
/ Alt + number sequence 
특정 키보드 시퀀스를 실행할 횟수 지정

 

5. 운영 모드에서 인터페이스 보기

- 기본 명령어

 가장 기본적으로 사용할 수 있는 명령어는 show interfaces다. 이 명령어를 입력하면 장치에 있는 모든 인터페이스에 대한 통계를 확인할 수 있다. 그러나 모든 인터페이스에 대한 정보가 한 번에 출력되므로, 특정 인터페이스에 대한 정보만 보고 싶다면 show interface ge-0/0/0과 같이 명시적으로 인터페이스를 지정해야 한다.

 여기서 ge는 기가비트 이더넷을 의미하며, 0/0/0은 이 인터페이스가 장치의 어떤 위치에 있는지를 나타낸다. 작은 장치에서는 0/0/x와 같은 형식이 사용되며, 더 큰 장치에서는 추가적인 선 카드 번호가 표시될 수 있다.

속도 이 인터페이스는 1Gbps 속도로 실행되고 있음. (Speed: 1000mbps)
MAC 주소 해당 인터페이스의 하드웨어 주소는 00:05:86:71:cc:00임
인터페이스 마지막 다운 시간 이 인터페이스가 마지막으로 다운된 시간과 날짜가 표시됨.
현재 평균 입력/출력 속도 초당 바이트와 패킷으로 나타낸 평균 입출력 속도 정보도 확인할 수 있음.

 

- 물리적 인터페이스와 논리적 인터페이스

 출력에는 논리적 인터페이스에 대한 정보도 포함되어 있다. 다른 벤더에서는 이를 서브 인터페이스라고 부르기도 한다. 간단히 말하면, 모든 물리적 인터페이스는 항상 최소한 하나의 논리적 인터페이스를 갖는다.

물리적 인터페이스 예를 들어 ge-0/0/0은 물리적 속성에 대한 설정을 담고 있음
논리적 인터페이스 - ge-0/0/0.0은 논리적 속성에 대한 설정을 나타냄.
- 여기서 
.0은 일반적으로 유닛(unit)이라고도 불림.
- 논리적 인터페이스에서 IP 주소와 같은 설정을 구성할 수 있음.

 

 물리적 인터페이스는 항상 하나 이상의 논리적 인터페이스를 호스트할 수 있으며, 여러 개의 VLAN을 구성하고 이를 통해 물리적 인터페이스 하나로 여러 LAN에 연결할 수 있다. 

 

6. 운영 모드에서 요약, 세부적인 내용 보기

- 출력 형식에 따른 명령어 옵션

 인터페이스에 대한 전체 출력을 보고 싶다면 show interfaces ge-0/0/0 detail 또는 show interfaces ge-0/0/0 extensive 명령어를 사용할 수 있다. 좀 더 간단히 보고 싶다면 brief terse 옵션을 추가할 수도 있다. 이 네 가지 옵션은 대부분의 Junos 명령어 끝에 붙여서 사용할 수 있다. 

 

- 기본적인 인터페이스 상태 확인

 이 명령어는 인터페이스가 up인지 down인지 빠르게 확인하는 데 유용하다. 예를 들어, 물리적 인터페이스와 논리적 인터페이스를 볼 수 있다. 논리적 인터페이스인 ge-0/0/0.0 인터페이스에는 IP 주소가 설정되어 있고, 그 IP 주소는 inet 프로토콜로 표시된다. 만약 이 인터페이스가 IPv6 주소를 사용한다면 inet6로 표시된다.

 

- Admin과 Link 상태

출력에서 Admin Link가 있다. 두 상태 모두 up일 수 있지만, 이 두 열의 차이를 이해하는 것이 중요하다.

Admin 관리자가 설정한 대로 비활성화된 상태인지 아닌지를 나타냄. 이를 admin-down 상태라고도 부름.
예를 들어, 물리적 인터페이스인 
ge-0/0/0을 관리자가 비활성화하면 Admin 열에 "down"이 표시됨.
- 설정 방법 : set interfaces ge-0/0/0 disable 명령어를 통해 물리적 인터페이스를 비활성화 할 수 있음
- 그 결과, 물리적 인터페이스는 Admin down 상태로 변경되고, 논리적 인터페이스는 여전히 활성화될 수 있음
Link 물리적 링크가 작동하는지 여부를 나타냄.
만약 
down 상태라면, 이는 케이블 문제, 하드웨어 결함, 또는 포트 간의 듀플렉스/속도 불일치 문제일 수 있음.
물리적 링크가 
down이면 논리적 인터페이스도 down 상태가 됨.

 

- 논리적 인터페이스 비활성화

 특정 논리적 인터페이스만 비활성화하려면 set interfaces ge-0/0/0 unit 0 disable 명령어를 사용한다. 이 경우 물리적 인터페이스는 여전히 up 상태를 유지하지만, 해당 논리적 인터페이스인 ge-0/0/0.0 down 상태가 된다.

 

- CLI 활용

 하나의 인터페이스에 대한 terse 형식 출력을 살펴보는 것만으로도, Junos CLI가 네트워크 문제를 해결하는 데 도움이 된다. 다양한 출력 옵션을 활용해 필요한 정보를 빠르게 추출하고, 문제 해결을 효율적으로 진행할 수 있다.

728x90