Skip to content

Setup van een Cisco IOS besturingssysteem op een Cisco 2960 switch

Het (her)installeren van Cisco IOS op een Cisco 2960 switch 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 switch 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 switch herstart om met het nieuwe of herstelde IOS-image op te starten.

Vereisten

Demo

Situatie

Op het moment van schrijven is de nieuwste iOS voor...

  • een "Cisco 2960 24TT-L switch" "15.0(2)SE11"
  • een "Cisco 24TC-L Plus switch" is "15.2(7)E8"

Versie "15.2(7)E8" werkt NIET op een "Cisco 2960 24TT-L switch". Versie 15.0(2)SE11 werkt op beide switches. Ik gebruik deze laatste versie dus voor de voorbeelden.

IOS overdracht over serial (xmodem)

Vanuit 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!

Switch#dir flash:
Directory of flash:/

    3  drwx         128  May 29 2024 10:34:46 +00:00  pnp-tech
    4  drwx           0   Mar 1 1993 00:01:03 +00:00  pnp-info
    9  -rwx    11832946  May 29 2024 11:35:59 +00:00  c2960-lanbasek9-mz.150-2.SE11.bin
10  -rwx        1048  May 29 2024 11:37:31 +00:00  multiple-fs

65544192 bytes total (53509632 bytes free)
Switch#
Switch#delete flash:/c2960-lanbasek9-mz.150-2.SE11.bin
Delete filename [c2960-lanbasek9-mz.150-2.SE11.bin]? 
Delete flash:/c2960-lanbasek9-mz.150-2.SE11.bin? [confirm]
Switch#

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.

1
2
3
4
5
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#line console 0
Switch(config-line)#speed 115200
C�

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.

Switch#conf t                                                                                                    
Enter configuration commands, one per line.  End with CNTL/Z.                                                    
Swit+-----------------+---------[Comm Parameters]----------+----------------+                                    
Swit| 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 switch vraagt ​je vervolgens om de overdracht te starten vanuit je terminalemulator.

1
2
3
4
5
    Switch(config-line)#end
    Switch#copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin
    Destination filename [c2960-lanbasek9-mz.150-2.SE11.bin]?     <----- press ENTER
    Begin the Xmodem or Xmodem-1K transfer now...
    CCC

Voor minicom, druk op Ctrl+A en vervolgens op Z. Typ S (Send files) en selecteer "xmodem". Navigeer de map waar het IOS bestand zich bevindt (hier /srv/tftp). Druk op Space om het bestand te taggen en Enter "Okay" om te verzenden.

Neem een ​​kop koffie. Dit kan lang duren, afhankelijk van de grootte van het IOS-bestand. Wacht tot de overdracht is voltooid en druk op Enter om te stoppen.

Zorg ervoor dat de switch opstart vanaf de zojuist overgedragen IOS-image, controleer dit en start opnieuw op.

Switch(config)#boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin
Switch(config)#end
Switch#show boot
BOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin
...
...

Switch#reload

System configuration has been modified. Save? [yes/no]: no  <----- indien gevraagd
Proceed with reload? [confirm]

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!

Switch#show version
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)
...
...
System returned to ROM by power-on
System image file is "flash:/c2960-lanbasek9-mz.150-2.SE11.bin"
...
...

Switch Ports Model              SW Version            SW Image                 
------ ----- -----              ----------            ----------               
*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        


Configuration register is 0xF

Switch#

Vanuit ROMMON

Start de switch op in ROMMON-mode via een cold start.

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.

switch: dir flash:
Directory of flash:/

    2  -rwx  11832960  <date>               c2960-lanbasek9-mz.150-2.SE11.bin
    3  drwx  128       <date>               pnp-tech
    4  drwx  0         <date>               pnp-info
    10  -rwx  1048      <date>               multiple-fs

53509632 bytes available (12034560 bytes used)

switch: delete flash:c2960-lanbasek9-mz.150-2.SE11.bin
Are you sure you want to delete "flash:c2960-lanbasek9-mz.150-2.SE11.bin" (y/n)?y
File "flash:c2960-lanbasek9-mz.150-2.SE11.bin" deleted

switch: 

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.

switch: set BAUD 115200

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.

swit+-----------------+---------[Comm Parameters]----------+----------------+                                    
swit| 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. De switch vraagt ​je vervolgens om de overdracht te starten vanuit je terminalemulator.

1
2
3
switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                            
Begin the Xmodem or Xmodem-1K transfer now...                                                                         
CCC

Voor minicom, druk op Ctrl+A en vervolgens op Z. Typ S (Send files) en selecteer "xmodem". Navigeer de map waar het IOS bestand zich bevindt (hier /srv/tftp). Druk op Space om het bestand te taggen en Enter "Okay" 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 dan op Enter om te stoppen.

Werk de BOOT-parameter bij zodat deze overeenkomt met de nieuwe IOS.

1
2
3
4
5
6
7
8
switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                            
Begin the Xmodem or Xmodem-1K transfer now...                                                                         
C...........................................................................................................................................................
File "xmodem:" successfully copied to "flash:c2960-lanbasek9-mz.150-2.SE11.bin"                                         

