CISCO ME3400

CISCO ME3400 Reset

CISCO ME3400은 중소규모 네트워크 환경에서 사용되는 고성능 이더넷 스위치다. 이 시리즈는 두 가지 Cisco IOS Software 기능 이미지를 제공한다. METROACCESS 이미지는 고급 서비스 품질(QoS), 속도 제한, 강력한 멀티캐스트 제어 및 포괄적인 보안 기능을 제공하고, 또한 METROACCESS 이미지에는 802.1Q 터널링, L2PT(계층 2 프로토콜 터널링) 및 Flexlink를 비롯한 다양한 캐리어 이더넷 액세스 기능 세트가 포함되어 있다. METROIPACCESS 이미지는 고급 IP 라우팅 프로토콜, Multi-VPN Routing and Forwarding Customer Edge(Multi-VRF CE), 정책 기반 라우팅(PBR) 지원과 같은 고급 레이어 3 기능을 추가한다. 

사무실에 있는 ME3400 스위치의 정확한 모델 번호는 ME-3400-24TS-A이다. CISCO 공식 페이지에서 모델을 검색 해보면 이제 스위치를 지원 하지 않는다고 나온다. 그래서 새로운 펌웨어 업데이트나 다른 지원이 공식 적으로 안된다. 

image.png

일단 현재 사무실에 있는 3400 장비를 Reset및 업데이트 해야 된다. Reset을 하기 위해 장비의 Console 화면 (CISCO CLI)에 접속 해야 된다. 장비마다 다를 수 있지만 보통 CISCO 장비들은 사진에 보이는 것 와 같이 앞에 아니면 뒤에 이렇게 "Console"이라고 적혀 있다.

image.png


콘솔 포트와 노트북의 Serial 포트에 연결 해서 바로 CISCO장비의 Console CLI에 접속 가능 하다. 그러기 위해 필요한 케이블은 아래 사진을 참고 한다.

image.png


일단 콘솔 포트와 노트북을 연결 후 XSHELL 또는 PuTTY를 사용하여 COM3-5 중 COM port를 통해 Switch의 CLI와 접속 할 수 있다. Switch와 연결된 COM 포트 정보를 확인 하기 위해서 윈도우의 장치 관리자를 열어 보면 된다.

image.png

보통은 COM3로 Switch 장비가 연결 되지만, 가끔 COM5으로 연결 되는 경우가 있다. 그래서 케이블 연결 후 한번 확인 하는 걸 추천 한다. 근데 여기서 만약에 중요 콘솔 용 드라이버가 설치 되지 않았으면 아래 사진과 같이 "알 수 없는 장치" 라고 보인다

image.png

이런 상황에서는 여기 링크에 있는 드라이버를 다운로드 받은 후 설치 한다.  

여기서 중요한 포인트는 아래 사진과 같이 USB to RJ45 케이블로 CISCO장비와 연결 시 다른 하나의 드라이버를 추가로 설치 해야 된다. RJ45 to USB 드라이버 링크


image.png

아래 참고 사진은 드라이버 설치 및 콘솔 포트 와 연결 상태 확인 후 XSHELL에서의 접속 설정이다:

image.png

image.png


COM5포트 연결 되어 있다는 걸 확인 후 Baud Rate를 9600으로 설정 한다.

바우드(Baud) 비트레이트는 데이터 통신에서 전송 속도를 나타내는 측정 단위이다. 바우드 비트레이트는 초당 전송되는 신호나 Symbol의 수를 나타낸다. 이는 데이터 전송 속도를 측정하고 데이터 통신 장치 간의 통신 속도를 일치 시키는 데 사용된다.

9600 바우드는 통신 장치 간의 일반적인 표준 속도 중 하나다. 많은 장치 및 터미널 에뮬레이터는 9600 바우드를 기본 속도로 지원하며, 이는 호환성과 상호 운용성을 보장하기 위한 선택이다. 

설정 확인 후 연결 Switch 장비와 연결 한다. 아무 문제가 없을 시 Switch CISCO장비의 CLI로 접속이 완료 될 거고, 완전이 새로운 상태라면 아래와 같이 화면이 나온다

image.png

하지만 현재는 Switch에 이미 몇 가지 설정이 되어 있는 걸로 보인다. 이미 입구 부터 Username과 암호를 요구 한다. 

