Setup van een Cisco IOS besturingssysteem op een Cisco 1941 router¶
Het (her)installeren van Cisco IOS op een Cisco 1941 router is het proces van het kopiëren van het besturingssysteemimage naar het flashgeheugen. Dit kan op twee manieren:
- Via een consolekabel (directe seriële verbinding): Hierbij gebruik je het Xmodem-protocol om het IOS-bestand over te zetten, wat kan vanuit een werkend IOS of vanuit de ROM Monitor (ROMmon) modus als de router niet correct opstart.
- Via een netwerkkabel: Hierbij gebruik je netwerkprotocollen zoals TFTP, SFTP (via SSH), of HTTP om de image over te dragen. Deze methode is enkel mogelijk vanuit een reeds werkend IOS en niet vanuit ROMmon, aangezien er netwerkfunctionaliteit vereist is.
Na de overdracht wordt de router herstart om met het nieuwe of herstelde IOS-image op te starten.
Vereisten¶
- een PC met Linux Mint 22
- minicom terminal emulation software
- een console kabel en/of netwerk kabel
- een Cisco 1941 router (al dan niet toegankelijk)
Demo¶
Situatie¶
Op het moment van schrijven is de nieuwste versie van IOS voor een Cisco 1941-router c1900-universalk9-mz.SPA.157-3.M8.bin. Ik gebruik die versie voor de voorbeelden.
IOS overdracht over serial (xmodem)¶
Vanaf IOS¶
Controleer of er voldoende ruimte over is op het Flash-bestandssysteem om een (extra) IOS toe te voegen. In dit voorbeeld maak ik voldoende plaats vrij door het bestaande IOS te verwijderen. Niet herladen!
Router#dir flash:
Directory of flash0:/
1 -rw- 85053068 Nov 30 1983 00:00:00 +00:00 c1900-universalk9-mz.SPA.157-3.M8.bin
2 -rw- 34 Apr 4 2022 10:30:50 +00:00 pnp-tech-time
3 -rw- 138509 Apr 4 2022 10:31:02 +00:00 pnp-tech-discovery-summary
256610304 bytes total (171413504 bytes free)
Router#
Router#delete flash:/c1900-universalk9-mz.SPA.157-3.M8.bin
Delete filename [c1900-universalk9-mz.SPA.157-3.M8.bin]?
Delete flash0:/c1900-universalk9-mz.SPA.157-3.M8.bin? [confirm]
Router#
Stel de baudrate in op 115200 om de overdracht te versnellen. De verbinding wordt verbroken na de laatste opdracht. Er kunnen wat onzinnige tekens verschijnen; dit is normaal.
Pas de instellingen in je terminal-emulatieprogramma aan de nieuwe baudrate aan. Voor minicom druk je op Ctrl+A en vervolgens op Z.
Typ O en kies "Serial port setup". Wijzig de instelling met E en druk tweemaal op Enter. Exit. Mogelijks moet je nogmaals een Enter drukken om opnieuw toegang te verkrijgen tot de console.
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Rout+-----------------+---------[Comm Parameters]----------+----------------+
Rout| A - Serial De| | |
C� | B - Lockfile Loc| Current: 9600 8N1 | |
| C - Callin Pro| Speed Parity Data | |
| D - Callout Pro| A: <next> L: None S: 5 | |
| E - Bps/Par/B| B: <prev> M: Even T: 6 | |
| F - Hardware Flo| C: 9600 N: Odd U: 7 | |
| G - Software Flo| D: 38400 O: Mark V: 8 | |
| H - RS485 En| E: 115200 P: Space | |
| I - RS485 Rts | | |
| J - RS485 Rts A| Stopbits | |
| K - RS485 Rx Du| W: 1 Q: 8-N-1 | |
| L - RS485 Termi| X: 2 R: 7-E-1 | |
| M - RS485 Delay | | |
| N - RS485 Delay | | |
| | Choice, or <Enter> to exit? | |
| Change which +------------------------------------+ |
+-----------------------------------------------------------------------+
Start een xMODEM-overdracht. Bevestig de doelbestandsnaam. De router vraagt je vervolgens om de overdracht te starten vanuit je terminalemulator.
Voor minicom, druk op Ctrl+A en vervolgens op Z. Typ S (Send files) en selecteer "xmodem". Navigeer naar het nieuwe IOS-bestand (hier /srv/tftp). Druk op Space om het bestand te selecteren en druk "Oké" om te verzenden.
Neem een kop koffie. Dit kan lang duren, afhankelijk van de grootte van de IOS-image. Wacht tot de overdracht is voltooid en druk Enter om te stoppen.
Je zou kunnen boot system flash:/... gebruiken (zoals bij een Cisco 2960 switch), maar dit schrijft een regel weg in de running-config en dat willen we niet, want we wensen een lege configuratie.
Na een herstart zoekt/vindt de router wel een IOS op de flash. Je moet de instellingen in je terminal-emulatieprogramma opnieuw aanpassen aan de standaard baudrate van 9600. Controleer of de juiste IOS-image is geladen. Veel plezier met je nieuwe IOS!
Vanaf ROMMON¶
In tegenstelling tot een Cisco 2960-switch is het, voor zover ik weet, niet mogelijk om xmodem vanaf de router te gebruiken in ROMMON-mode.
IOS-overdracht via netwerkprotocol¶
In tegenstelling tot een Cisco 2960-switch is overdracht via een netwerkprotocol mogelijk vanuit IOS en vanuit de ROMMON-modus.
Vanaf IOS¶
tFTP¶
Controleer of er voldoende ruimte over is op het Flash-bestandssysteem om een (extra) IOS toe te voegen. In dit voorbeeld simuleer ik een ontbrekend IOS door het te verwijderen.
Router#dir flash:
Directory of flash0:/
1 -rw- 85053068 Jun 21 2024 06:40:02 +00:00 c1900-universalk9-mz.SPA.157-3.M8.bin
2 -rw- 35 Jul 10 2024 11:36:02 +00:00 pnp-tech-time
3 -rw- 3883 Jul 10 2024 11:36:06 +00:00 pnp-tech-discovery-summary
261189632 bytes total (176128000 bytes free)
Router#delete flash:/c1900-universalk9-mz.SPA.157-3.M8.bin
Delete filename [c1900-universalk9-mz.SPA.157-3.M8.bin]?
Delete flash0:/c1900-universalk9-mz.SPA.157-3.M8.bin? [confirm]
Router#
Je hebt een tFTP-service nodig op de LAB-PC. Kopieer een geldige Cisco IOS-image naar de tFTP-directory van waaruit de bestanden worden geserveerd. Pas de rechten aan.
- Toon de naam van de netwerkinterface op de LAB-PC (in dit geval: enp0s25)
- Configureer een tijdelijk IP-adres en subnetmasker.
- Controleer.
guru@lab:~$ sudo ip link show
[sudo] password for guru:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff
guru@lab:~$ sudo ip address add 192.168.1.101/24 dev enp0s25
guru@lab:~$ ip a
...
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 90:1b:0e:18:b9:8e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.101/24 scope global enp0s25
valid_lft forever preferred_lft forever
Configureer een IP-adres en subnetmasker op de router. Controleer dit.
Controleer de connectiviteit tussen de LAB-PC en de router.
Kopieer de IOS-image van de tFTP-server naar het flashgeheugen van de router.
Router#copy tftp://192.168.1.101/c1900-universalk9-mz.SPA.157-3.M8.bin flash:
Destination filename [c1900-universalk9-mz.SPA.157-3.M8.bin]?
Accessing tftp://192.168.1.101/c1900-universalk9-mz.SPA.157-3.M8.bin...
Loading c1900-universalk9-mz.SPA.157-3.M8.bin from 192.168.1.101 (via GigabitEthernet0/0): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 85053068 bytes]
85053068 bytes copied in 125.316 secs (678709 bytes/sec)
Router#
Controleer en start opnieuw op.
Router#dir flash:
Directory of flash0:/
1 -rw- 85053068 Jul 10 2024 11:51:18 +00:00 c1900-universalk9-mz.SPA.157-3.M8.bin
2 -rw- 35 Jul 10 2024 11:36:02 +00:00 pnp-tech-time
3 -rw- 51320 Jul 10 2024 11:36:10 +00:00 pnp-tech-discovery-summary
261189632 bytes total (176078848 bytes free)
Router#
Router#reload
Proceed with reload? [confirm]
*Jul 10 11:53:13.439: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.
SSH (sFTP)¶
todo
HTTP¶
todo
From ROMMON¶
Start eerst de router in de ROMMON-modus.
tFTP¶
Stel de benodigde parameters in om tFTP mogelijk te maken.
Start de tFTP-overdracht.
rommon 6 > tftpdnld
IP_ADDRESS: 192.168.1.84
IP_SUBNET_MASK: 255.255.255.0
DEFAULT_GATEWAY: 192.168.1.254
TFTP_SERVER: 192.168.1.101
TFTP_FILE: c1900-universalk9-mz.SPA.157-3.M8.bin
TFTP_MACADDR: d8:b1:90:63:85:60
TFTP_DESTINATION: flash0:
GE_PORT: Ge0/0
TFTP_MEDIA_TYPE: Copper
TFTP_VERBOSE: Progress
TFTP_RETRY_COUNT: 20
TFTP_TIMEOUT: 7200
TFTP_CHECKSUM: Yes
GE_SPEED_MODE: Auto Detect
Invoke this command for disaster recovery only.
WARNING: all existing data in all partitions on flash will be lost!
Do you wish to continue? y/n: [n]: y
Receiving c1900-universalk9-mz.SPA.157-3.M8.bin from 192.168.1.101 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
File reception completed.
IOS Image Load Test
___________________
Digitally Signed Release Software
Validating checksum.
Copying file c1900-universalk9-mz.SPA.157-3.M8.bin to flash0:.
program load complete, entry point: 0x80803000, size: 0x1b340
Format: All system sectors written. OK...
Format: Total sectors in formatted partition: 510944
Format: Total bytes in formatted partition: %llu
Format: Operation completed successfully.
program load complete, entry point: 0x80803000, size: 0x1b340
rommon 7 >
Controleer Flash.




