Niedawno w ręce wpadł mi używany ale sprawny router Cisco 871. Testowa konfiguracja wykazała błędne działanie niektórych funkcji np. serwera DHCP. Dlatego podjąłem decyzję o upgradzie firmware’u – czyli w przypadku Cisco 871 ROM Monitora (ROMmon) i właściwego systemu IOS.
1. Sprawdzenie wersji zainstalowanego oprogramowania.
Sprawdzenie aktualnej wersji zainstalowanego oprogramowania wykonujemy za pomocą komendy show version
. Jej wynik pokazany jest na poniższym screenie.
Informacje nas interesujące zaznaczone są czerwoną ramką. Są to:
- wersja oprogramowania IOS – 12.4(24)T8
- plik z imagem IOSa – 870-advipservicesk9-mz.124-24.T8.bin
- wersja ROM Monitora – 12.3(8r)YI4
2. Przygotowanie środowiska
Do przeprowadzenia aktualizacji potrzebować będziemy stacji klienckiej z zainstalowanym serwerem TFTP, podłączonej do portu LAN (w przypadku Cisco 871 zalecam port FE0), skonfigurowanej tak, aby była możliwa dwukierunkowa komunikacja pomiędzy urządzeniami. Sprowadza się to do nadania routerowi adresu IP od strony sieci LAN oraz nadania interfejsowi sieciowemu stacji klienckiej adresu IP z tego samego zakresu. Porty FE0-FE3 w routerze Cisco 871 są właściwie portami przełącznika dlatego interfejsem zarządzanym jest VLAN a nie port (domyślnie Vlan1
).
Jako serwer TFTP używam programu 3CDeamon dostępnego tutaj. Wg mnie jest najprostszym działającym na Windows 7. Instalujemy, sprawdzamy czy do zapory systemowej dodał się wyjątek (TFTP działa na porcie 69 UDP), wrzucamy pliki z najnowszymi (dla Cisco 871) obrazami ROM Monitora (C870_RM_ALT.srec.123-8r.YI6
) i IOS (c870-advipservicesk9-mz.151-4.M10.bin
). Dodatkowo stacja, z której wydajemy polecenia musi być podłączona do rutera przez port konsoli – ten kanał wykorzystamy do komunikacji przy aktualizacji IOS.
3. Aktualizacja ROM Monitora
Czynnością poprzedzająca aktualizację ROMmon’a I IOS jest sprawdzenie czy mamy wystarczająco dużo miejsca w pamięci flash. W zasadzie możemy z niej wszystko wykasować oprócz pliku z obrazem obecnego IOSa.
Wchodzimy w tryb enable
i wydajemy polecenie dir flash:/
.
Następnie kopiujemy z serwera TFTP plik z obrazem ROMmon’a do pamięci flash poleceniem copy tftp://192.168.1.135/C870_RM_ALT.srec.123-8r.YI6 flash:/
(gdzie 192.168.1.135 jest adresem serwera TFTP a plik C870_RM_ALT.srec.123-8r.YI6 jest plikiem z obrazem nowego ROMmon’a).
i wydajemy polecenie aktualizujące upgrade rom-monitor file flash:/C870_RM_ALT.srec.123-8r.YI6
. Po pomyślnej aktualizacji router się zrestartuje i będziemy mieć nową wersję ROM Monitora co możemy sprawdzić komendą show version
3. Aktualizacja IOS
Przed aktualizacją IOS zalecam zrobić backup konfiguracji oraz skopiować aktualny plik z IOS np na serwer TFTP. Robimy to z konsoli, w trybie enable
, wydając polecenie copy flash:/c870-advipservicesk9-mz.124-24.T8.bin tftp
a następnie podając adres serwera TFTP oraz nazwę pliku docelowego. To pole możemy zostawić puste co spowoduje, że plik źródłowy i docelowy będą mieć takie same nazwy.
Właściwą aktualizację IOS wykonujemy będąc w trybie ROM Monitora. Aby w niego wejść musimy przy uruchamianiu routera nacisnąć klawisze CTRL+Break. Kolejny krok to usunięcie starego pliku z IOSem z pamięci flash routera oraz podłączenie routera do serwera TFTP. Skasowanie pliku z IOSem wykonujemy za pomocą polecenia delete flash:/c870-advipservicesk9-mz.124-24.T8.bin
a podłączenie do serwera TFTP definiując zmienne takie jak adres IP routera, maskę podsieci, adres domyślnej bramy oraz adres serwera TFTP i nazwę pliku z nowym IOSem.
- rommon 3 > IP_ADDRESS=192.168.0.77
- rommon 4 > IP_SUBNET_MASK=255.255.254.0
- rommon 5 > DEFAULT_GATEWAY=192.168.0.1
- rommon 6 > TFTP_SERVER=192.168.1.135
- rommon 7 > TFTP_FILE=c870-advipservicesk9-mz.151-4.M10.bin
UWAGA: Zmienne definiujemy podając ich nazwy dużymi literami.
Po poprawnej definicji zmiennych kopiujemy plik z nowym IOSem z serwera TFTP do pamięci flash routera poleceniem tftpdnld
. Zmieniamy wartość rejestru (confreg 0x2102
) tak aby po restarcie router uruchomił się w normalnym trybie (z IOSem) i uruchamiamy ponownie.
Po uruchomieniu sprawdzamy wersję oprogramowania poleceniem show version
.
please,from wher you download latest IOS
From Cisco website. But, it is necessary to have valid service contract.