image.png

이제 이 Switch를 리셋 및 펌웨어 업데이트 작업을 실행 하겠다.  먼저 Reset을 해야 Switch안을 들어 갈 수 있으니, Reset부터 하겠다.

Switch를 리셋 하기 위해, Switch의 ROMMON(ROM Monitor mode)으로 부팅을 해야 한다. 줄임말로 ROMMON모드는, 스위치가 부팅할 때 기동 되는 소프트웨어이다. ROMMON모드로 들어가기 위해 제일 먼저 Switch를 재 시작 한다. 재 시작 시 노트북은 계속 Switch과 연결 상태이어야 한다. 재 시작 하는 동안 계속 키보드에 있는 'Break' 키를 연속으로 눌러야 만 ROMMON 모드로 접속이 가능하다. Break키가 잘 입력 되었으면 이 화면을 볼 수 있다.

image.png

가끔 Break 버튼이 키보드에 없거나 터미널에 인식이 안될 경우가 있다. 이때는 다른 Break 버튼이 존재하는 키보드를 가져오거나, PuTTY나 TeraTerm같은 'Send Break' 옵션이 존재하는 터미널을 사용 해도 된다.

Tera Term의 예시: 

image.png

이렇게 까지 해도 안될 때는 케이블 문제다. 자세한 이유는 아직 안 나와 있으나 일단 USB to RJ45 케이블로 Switch와 연결 시 ROMMON 모드로 연결이 안될 경우가 많다. 그래서 RJ45-DB9-RS232-USB 케이블을 사용 하는 것을 권장 한다.

이제 ROMMON모드에서 flash_init이라는 명령어를 사용 한다. ROMMON 모드에서 flash_init 명령은 스위치의 플래시 메모리를 초기화하고 인식하는 데 사용된다. 이 명령어는 플래시 메모리를 사용할 수 있도록 설정하고, 플래시에 저장된 이미지나 파일을 읽거나 쓸 수 있는 상태로 만든다. 

flash_init 명령어 후 다음 명령어들을 차대로 입력 한다

del flash:config.text
del flash:vlan.dat
boot

이렇게 config 파일과 vlan 파일들을 삭제 하게 되면, Switch는 기본 Factory 설정으로 돌아 간다. 마지막에 있는 Boot 명령어로 스위치가 재 시작 하면 아래와 같은 화면을 볼 수 있다:

image.png


CISCO ME3400 Firmware Update

CISCO ME3400 장비에 대한 간략하게 소개 및 콘솔 포트와 연결 하는 방법은 이미 Reset하는 과정에서 설명 했으므로 바로 Firmware Update 하는 방법을 설명 하겠다. 일단 업데이트를 적용 할 Switch의 콘솔 CLI으로 접속 한 후 show version이라는 명령어를 통해 현재 Firmware 버전을 확인 한다. 

image.png

현재 버전을 확인 하자면 ME340x-METROIPACCESS Firmware Image를 사용 하고 있다. 장비 리셋 페이지에서 얘기 한 듯이 CISCO ㅡME3400 시리즈는 두 가지 Cisco IOS Software 기능 이미지를 제공한다. 일반 METROACCESS 이미지는 여러개의 서비스를 제공 하지만 주로 2 계층 서비스 및 고급 서비스를 제공 한다. 반면에 METROIPACCESS 이미지는 고급 IP 라우팅 프로토콜, Multi-VPN Routing and Forwarding Customer Edge(Multi-VRF CE), 정책 기반 라우팅(PBR) 지원과 같은 고급 3계층 기능을 추가한다. 현재 Firmware도 METROIPACCESS 이미지라서 스위치는 3 계층 프로토콜 및 라우팅 기능을 가지고 있다. 

 전에도 얘기 나왔듯이 CISCO ME3400시리즈의 지원 및 소프트웨어 업그레이드는 이미 공식 적으로 끝난 상태. 그래도 현재 설치 되어 있는 버전이 최신이 아닐 수 있기 때문에 CISCO IOS Image Archive에서 최신 버전을 검색 한다. 검색 결과:

image.png

