Zgodnie z maksymą :
Being the network administrator is like riding a bike. Except the bike is on fire, and you are in hell.
Każdy z administratorów sieci doświadczył kiedyś bycia w „sieciowym piekle” Takie piekło może powstać przez router, który nie jest w stanie prawidłowo się uruchomić. Jedną z przyczyn takiego stanu, w przypadku Cisco, może być brak możliwości wczytania obrazu systemu Cisco iOS i wejście routera do trybu romon.
Po podłączeniu się kablem konsolowym do routera widzimy wtedy taki obraz:
Powyżej znajduje się informacja:
Spowodowane jest to tym, że router nie może odnaleźć obrazu systemu Cisco iOS zapisanego w pamięci flash lub obraz ten jest uszkodzony.
Na początek sprawdźmy czy w pamięci znajduje się plik .bin z obrazem Cisco iOS. Robimy to za pomocą polecenia:
dir flash:
Na powyższym zdjęciu widać, że pamięć flash jest pusta. Przystąpimy zatem do skopiowania pliku .bin. Zrobimy to za pomocą kabla konsolowego i polecenia xmodem. Będzie nam potrzebny program ExtraPuTTY, który można pobrać ze strony sourceforge.net lub tutaj:
Protokół Xmodem jest bardzo wolny i transfer pliku zajmie dużo czasu. Oczywiście są inne sposoby, ale na potrzeby tego wpisu wykorzystam Xmodem. W moim przypadku plik .bin to39MB i jego transfer na standardowej prędkości konsoli (9600) trwał by od kilku do kilkunastu godzin. Aby przyśpieszyć ten proces skorzystamy z polecenia confreg.
confreg
Po wpisaniu go w trybie romon odpowiadamy na pierwsze pytanie „y”. Następnie kilka kolejnych pozostawiamy bez zmian potwierdzając ENTER. Aż dojdziemy do pytania: change console baud rate? Odpowiadamy na nie „y” wybieramy rate=57600 czyli „6” (można by użyć trybu 7=115200, ale w moim przypadku generował on błędy podczas przesyłania pliku). Na pozostałe pytania odpowiadamy „n” aż router wyświetli komunikat o konieczności restartu. Cały proces widoczny jest poniżej.
Po restarcie routera, należy pamiętać by przy połączeniu konsolowym wprowadzić nową wartość „Speed”:
Kolej teraz na skopiowanie pliku. Mam plik z obrazem systemu Cisco iOS o nazwie „c1841-advsecurityk9-mz.151-3.T2.bin” i chcę go umieścić w pamięci flash. Jestem podłączony do routera za pomocą kabla konsolowego i portu com. Ważne by nazwa naszego pliku .bin (zapisanego w komputerze), który chcemy przesłać była taka sama jak wpisana w poleceniu xmodem w programie ExtraPuTTY:
xmodem flash:c1841-advsecurityk9-mz.151-3.T2.bin
W tym momencie program informuje nas, żeby jeszcze nie rozpoczynać transferu pliku. Potwierdzamy najpierw ostrzeżenie literką y:
Teraz możemy rozpocząć transfer. Robimy to za pomocą menu „Files Transfer” następnie „Xmodem 1K” i „Send”:
Wskazujemy plik .bin zapisany w komputerze. Po wskazaniu powinno się pojawić okno „Transfering File”:
Po zakończeniu transferu obraz powinien się załadować automatycznie:
Jeżeli tak się nie stanie to wskazujemy obraz systemu iOS, który ma być wczytany za pomocą polecenia:
boot flash:c1841-advsecurityk9-mz.151-3.T2.bin
Jeżeli mieliśmy na routerze jakąś konfigurację (startup-config), to zostanie ona załadowana. Jeżeli nie to router wyświetli „System Configuration Dialog”. Rezygnujemy z niego „n”
Konieczne jest, by router ładował przesłany przez nas plik .bin za każdym razem po restarcie, a nie tylko jednorazowo.
W tym celu przechodzimy do trybu uprzywilejowanego:
en
Następnie do trybu konfiguracji za pomocą polecenia:
conf t
wskazujemy obraz do bootowania:
boot system flash:c1841-advsecurityk9-mz.151-3.T2.bin
wychodzimy z trybu konfiguracji:
exit
Zapisujemy bieżącą konfigurację:
wr
Restartujemy router:
reload
Z poziomu konsoli powinno wyglądać to w ten sposób:
Po restarcie możemy jeszcze sprawdzić aktualnie wczytany obraz Cisco iOS:
show ver
Widać, że zostało załadowane nowe oprogramowanie:
Możemy jeszcze przywrócić standardową prędkość konsoli za pomocą poleceń:
en
conf t
line con 0
speed 9600
Po wprowadzeniu tych poleceń konsola zostanie rozłączona, trzeba się połączyć z nową prędkością 9600 i dokończyć konfigurację:
exit
exit
wr
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.