주말 정말 간단한 Cisco 3745 Router 의 IOS Upgrade 작업이 문제가 생기는 바람에 고생 좀 했어요.
정말 간단히 Router 에 TFTP 로 IOS 를 upload 해 주고 boot system 위치를 지정해 주고 reload 해주고 정상적으로 booting 이 되었는지 확인 하고 정상적인 동작을 확인 하면 끝나는 대략 10분 정도의 일이 었는데 문제가 생겨 버린 거죠. ^^

문제는 이 녀석이 정상적으로 부팅이 되지 않아 멈추어 버린 겁니다. 컴퓨터로 얘기하자면 OS 설치하다가 뻑난 거죠 -_-.
ROMmon mode에서 이 녀석의 사용 가능한 devices 들을 확인 할 수 있습니다.

rommon 1 >dev
Devices in device table:
idname
flash:flash
slot0:PCMCIA slot 0
slot1:PCMCIA slot 1
eprom:EPROM
rommon 2 >

여기서 dir flash: 라고 입력 하면 flash 에 올라가 있는 ios 를 확인 할 수 있구요.

rommon 3 >dir flash:
         File size           Checksum   File name
   35823432 bytes (0x804b4c)   0x6ba0    c3745-ipvoice-mz.123-22.bin
rommon 4 >

image가 정상적으로 올라가 있다면 아래와 같이 입력해 주고 제대로 booting 만 된다면 작업은 끝

rommon 5 >boot flash:c3745-ipvoice-mz.123-22.bin
program load complete, entry point: 0x80008000, size: 0x804a30
Self decompressing the image : ###################################
########...

참고 url:
http://cisco.com/en/US/products/hw/routers/ps274/products_tech_note09186a008009429f.shtml





하지만 역시 한 번 꼬이기 시작한 일은 절대 쉽게 풀려 주지 않는 법.
올라가 있는 image로는 정상적으로 booting 이 되지 않아 이전 image 로 다시 back out 하기로 했죠.

ROMmon에서 tftp를 이용한 ios download 는 Cisco 3800 only 라는 말에 (Download Using tftpdnld ROMmon command (Cisco 3800 only)) 눈물을 머금고 xmodem 을 이용해 upload 했습니다.