여기서 마지막에 나온 12.2(53) 버전이 최신이라고 볼 수 있다. 이 버전을 노트북에 다운로드 받는다. 다운로드 후 폴더에 완료 된 상태를 볼 수 있다:

image.png

이제 이 이미지를 Switch에거 옮겨야 된다. 그렇기 위해선 노트북에서 tftp 서버를 생성 하여 위 파일을 Switch에게 넘기면 된다. 

TFTP (Trivial File Transfer Protocol) 서버는 파일 전송 프로토콜의 한 형태로, 네트워크를 통해 파일을 전송하는 데 사용되는 서버

현재 노트북에서 TFTP 서버를 생성 하여 Switch와 연결 후 서로 간의 네트워크 상태를 확인 해야 된다. 그러기 위해는 일단 Switch과 노트북이 동일한 네트워크에 있어야 된다.

첫 번째로, 일반 랜 선을 통해 노트북의 이더넷 포트와 스위치의 랜 포트를 연결 한다. 연결 후 노트북의 이더넷 포트의 IP 주소를 부여 한다(192.168.70.0/24 네트워크를 사용 하였다). 

image.png

인터넷과의 연결은 아니니 기본 게이트웨이 및 DNS 서버 주소는 생략 하였다

그 후 Switch에게도 동일한 네트워크의 IP 주소를 할당 해야 한다. 아래의 명령어를 참고 하여 Switch의 네트워크 설정을 볼 수 있다

# "enable"의 약어로, 스위치에서 특권 EXEC 모드로 전환하기 위해 사용
en

# "configure terminal"의 약어로, 글로벌 구성 모드로 전환하는 명령어
conf t

# 스위치에서 IP 라우팅 기능을 활성화하는 명령어
ip routing

# VLAN 10 인터페이스로 전환하는 명령어
int vlan 10

# IP 주소를 할당하는 명령어
ip address 192.168.70.70 255.255.255.0

# "no shutdown"의 약어로, 인터페이스를 활성화하는 명령어
no sh

# FastEthernet 0/1 인터페이스로 전환하는 명령어
int fa 0/1

# 인터페이스를 액세스 모드로 설정하는 명령어
switchport mode access

# 액세스 모드로 설정된 인터페이스를 VLAN 10에 연결하는 명령어
switchport mode access vlan 10
no sh

 이렇게 설정을 완료 한 후 "CTRL+Z"를 사용 하여 글로벌 설정 모드에서 나온다. 그 후 show running-conf라는 명령어를 사용 하면 "interface FastEthernet0/1" 아래에 switchport access vlan 10이라고 명시 되어 있는 걸 확인 할 수 있다. 그 외 IP 주소가 잘 할당 되었는지를 확인 하는 방법은 sh ip int br명령어다.

image.png

위 사진의 VLAN1는 테스트 용 이므로 IP 주소 및 상태 무시

이 상태에서 노트북와 Switch의 통신 상태를 Ping을 통해 확인 한 후 TFTP 서버 어플리케이션을 노트북에 설치 한다. TFTPD64 라는 TFTP 서버 어플리케이션을 사용 하였다. 설치 페이지는 여기 링크에서 접속 가능. 

Tftpd64는 DHCP, TFTP, DNS, SNTP 및 Syslog 서버와 TFTP 클라이언트를 포함하는 무료 경량 오픈 소스 IPv6 지원 애플리케이션이다.

어플리케이션 설치 후 열어보면 이렇게 화면을 볼 수 있다.

image.png


여기서 중요 포인트는 TFTP 서버를 노트북의 원하는 경로와 바인딩을 진행 할 수 있다. 바인딩 후 그 경로에 있는 파일을 쉽게 Switch에 옮기거나, Switch에서 어떤 파일을 바인딩 되어 있는 경로에 옮길 수 있다. 서버 interface는 거의 스스로 네트워크를 설정 한 이더넷 포트로 잡힌다. 안 되어 있을 경우 수동으로 선택 가능하다. 

이제 Switch의 콘솔 CLI를 통해 기존에 있던 Firmware 이미지를 노트북으로 옮겨 백업 할 예정이다. 

먼저 확인 할 절차는 이미지의 이름을 확인 하는 거다. Switch콘솔의 EXEC모드에서 dir 명령어를 통해 현재 최상의 디렉토리의 존재하는 파일 및 폴더들을 확인 할 수 있다.

