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 공식 페이지에서 모델을 검색 해보면 이제 스위치를 지원 하지 않는다고 나온다. 그래서 새로운 펌웨어 업데이트나 다른 지원이 공식 적으로 안된다.
일단 현재 사무실에 있는 3400 장비를 Reset및 업데이트 해야 된다. Reset을 하기 위해 장비의 Console 화면 (CISCO CLI)에 접속 해야 된다. 장비마다 다를 수 있지만 보통 CISCO 장비들은 사진에 보이는 것 와 같이 앞에 아니면 뒤에 이렇게 "Console"이라고 적혀 있다.
콘솔 포트와 노트북의 Serial 포트에 연결 해서 바로 CISCO장비의 Console CLI에 접속 가능 하다. 그러기 위해 필요한 케이블은 아래 사진을 참고 한다.
일단 콘솔 포트와 노트북을 연결 후 XSHELL 또는 PuTTY를 사용하여 COM3-5 중 COM port를 통해 Switch의 CLI와 접속 할 수 있다. Switch와 연결된 COM 포트 정보를 확인 하기 위해서 윈도우의 장치 관리자를 열어 보면 된다.
보통은 COM3로 Switch 장비가 연결 되지만, 가끔 COM5으로 연결 되는 경우가 있다. 그래서 케이블 연결 후 한번 확인 하는 걸 추천 한다. 근데 여기서 만약에 중요 콘솔 용 드라이버가 설치 되지 않았으면 아래 사진과 같이 "알 수 없는 장치" 라고 보인다
이런 상황에서는 여기 링크에 있는 드라이버를 다운로드 받은 후 설치 한다.
여기서 중요한 포인트는 아래 사진과 같이 USB to RJ45 케이블로 CISCO장비와 연결 시 다른 하나의 드라이버를 추가로 설치 해야 된다. RJ45 to USB 드라이버 링크.
아래 참고 사진은 드라이버 설치 및 콘솔 포트 와 연결 상태 확인 후 XSHELL에서의 접속 설정이다:
COM5포트 연결 되어 있다는 걸 확인 후 Baud Rate를 9600으로 설정 한다.
바우드(Baud) 비트레이트는 데이터 통신에서 전송 속도를 나타내는 측정 단위이다. 바우드 비트레이트는 초당 전송되는 신호나 Symbol의 수를 나타낸다. 이는 데이터 전송 속도를 측정하고 데이터 통신 장치 간의 통신 속도를 일치 시키는 데 사용된다.
9600 바우드는 통신 장치 간의 일반적인 표준 속도 중 하나다. 많은 장치 및 터미널 에뮬레이터는 9600 바우드를 기본 속도로 지원하며, 이는 호환성과 상호 운용성을 보장하기 위한 선택이다.
설정 확인 후 연결 Switch 장비와 연결 한다. 아무 문제가 없을 시 Switch CISCO장비의 CLI로 접속이 완료 될 거고, 완전이 새로운 상태라면 아래와 같이 화면이 나온다
하지만 현재는 Switch에 이미 몇 가지 설정이 되어 있는 걸로 보인다. 이미 입구 부터 Username과 암호를 요구 한다.
이제 이 Switch를 리셋 및 펌웨어 업데이트 작업을 실행 하겠다. 먼저 Reset을 해야 Switch안을 들어 갈 수 있으니, Reset부터 하겠다.
Switch를 리셋 하기 위해, Switch의 ROMMON(ROM Monitor mode)으로 부팅을 해야 한다. 줄임말로 ROMMON모드는, 스위치가 부팅할 때 기동 되는 소프트웨어이다. ROMMON모드로 들어가기 위해 제일 먼저 Switch를 재 시작 한다. 재 시작 시 노트북은 계속 Switch과 연결 상태이어야 한다. 재 시작 하는 동안 계속 키보드에 있는 'Break' 키를 연속으로 눌러야 만 ROMMON 모드로 접속이 가능하다. Break키가 잘 입력 되었으면 이 화면을 볼 수 있다.
가끔 Break 버튼이 키보드에 없거나 터미널에 인식이 안될 경우가 있다. 이때는 다른 Break 버튼이 존재하는 키보드를 가져오거나, PuTTY나 TeraTerm같은 'Send Break' 옵션이 존재하는 터미널을 사용 해도 된다.
Tera Term의 예시:
이렇게 까지 해도 안될 때는 케이블 문제다. 자세한 이유는 아직 안 나와 있으나 일단 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
del flash:config.text
명령어는 플래시 메모리에 저장된 "config.text" 파일을 삭제하는 명령어이다. "config.text" 파일은 스위치의 설정 정보가 저장된 파일로, 이 명령을 사용하여 해당 설정 파일을 삭제할 수 있다.del flash:vlan.dat
명려어는 플래시 메모리에 저장된 "vlan.dat" 파일을 삭제하는 명령이다. "vlan.dat" 파일은 VLAN(Virtual Local Area Network) 정보가 저장된 파일로, 이 명령을 사용하여 해당 VLAN 정보 파일을 삭제할 수 있다.
이렇게 config 파일과 vlan 파일들을 삭제 하게 되면, Switch는 기본 Factory 설정으로 돌아 간다. 마지막에 있는 Boot 명령어로 스위치가 재 시작 하면 아래와 같은 화면을 볼 수 있다:
CISCO ME3400 Firmware Update
CISCO ME3400 장비에 대한 간략하게 소개 및 콘솔 포트와 연결 하는 방법은 이미 Reset하는 과정에서 설명 했으므로 바로 Firmware Update 하는 방법을 설명 하겠다. 일단 업데이트를 적용 할 Switch의 콘솔 CLI으로 접속 한 후 show version
이라는 명령어를 통해 현재 Firmware 버전을 확인 한다.
현재 버전을 확인 하자면 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에서 최신 버전을 검색 한다. 검색 결과:
여기서 마지막에 나온 12.2(53) 버전이 최신이라고 볼 수 있다. 이 버전을 노트북에 다운로드 받는다. 다운로드 후 폴더에 완료 된 상태를 볼 수 있다:
이제 이 이미지를 Switch에거 옮겨야 된다. 그렇기 위해선 노트북에서 tftp 서버를 생성 하여 위 파일을 Switch에게 넘기면 된다.
TFTP (Trivial File Transfer Protocol) 서버는 파일 전송 프로토콜의 한 형태로, 네트워크를 통해 파일을 전송하는 데 사용되는 서버
현재 노트북에서 TFTP 서버를 생성 하여 Switch와 연결 후 서로 간의 네트워크 상태를 확인 해야 된다. 그러기 위해는 일단 Switch과 노트북이 동일한 네트워크에 있어야 된다.
첫 번째로, 일반 랜 선을 통해 노트북의 이더넷 포트와 스위치의 랜 포트를 연결 한다. 연결 후 노트북의 이더넷 포트의 IP 주소를 부여 한다(192.168.70.0/24 네트워크를 사용 하였다).
인터넷과의 연결은 아니니 기본 게이트웨이 및 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
명령어다.
위 사진의 VLAN1는 테스트 용 이므로 IP 주소 및 상태 무시
Tftpd64는 DHCP, TFTP, DNS, SNTP 및 Syslog 서버와 TFTP 클라이언트를 포함하는 무료 경량 오픈 소스 IPv6 지원 애플리케이션이다.
어플리케이션 설치 후 열어보면 이렇게 화면을 볼 수 있다.
여기서 중요 포인트는 TFTP 서버를 노트북의 원하는 경로와 바인딩을 진행 할 수 있다. 바인딩 후 그 경로에 있는 파일을 쉽게 Switch에 옮기거나, Switch에서 어떤 파일을 바인딩 되어 있는 경로에 옮길 수 있다. 서버 interface는 거의 스스로 네트워크를 설정 한 이더넷 포트로 잡힌다. 안 되어 있을 경우 수동으로 선택 가능하다.
이제 Switch의 콘솔 CLI를 통해 기존에 있던 Firmware 이미지를 노트북으로 옮겨 백업 할 예정이다.
먼저 확인 할 절차는 이미지의 이름을 확인 하는 거다. Switch콘솔의 EXEC모드에서 dir
명령어를 통해 현재 최상의 디렉토리의 존재하는 파일 및 폴더들을 확인 할 수 있다.
확인 후 me340으로 시작 하는 이미지를 노트북 쪽으로 백업 해 둘 것이다. 그 작업은 바로 copy flash tftp
를 사용하여 진행 한다.
노트북 쪽 TFTP서버에서 지정한 디렉토리로 이동 하면:
이렇게 복사가 완료 되었다는 걸 확인 할 수 있다.
이제 다시 Switch콘솔로 돌아와서 펌웨어 이미지를 삭제 한다.
삭제 작업을 진행 후 최신 펌웨어 버전 이미지를 TFTP서버의 경로에 옮긴다. 다시 Switch 콘솔 CLI에서 copy tftp flash
명령어를 진행 한다
이렇게 진행 한 후 switch의 디렉터리를 확인 하면 최신 펌웨어 이미지 가 올라온 걸 확인 할 수 있다:
이 상태에서 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가지의 방법이 있다.
- METROACCESS 이미지로 전환
- 라우팅 비활성화 및 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