switch: set BOOT flash:c2960-lanbasek9-mz.150-2.SE11.bin                                                                

switch: 

Zet de BAUD-snelheid terug naar de standaardwaarde (9600 bps). Pas de instellingen in je terminal-emulatieprogramma opnieuw aan. Druk op Enter. De verbinding is hersteld.

1
2
3
4
switch: unset BAUD                                                                                                                                            
                }                                                                                                                                           

switch:

Start ten slotte de switch handmatig op.

switch: boot        
Loading "flash:c2960-lanbasek9-mz.150-2.SE11.bin"...@@@@@@@@@@@@@@@@@

Controleer of de juiste IOS-image is geladen. Veel plezier met je nieuwe IOS!

Switch#show version
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)
...
...
System returned to ROM by power-on
System image file is "flash:/c2960-lanbasek9-mz.150-2.SE11.bin"
...
...

Switch Ports Model              SW Version            SW Image                 
------ ----- -----              ----------            ----------               
*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        


Configuration register is 0xF

Switch#

IOS overdracht over network protocol

Overdracht via een netwerkprotocol is alleen mogelijk vanaf IOS, niet vanuit de ROMMON-modus. Connecteer een UTP-netwerkkabel van de LAB-PC (Gigabit poort) naar een willekeurige poort van de switch (tip: neem ook een Gigabit switchpoort, bv. G0/1).

tFTP

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!

Switch#dir flash:
Directory of flash:/

    2  -rwx    11832946   Mar 1 1993 00:12:06 +00:00  c2960-lanbasek9-mz.150-2.SE11.bin
    3  -rwx        1048   Mar 1 1993 00:01:03 +00:00  multiple-fs

32514048 bytes total (20678144 bytes free)


Switch# delete flash:c2960-lanbasek9-mz.150-2.SE11.bin
Are you sure you want to delete "flash:c2960-lanbasek9-mz.150-2.SE11.bin" (y/n)?y
File "flash:c2960-lanbasek9-mz.150-2.SE11.bin" deleted

Switch# 

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.

1
2
3
4
5
6
7
<TODO COPY AND PERMISSIONS>
guru@lab:~$ ls -lh /srv/tftp/
total 852M
...
-rw-r--r-- 1 guru guru  12M sep  2  2021 c2960-lanbasek9-mz.150-2.SE11.bin
...
guru@lab:~$ 
  • 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 switch. Controleer dit.

1
2
3
4
5
6
7
8
9
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int vlan 1
Switch(config-if)#ip add 192.168.1.84 255.255.255.0
Switch(config-if)#no shut
Switch(config-if)#do show ip int br
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  192.168.1.84    YES manual up                    up      
...

Optioneel (in dit geval): zorg ervoor dat de tFTP-sessie afkomstig is van de juiste interface (in dit geval: VLAN 1).

1
2
3
4
Switch(config-if)#exit
Switch(config)#ip tftp source-interface vlan 1
Switch(config)#end
Switch#

Controleer de connectiviteit tussen de LAB-PC en de switch.

1
2
3
4
5
6
Switch#ping 192.168.1.101
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.101, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/205/1015 ms
Switch#

Kopieer de IOS-image van de tFTP-server naar het Flash-geheugen van de switch.

1
2
3
4
5
6
7
8
Switch#copy tftp://192.168.1.101/c2960-lanbasek9-mz.150-2.SE11.bin flash:
Destination filename [c2960-lanbasek9-mz.150-2.SE11.bin]? 
Accessing tftp://192.168.1.101/c2960-lanbasek9-mz.150-2.SE11.bin...
Loading c2960-lanbasek9-mz.150-2.SE11.bin from 192.168.1.101 (via Vlan1): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 11832946 bytes]

11832946 bytes copied in 144.938 secs (81641 bytes/sec)
Switch#

Zorg ervoor dat de switch opstart vanaf de zojuist overgedragen IOS-image, controleer dit en start opnieuw op.

Switch#configure terminal
Switch(config)#boot system flash:/c2960-lanbasek9-mz.150-2.SE11.bin
Switch(config)#end
Switch#

Switch#show boot
BOOT path-list      : flash:/c2960-lanbasek9-mz.150-2.SE11.bin
...
...
Switch#reload

System configuration has been modified. Save? [yes/no]: no
Proceed with reload? [confirm]
...

Controleer of de juiste IOS-image is geladen. Veel plezier met je nieuwe IOS!

Switch#show version
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE11, RELEASE SOFTWARE (fc3)
...
...
System returned to ROM by power-on
System image file is "flash:/c2960-lanbasek9-mz.150-2.SE11.bin"
...
...

Switch Ports Model              SW Version            SW Image                 
------ ----- -----              ----------            ----------               
*    1 26    WS-C2960+24TC-L    15.0(2)SE11           C2960-LANBASEK9-M        


Configuration register is 0xF

Switch#

SSH (sFTP)

todo

HTTP

todo