image.png

확인 후 me340으로 시작 하는 이미지를 노트북 쪽으로 백업 해 둘 것이다. 그 작업은 바로 copy flash tftp를 사용하여 진행 한다.


image.png

노트북 쪽 TFTP서버에서 지정한 디렉토리로 이동 하면:

image.png

이렇게 복사가 완료 되었다는 걸 확인 할 수 있다. 

이제 다시 Switch콘솔로 돌아와서 펌웨어 이미지를 삭제 한다.

image.png

삭제 작업을 진행 후 최신 펌웨어 버전 이미지를 TFTP서버의 경로에 옮긴다. 다시 Switch 콘솔 CLI에서 copy tftp flash명령어를 진행 한다

image.png

이렇게 진행 한 후 switch의 디렉터리를 확인 하면 최신 펌웨어 이미지 가 올라온 걸 확인 할 수 있다:

image.png

이 상태에서 Switch를 재 시작 하면 Switch가 자동으로 최신 버전의 이미지로 초기 설치 작업을 하고, 최신 버전으로 업데이트 된다.  

TFTP 작업이 끝난 후 Switch의 라우팅 설정을 비활성화 시키지 않을 시 본 스위치는 계속 라우터 처럼 3계층 장비 역할을 할 것이다. Switch ME3400의 더 자세한 설정들은 CISCO ME3400 Basic Configurations 페이지 참고.

CISCO ME3400 Basic Configurations

2 계층 스위치 설정

CISCO ME3400 시리즈 이더넷 액세스 스위치는 서비스 공급자를 위한 차세대 2계층 및 3계층 고객 배치 장치라고 한다. CISCO ME3400 시리즈 스위치에 대한 더 자세한 정보는 메뉴얼 에서 확인 가능하다. ME3400-24TS-A 스위치 모델은 현재 공식 적으로 지원이 끝난 상태이다. 그 외 중요한 정보는 이미지 형태다. 현재 Switch에는 METROIPACCESS 이미지가 설치 되어 있다. METROIPACCESS 이미지는 주로 3계층 역할을 한다. 하지만 이 장비를 2계층 장비와 동일하게 사용 하려면 2가지의 방법이 있다.

  1. METROACCESS 이미지로 전환
  2. 라우팅 비활성화 및 NNI 포트로 변경

첫 번째 방식은 간단하다. CISCO ME3400 Firmware Update 라는 페이지 참고 하여 펌웨어 이미지를 다운로드 받을때 METROACCESS 이미지를 받아서 2계층 스위치 장비로 바로 사용 가능 하다.

두 번째 방식은 라우팅 기능을 비활성화 시킨 후 2계층 역할을 할 포트들만 지정하여 NNI 인터페이스 기능을 활성화 해주면 된다.

1번 방식은 이론적으로 확인 하였지만 아직 실제로 확인 안된 상태
2번 방식은 현재 적용 중이고 잘 작동 중이다

NNI 또는 Network Node Interface or Network to Network Interface는일반적으로 라우터 또는 다른 스위치에 연결된다. 

기본적으로 ME3400 스위치의 모든 Fast Ethernet 포트는 VLAN 1에 속하지만, 모두 UNI 유형이다. UNI 또는 User-Network Interfac는 모두 서로 격리된 상태이며 (개별 VLAN과 유사한), 다른 포트와 연결되지 않는다. 그러기 때문에 정상적으로 2계층 스위치의 역할 을 수행 하지 못한다. 

NNI기능을 원한다면, 일단 펌 웨어 이미지에 기능 세트인 IPACCESS가 존재 해야 된다. 그 후 port-type nni라는 명령어를 사용 하여 지정 포트들을 일반 2계층 스위치 처럼 행동 하게 설정 할 수 있다.

명령어들 순서는 아래 와 같다:

# "enable"의 약어로, 스위치에서 특권 EXEC 모드로 전환하기 위해 사용
en

# "configure terminal"의 약어로, 글로벌 구성 모드로 전환하는 명령어
conf t

# 스위치에서 IP 라우팅 기능을 비활성화하는 명령어
no ip routing

# FastEthernet 0/1 부터 24까지의 인터페이스로 전환하는 명령어
int range fa 0/1-24

