This is an old revision of the document!
Table of Contents
Cisco Router 2600
Reset configurazione
Router Cisco 2600, versione del sistema operativo (show version):
Cisco Internetwork Operating System Software IOS (tm) C2600 Software (C2600-IS-M), Version 12.0(7)T, RELEASE SOFTWARE (fc2) Copyright (c) 1986-1999 by cisco Systems, Inc. Compiled Tue 07-Dec-99 02:21 by phanguye
Immagine del sistema operativo in flash memory (show flash):
System flash directory: File Length Name/status 1 7330920 c2600-is-mz.120-7.T.bin 2 25 snmpengineid [7331076 bytes used, 1057532 available, 8388608 total] 8192K bytes of processor board System flash (Read/Write)
Interfacce presenti (show interfaces):
- Console seriale (9600 8N1)
- Ethernet0/0
- BRI0/0 (ISDN)
- BRI0/0:1 (ISDN)
- BRI0/0:2 (ISDN)
- Serial0/0
- ATM1/0
Per resettare completamente la configurazione del router ai valori di fabbrica e per impostare le password di accesso (rispettivamente la password per accesso da console, per la modalità enable e per l'accesso via network):
Router>enable Router#erase startup-config Router#reload ... (system reboot) ... (initial configuration dialog: no) Router>enable Router#copy running-config startup-config Router>enable Router#configure terminal Router(config)#line console 0 Router(config-line)#login Router(config-line)#password CiscoRut Router(config-line)#Ctrl-Z Router>enable Router#configure terminal Router(config)#enable secret CiscoRut Router(config)#Ctrl-Z Router>enable Router#configure terminal Router(config)#line vty 0 4 Router(config-line)#login Router(config-line)#password CiSPO Router(config-line)#^Z
Bootstrap automatico
Durante il boot il router si può bloccare su initial configuration dialog, ignorando la startup-config. Ciò dipende dal bit 6 (0x40) del configuration register, se è impostato ad 1 il router ignora la startup-config al boot. Per vedere il valore corrente del configuration register:
Router>show version ... Configuration register is 0x2142
Per modificare il valore:
Router>enable Router#configure terminal Router(config)#config-register 0x2102
Oppure se si è interrotta la sequenza di boot dalla console con un Ctrl-BRAK e si è arrivati al prompt del ROM monitor:
rommon 1 >confreg 0x2102 rommon 2 >reset
enable password
Per impostare la password di enable (viene chiesta quando si usa tale comando per ottenere i permessi di amministratore):
enable secret MySecret
Usare invece questo comando solo su vecchie versioni del S.O. che non supportano la secret:
enable password MySecret
Se il S.O. supporta i due tipi di password e se sono impostate entrambe, la secret ha la precedenza e viene verificata solo quella.
Le due password impostate si vedono nello show running-config:
enable secret 5 $1$v4W3$P5zy5FOyWvJEdcwl3WqW0. enable password 7 13151E021B03
Il 5 significa che la password è criptata (oneway hash), invece il 7 significa che la password è hidden (cioè offuscata).
Configurazione TCP/IP
Configurazione dell'interfaccia Ethernet
Mostra la configurazione attuale della scheda Ethernet, abilita il routing ip, assegna un indirizzo ip e attiva l'interfaccia. Salva la configurazione in NVRAM.
Router>enable Router#show interfaces Router#configure terminal Router(config)#ip routing Router(config)#interface ethernet 0/0 Router(config-if)#ip address 192.168.2.7 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#^Z Router#write memory
Configurazione di un secondo IP address su Ethernet
Mostra la configurazione, abilita un numero di ip scondario su una interfaccia e poi lo toglie.
Router>enable Router#show running-confg Router>enable Router#configure terminal Router(config)#interface ethernet 0/0 Router(config-if)#ip address 10.1.1.1 255.0.0.0 secondary Router(config-if)#^Z Router#write memory Router>enable Router#configure terminal Router(config)#interface ethernet 0/0 Router(config-if)#no ip address 10.1.1.1 255.0.0.0 secondary Router(config-if)#^Z Router#write memory
Configurazione del default gateway
Mostra la configurazione attuale del default gateway, attiva il routing ip e aggiunge un default gateway. Infine lo toglie.
ATTENZIONE: il comando ip default-gateway 192.168.2.2 non ottiene lo scopo desiderato. Cisco intende per dafault-gateway quello utilizzato quando non è attivo il routing ip, ma è in funzione il bridging. In quel caso per vedere il default gateway in uso “show ip redirects”.
Router>show ip route Router>enable Router#configure terminal Router(config)#ip routing Router(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.2 permanent Router(config)#^Z Router#write memory Router>enable Router#configure terminal Router(config)#no ip route 0.0.0.0 0.0.0.0 192.168.2.2 permanent Router(config)#^Z Router#write memory
Configurazione di una route statica
Mostra le route statiche definite, ne aggiunge una e poi la toglie.
Routeri>show ip route Router>enable Router#show running-config | include ip route Router>enable Router#configure terminal Router(config)#ip route 172.16.0.0 255.255.0.0 192.168.2.2 Router(config)#^Z Router#write memory Router>enable Router#configure terminal Router(config)#no ip route 172.16.0.0 255.255.0.0 192.168.2.2 Router(config)#^Z Router#write memory
Configurazione del DNS
Mostra la configurazione attuale del server DNS, imposta un server DNS e lo rimuove.
Router>enable Router#show running-config | include name-server Router>enable Router#configure terminal Router(config)#ip name-server 192.168.2.2 Router(config)#^Z Router#write memory Router>enable Router#configure terminal Router(config)#no ip name-server Router(config)#^Z Router#write memory
Configurazione del NAT (SNAT)
NAT statico (NAT uno-a-uno, usato di rado)
NOTA: vedere il classico SNAT più avanti.
Configura il NAT statico di un singolo host interno (A.B.C.D) con un singolo indirizzo IP pubblico (E.F.G.H). L'interfaccia verso la rete interna è Ethernet0/0 e quella verso la rete esterna e' BRI0/0.
Router#configure terminal Router(config)#interface Ethernet 0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)#interface BRI 0/0 Router(config-if)#ip nat outside Router(config-if)#exit Router(config)#ip nat inside source static A.B.C.D E.F.G.H Router(config)#^Z Router#show running-config | include ip nat
Invece dell'IP pubblico E.F.G.H
è possibile specificare il nome dell'interfaccia (ad esempio se è dinamico), questo esempio è per un'interfaccia ppp su ATM, denominata Dialer1
:
Router(config)#ip nat inside source static A.B.C.D interface Dialer1
Appena si imposta questa configurazione l'accesso telnet dall'interfaccia esterna viene interrotto, in quanto tutto il traffico viene dirottato sull'host interno. Quindi non è necessario attivare il port forward verso l'host interno.
Per rimuovere la configurazione:
Router#configure terminal Router(config)#no ip nat inside source static A.B.C.D E.F.G.H. Router(config)#interface Ethernet 0/0 Router(config-if)#no ip nat inside Router(config-if)#exit Router(config)#interface BRI 0/0 Router(config-if)#no ip nat outside Router(config-if)#exit Router(config)#^Z
NAT dinamico (SNAT classico)
Configura il NAT dinamico degli host interni (A.B.C.0/24) usando un pool di indirizzi esterni. Il pool è costituito da un singolo indirizzo (E.F.G.H/32), cioè inizio e fine pool coincidono, pertanto è necessario l'overload dell'inside global address E.F.G.H. L'interfaccia verso la rete interna è Ethernet 0/0 e quella verso la rete esterna e' BRI0/0.
Se il pool di indirizzi esterni è abbastanza ampio si può evitare l'overload (si omette l'opzione overload). Potranno essere nattati solo tanti host quanti sono gli indirizzi esterni del pool.
Router#configure terminal Router(config)#ip nat pool NAT-POOL E.F.G.H E.F.G.H netmask 255.255.255.252 Router(config)#access-list 1 permit A.B.C.0 0.0.0.255 Router(config)#ip nat inside source list 1 pool NAT-POOL overload Router(config)#interface Ethernet 0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)#interface BRI 0/0 Router(config-if)#ip nat outside Router(config-if)#exit Router(config)#^Z Router#show running-config | include ip nat
La
netmask
del comando ip nat pool
a cosa serve? Il valore minimo è 22 bit, impostarla a 24 bit cosa significa?
Per rimuovere la configurazione:
Router#configure terminal Router(config)#no ip nat pool NAT-POOL E.F.G.H E.F.G.H netmask 255.255.255.252 Router(config)#no access-list 1 permit A.B.C.0 0.0.0.255 Router(config)#no ip nat inside source list 1 pool NAT-POOL overload Router(config)#interface Ethernet 0/0 Router(config-if)#no ip nat inside Router(config-if)#exit Router(config)#interface BRI 0/0 Router(config-if)#no ip nat outside Router(config-if)#exit Router(config)#^Z
Port forward (DNAT)
Ridirezione della porta 23 TCP dall'indirizzo esterno A.B.C.D verso la porta 23 dell'indirizzo interno E.F.G.H. L'interfaccia interna è Ethernet 0/0 e quella esterna e' BRI 0/0.
Router>enable Router#configure terminal Router(config)#interface Ethernet 0/0 Router(config-if)#ip nat inside Router(config-if)#exit Router(config)#interface BRI 0/0 Router(config-if)#ip nat outside Router(config-if)#exit Router(config)#ip nat inside source static tcp E.F.G.H 23 A.B.C.D 23 Router(config)#^Z
Al posto dell'indirizzo IP esterno è possibile usare il nome dell'interfaccia (ad esempio per una punto-punto con IP dinamico):
ip nat inside source static tcp 192.168.2.253 80 interface Dialer2 8443
Aggiornamento Sistema Operativo IOS
Installare sul PC un server TFTP e abilitarlo in scrittura (la document root in Debian è /srv/tftp/
):
apt-get install tftpd-hpa
Per abilitare il server TFTP in scrittura mettere in /etc/default/tftpd-hpa
:
TFTP_OPTIONS="--secure --create"
Il server sta in ascolto sulla porta UDP/69, ma il trasferimento di dati avviene su porte effimere. Bisogna essere sulla stessa rete oppure il firewall deve avere il connection tracking TFTP abilitato:
10:55:39.494731 IP 77.239.141.26.55143 > 10.0.1.2.69: 31 WRQ "c2600-i-mz.122-12b.bin" octet ... 11:08:09.448816 IP 10.0.1.2.48939 > 77.239.141.26.55143: UDP, length 4 11:08:09.495166 IP 77.239.141.26.55143 > 10.0.1.2.48939: UDP, length 516
Salvare l'immagine esistente nel router:
Router#show flash: System flash directory: File Length Name/status 1 5427564 c2600-i-mz.122-12b.bin 2 749 cisco2600_nat_config [5428444 bytes used, 27601700 available, 33030144 total] 32768K bytes of processor board System flash (Read/Write) router#copy flash:c2600-i-mz.122-12b.bin tftp://62.48.51.8
Con la vecchia versione 11.3 la sintassi è leggermente diversa:
Router#copy flash tftp System flash directory: File Length Name/status 1 3119712 c2600-i-mz.113-10.T [3119776 bytes used, 5268832 available, 8388608 total] Address or name of remote host [255.255.255.255]? 192.168.10.46 Source file name? c2600-i-mz.113-10.T Destination file name [c2600-i-mz.113-10.T]? Verifying checksum for 'c2600-i-mz.113-10.T' (file # 1)... OK Copy 'c2600-i-mz.113-10.T' from Flash to server as 'c2600-i-mz.113-10.T'? [yes/no]yes
Quindi si fa spazio nella memoria flash per caricare la nuova versione:
Router#erase flash
Infine è possibile caricare dal server TFTP la nuova immagine nella flash:
Router#copy tftp flash System flash directory: No files in System flash [0 bytes used, 8388608 available, 8388608 total] Address or name of remote host [192.168.7.46]? Source file name? c2600-i-mz.122-12b.bin Destination file name [c2600-i-mz.122-12b.bin]? Accessing file 'c2600-i-mz.122-12b.bin' on 192.168.7.46... Loading c2600-i-mz.122-12b.bin from 192.168.7.46 (via Ethernet0/0): ! [OK] Erase flash device before writing? [confirm] Copy 'c2600-i-mz.122-12b.bin' from server as 'c2600-i-mz.122-12b.bin' into Flash WITH erase? [yes/no]
Al reboot successivo il router parte con la prima immagine IOS che trova.
Gestione password
Password su console
line console 0 login password MySecret
Password su accesso telnet
Con questa impostazione si attiva la richiesta di password per gli accessi telnet, si entra senza privilegi di enable:
line vty 0 4 access-class 23 in password MySecret login transport input telnet ssh
La password di enable è impostata con:
enable secret MyEnableSecret
Con questa impostazione si accede direttamente con i privilegi di enable, è richiesta quella password che va impostata a parte:
line vty 0 4 access-class 23 in privilege level 15 transport input telnet ssh
line vty 0 4 access-class 23 in privilege level 15 login local transport input telnet ssh