Download a Software Image via TFTP Using the tftpdnld ROMMON Command.(http://cisco.com/en/US/products/hw/routers/ps259/products_tech_note09186a008015bf9e.shtml)





아래와 같은 방법을 이용하면 console 에서 9600bps 가 아닌 115200bps 로 image를 upload 할 수 있습니다.

1.
rommon 2 > confreg
do you wish to change the configuration? y/n [n]:  y
enable  "diagnostic mode"? y/n  [n]: n 
enable  "use net in IP bcast address"? y/n  [n]: n
disable "load rom after netboot fails"? y/n  [n]: n
enable  "use all zero broadcast"? y/n  [n]: n
enable  "break/abort has effect"? y/n  [n]: n
enable  "ignore system config info"? y/n  [n]: n
change console baud rate? y/n  [n]:  y
enter rate: 0 = 9600,  1 = 4800,  2 = 1200,  3 = 2400
            4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200  [7]:  7
change the boot characteristics? y/n  [n]:  y
enter to boot:
 0 = ROM Monitor
 1 = the boot helper image
 2-15 = boot system
    [0]:  0

    Configuration Summary

enabled are:
load rom after netboot fails
console baud: 115200
boot: the ROM Monitor
do you wish to change the configuration? y/n  [n]: n
You must reset or power cycle for new config to take effect
rommom 2 > reset

2.
Open a new hyperterminal with these settings:

Bits per second - 115200
Data bits - 8
Parity - None
Stop bits - 1
Flow control - Hardware

3.
After setting the hyperterminal, you receive a rommon prompt. Enter the xmodem command. Before you enter an xmodem command, there should be a software image residing in your terminal or your local hard drive.

rommon 2 > xmodem -c c3640-i-mz.121-7.bin

Do not start the sending program yet...
         File size           Checksum   File name

   4936800 bytes (0x4b5460)   0x2dd7    c3640-i-mz.121-7.bin (bad checksum: 0x13eb)

WARNING: All existing data in flash will be lost!

Invoke this application only for disaster recovery.

Do you wish to continue? y/n  [n]:  y

Ready to receive file c3640-i-mz.121-7.bin ...

4.After this message appears, you have to download the file using xmodem and this procedure:

Go to Hyperterminal and click the Transfer menu.

Select Send File.

In the dialog box which appears, click on browse and look for the file name on your local hard drive.

Under the filename field is the Protocol drop-down box. Choose Xmodem.

Click Send to initiate the file transfer.

5.
After the transfer completes, the router will reload itself. When the reload completes, press the return key to be taken to a prompt and to reset the configuration register and the console line speed.

Router> enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#configure terminal
Router(config)#config-register 0x2102
Router(config)#line con 0
Router(config-line)# speed 9600

6.
Upon changing the console speed, you will lose connectivity. Go to your terminal program, change the baud rate to 9600, and reconnect to the router console.

Router(config-line)#ctrl z
Router #write mem
Router #reload

참고 url:
http://cisco.com/en/US/products/hw/routers/ps259/products_tech_note09186a008015bfac.shtml#proc_3600





다행히 정상적으로 ios 가 download 된 후 booting 이 되었고 정상 작동을 해 주더군요.
colsole로 5k/s 정도가 나와 1시간이 넘게 20mega가 넘는 iso 가 전송 되는 걸 지켜보고 있었지만요.

Router에 IOS가 없어 부팅이 안 될 경우
Router reload후 Ctrl+Break key를 누릅니다.
>o/r 0x2100 // IOS이미지와 nvram에 저장 되어 있는 config를 무시
>i //초기화

>b IOS파일명 TFTP주소 //TFTP 서버에 있는 IOS로 부팅

정상적으로 부팅후 TFTP를 이용해 IOS를 Upload

Upload 완료후
router(config)#config-reg 0x2102

저장후 reload.
Router#show interface serial0
Serial0 is up, line protocol is up
Hardware is QUICC Serial
Internet address is 210.98.143.18/30
MTU 1500 bytes, BW 512 Kbit, DLY 20000 usec, rely 255/255, load 5/255
Encapsulation HDLC, loopback not set, keepalive set (10 sec)
Last input 00:00:00, output 00:00:00, output hang never
Last clearing of "show interface" counters 19:05:07
Queueing strategy: fifo
Output queue 0/40, 63 drops; input queue 0/75, 0 drops
5 minute input rate 109000 bits/sec, 30 packets/sec
5 minute output rate 11000 bits/sec, 21 packets/sec
3666167 packets input, 1552062305 bytes, 0 no buffer
Received 7973 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
3092834 packets output, 330910586 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
⑦0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
DCD=up DSR=up DTR=up RTS=up CTS=up


ⓐ Serial0 is ..[UP/DOWN] → is administratively down 해당 인터페이스가 Active상태인지 아닌지를 확인하는 것으로 회선의 연결상태를 나타낸다,즉, DCE(CSU/FDSU/DSU등)장비와 라우터간 인터페이스 신호가 정상적인지를 확인할 수 있다. administratively down상태는 라우터 인터페이스가 shutdown상태이며 라우터가 정상적으로 setting되지 않았음을 알 수 있다.
ⓑ line protocol is [up/down] line의 상태를 확인할 수 있다. 상대측 라우터와 회선이 정상적으로 연결되었는지, Interface Encapsulration이 일치하는지를 알 수 있다. down인 경우 다음과 같이 확인한다.
-자신의 라우터와 DCE장비(CSU/FDSU/DSU)간 V.35 Cable 접속상태 확인.
-상대방의 DCE에서 loopback을 걸고 자신의 DCE에서 Test pattern을 송신했을때 bit error 발생 여부 확인
-상대방의 DCE장비(CSU/FDSU/DSU) alarm 발생여부 확인.
-상대방의 DCE장비에서 LoopBack을 걸면 자신의 라우터는 line protocol up [looped]라고 표시되는지 확인.
ⓒ Hardware is QUICC Serial 하드웨어의 형태를 나타낸다
ⓓ Internet address is 210.98.143.18/30 IP address와 subnetmask를 나타낸다 /30은 255.255.255.252의 새로운 mask표시방법이다
ⓔ MTU 1500 bytes 인터페이스가 전송할 수 있는 최대 packet size단위
ⓕ BW 512 Kbit (BW=BandWidth) 인터페이스에 설정된 대역폭의 변수로서 전용선의 속도가 512kbps임을 나타낸다
ⓖ DLY 20000 usec 인터페이스 지연시간
ⓗ rely 255/255 (Reliability) 인터페이스의 신뢰성을 나타내는 수치이며 5분간 평균을 나타낸다. 255/255가 100%로 정상상태이며 수치가 떨어질 경우 회선품질이 떨어진 것으로 ISP에 장애처리 요청을 하면된다.
ⓘ load 5/255 인터페이스에 부하를 나타내는 것으로 5분간 평균치이며, 부하가 올라 갈수록 인터넷 사용속도가떨어지게 됨으로 주의깊게 관찰하여야 한다.
ⓙ Encapsulation HDLC 인터페이스에서 사용하는 통신방법
- HDLC(High level Data Link Control) : 시스코 라우터끼리 사용하는 통신방법
- PPP(Point-to-Point Protocol) : 이기종 라우터간 사용하는 통신방법
ⓚ loopback not set 라우터 interface loopback설정여부 표시, 해당인터페이스 내부에서 LoopBack을 사용
ⓛ keepalive set (10 sec) 회선상태를 확인하는 시간, 10초 단위로 회선상태를 check
ⓜ Last input 00:00:00 해당인터페이스가 마직막 패킷을 받고난 시간
ⓝ output 00:00:00 output hang never
Last clearing of "show interface" counters 19:05:07 인터페이스가 마지막으로 패킷을 보낸 시간
- interface counter를 clear하고 난 이후의 시간을 표시 (19시간5분7초가 경과되었음을 의미)
ⓞ Queueing strategy: fifo Queue에 저장된 데이터 전송방식으로 interface에서 fair-queue설정명령에 의함
- fifo(first in first out) : Queue에 먼저 저장된 data부터 먼저 전송
- weighted fair : Queue에 저장된 data중 우선 순위에 따라 전송
ⓟ Output queue 0/40, 63 drops; input queue 0/75, 0 drops Output과 Input Queue의 패킷수로 drop은 Queue가 차서 버리는 패킷수. drop되는 packet이 많을 경우
Queue를 늘려 주면되는데 이는 다른 부분에 영향을 줄 수 있으므로 주의를 요한다
ⓠ 5 minute input rate 109000 bits/sec, 30 packets/sec 5분간 평균적으로 수신된 데이터량을 표시하는 것으로 109kbps를 수신
ⓡ 5 minute output rate 11000 bits/sec, 21 packets/sec 5분간 평균적으로 송신된 데이터량을 표시. 11kbps
ⓢ 0 no buffer 시스템내의 buffer가 없어서 인터페이스가 받아 버린 패킷의 수
ⓣ Received 7973 broadcasts
: 인터페이스가 broadcast나 multicast 패킷을 받은 패킷의 총 수(7973)
ⓤ 0 runts data field의 최소 전송 패킷사이즈(46byte)보다 작아서 버린 패킷의 수
ⓥ 0 giants data field의 최대 전송 패킷사이즈(1500byte)보다 커서 버린 패킷의 수
ⓦ 0 input errors no buffer,runts,giants,CRC, frame, overrun, ignored, abort counts의 전체 수치를 나타낸다. input과 관련된 다른 에러를 포함한 전체 에러수를 나타낸다
ⓧ 0 CRC 패킷 자체의 error checksum을 통해 보내진 데이터와 받은 데이터가 정확한지를 체크하고 에러가 발생할 때 표시. CRC 발생요인으로 전송로의 잡음이나 noise, DCE오동작,인터페이스케이블 접속불량등이 있다.
ⓨ 0 frame CRC에러등을 가진 부정확한 패킷의 수, 주로 noise나 전송장애시에 발생
ⓩ 0 overrun serial에서 들어오는 input data를 receiver hardware가 처리할 수 없을 정도의 data가 들어와 정상적으로 할 수 있는 능력을 상실한 경우를 말하는데, hardware buffer가 data를 받아서 처리할 수 없게된 횟 수
① 0 ignored broadcast storm이나 noise의 갑작스런 증가로 인하여 ignored가 증가. interface hardware buffer가 부족 하여 interface가 받은 data packet을 소화해내지 못하고 무시하는 횟수
② 0 abort serial interface와 데이터 링크 장비 사이의 clock문제로 인하여 발생. clock설정이 잘못된 경우에도 발생한다.
③ 0 underruns serial로 나가는 output data를 tranceiver hardware가 처리하지 못하게 된 횟수
④ 0 output errors underruns, collisions, interface resets, output buffer failures, output buffers swapped out carrier transitions counts의 전체 수치를 나타낸다. ouput과 관련된 전체 에러 수
⑤ 0 collisions Ethernet collision 때문에 재전송되는 메시지의 수. 이런 현상은 Ethernet cable이 너무 길거나, 접속불량, 허브를 너무 많이 연결할 경우에 발생한다. 약간의 collision발생은 상관없지만 장비의 이상유무를 점검하거나 client PC 를 분리하여야 한다
⑥ 0 interface resets 인터페이스가 완전히 reset된 횟 수. 이 경우는 특정시간안에 Queue에 있는 패킷을 전송 하지 못하는 경우 발생한다. Serial회선의 경우에는 주로 DCE에서 Clock signal을 공급하지 못하는 경우나 케이블 문제로 발생한다. 회선이 down될 때와 up될 때 1번씩 증가한다
⑦ 0 output buffer failures output buffer가 failures상태가 된 횟수
⑧ 0 output buffers swapped out output buffer이상으로 바뀐 횟수
⑨ 0 carrier transitions Serial interface의 DCD(Data Carrier Detect) Signal 변경 횟수, 수치 증가시 회선이
down/up 되고 있으므로 전용회선의 시험이 필요하다
⑩ DCD=up DSR=up DTR=up RTS=up CTS=up - DCD : 상대 DCE로부터 수신된 반송파 유무를 표시
- DSR : DCE 동작 완료 상태를 표시 (Data Set Ready)
- DTR : 라우터 동작 완료 상태를 표시 (Data Terminal Ready)
- RTS : 라우터가 DCE에 데이터 송신요구표시 준비를 완료한다. (Request To Send)
- CTS : DTE가 DTE에 데이터 송신 가능을 표시(Clear TO Send)


출처 : 컴퓨터속 문서

+ Recent posts