# 인터페이스를 스위치 엑세스 모드로 설정하는 명령어
switchport mode access

# 포트 모드를 NNI모드로 설정 하는 명령어
port-type nni
no sh

이렇게 설정 후 EXEC 모드에서 현재 running-conf를 확인 하면

Switch#sh run
Switch#sh running-config 
Building configuration...

Current configuration : 1750 bytes
!
version 12.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Switch
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
system mtu routing 1500
authentication mac-move permit
ip subnet-zero
!
!
!
!
!         
!
spanning-tree mode rapid-pvst
spanning-tree etherchannel guard misconfig
spanning-tree extend system-id
!
!
vlan internal allocation policy ascending
!
!
!
interface FastEthernet0/1
 port-type nni
!
interface FastEthernet0/2
 port-type nni
!
interface FastEthernet0/3
 port-type nni
!
interface FastEthernet0/4
 port-type nni
!
interface FastEthernet0/5
 port-type nni
!
interface FastEthernet0/6
 port-type nni
!
interface FastEthernet0/7
 port-type nni
!
interface FastEthernet0/8
 port-type nni
!
interface FastEthernet0/9
 port-type nni
!
interface FastEthernet0/10
 port-type nni
!
interface FastEthernet0/11
 port-type nni
!
interface FastEthernet0/12
 port-type nni
!         
interface FastEthernet0/13
 port-type nni
!
interface FastEthernet0/14
 port-type nni
!
interface FastEthernet0/15
 port-type nni
!
interface FastEthernet0/16
 port-type nni
!
interface FastEthernet0/17
 port-type nni
!
interface FastEthernet0/18
 port-type nni
!
interface FastEthernet0/19
 port-type nni
!
interface FastEthernet0/20
 port-type nni
!
interface FastEthernet0/21
 port-type nni
!
interface FastEthernet0/22
 port-type nni
!
interface FastEthernet0/23
 port-type nni
!
interface FastEthernet0/24
 port-type nni
!
interface GigabitEthernet0/1
 port-type nni
!
interface GigabitEthernet0/2
 port-type nni
!
interface Vlan1
 no ip address
!
no ip http server
ip classless
!
!
ip sla enable reaction-alerts
!
!
line con 0
line vty 0 4
 login
line vty 5 15
 login
!
end

모든 Fast Ethernet 인터페이스에 NNI 모드가 적용 된 것을 확인 할 수 있다.

 

아래 설정들은 현재 미적용 상태

Serial Console No Password

en
conf t

# Serial Console 들어가기
line con 0

# Password 비활성화 하기
no password

# Running-config 결과
line con 0
!

 

SSH & Telnet for 192.168.10.0/24 Network

en
conf t

# IP 엑세스 리스트 설정 만들기
ip access-list extended ALLOW_SSH_telnet
permit tcp 192.168.10.0 0.0.0.255 any eq 22
permit tcp 192.168.10.0 0.0.0.255 any eq 23
deny ip any any
exit

# 가상 터미널 라인 진입 하기
line vty 0 15

# 엑세스 리스트 설정을 가상 터미널에 추가 하기
access-class ALLOW_SSH_telnet in

# Running-config 결과
ip access-list extended ALLOW_SSH_telnet
 permit tcp 192.168.10.0 0.0.0.255 any eq 22
 permit tcp 192.168.10.0 0.0.0.255 any eq telnet
 deny   ip any any

line vty 0 4
 access-class Allow_SSH_telnet in
line vty 5 15
 access-class Allow_SSH_telnet in

 

Account Creation & local login

en
conf t

# 유저 생성 및 aaa authentication 활성화
username cisco password cisco!@
aaa authentication login telnet_auth local

# 가상 터미널에 authentication 활성화
line vty 0 15
login authentication input telnet_auth
transport input telnet


# Running-config 결과
username cisco password 0 cisco!@ priv 15
aaa new-model
!
!
aaa authentication login default local
aaa authentication login ssh_auth local
aaa authentication login telnet_auth local
!
!
line vty 0 4
 access-class Allow_SSH_telnet in
 login authentication telnet_auth
 transport input telnet
line vty 5 15
 access-class Allow_SSH_telnet in
 login authentication telnet_auth
 transport input telnet