Difference between revisions of "Cisco IOS"

From HackerNet
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
'''IOS-XE''' <br/>
 
'''IOS-XE''' <br/>
IOS är ett monolithic operativsystem som är till åren därför har IOS-XE utvecklats som är betydligt modernare uppbyggt. Det kör en linuxkärna i botten och sedan ligger IOS som en daemon. Sedan kan ytterliggare processer köras för sig. Denna moduläritet gör systemet mer feltolerant, t.ex. ett fel i en process behöver inte påverka kärnan. IOS-XE har även APIer för control plane processer.  
+
IOS är ett monolithic operativsystem som är till åren därför har IOS-XE utvecklats som är betydligt modernare uppbyggt. Det kör en linuxkärna i botten och sedan ligger IOS som en daemon. Sedan kan ytterliggare processer köras för sig. Denna moduläritet gör systemet mer feltolerant, t.ex. ett fel i en process behöver inte påverka kärnan. IOS-XE har även APIer för control plane processer. Se även [[Cisco_CSR#Konfiguration|Cisco CSR]].
  
 
=Konfiguration=
 
=Konfiguration=
Line 16: Line 16:
 
Slå på loggmeddelanden i SSH terminal.
 
Slå på loggmeddelanden i SSH terminal.
 
  terminal monitor
 
  terminal monitor
 +
 +
'''Resurser'''
 +
show platform resources 
 +
show platform hardware fed switch 1 fwd-asic resource tcam utilization
  
 
'''Line'''
 
'''Line'''
Line 26: Line 30:
 
   exec-timeout [minutes] [seconds]
 
   exec-timeout [minutes] [seconds]
 
   login #local
 
   login #local
 +
 
  show line vty
 
  show line vty
  
Line 36: Line 41:
 
  ssh -s cisco@10.0.0.10 netconf
 
  ssh -s cisco@10.0.0.10 netconf
  
 +
I nyare IOS-XE finns även restconf (XML eller JSON)
 +
restconf
 +
 +
'''Users''' <br/>
 
Kolla vilka som är inloggade.
 
Kolla vilka som är inloggade.
  who
+
show users  / who
 
  show tcp brief
 
  show tcp brief
 
Man kan begränsa så att endast en user i taget kan managera en enhet.
 
parser command serializer
 
  
 
Auto enable
 
Auto enable
Line 47: Line 53:
 
   privilege level 15
 
   privilege level 15
  
'''Banners'''
+
CLI history, lägg till '''all''' för att se alla kommandon dvs det som finns i crashinfo.
  banner motd #Authorized Use Prohibited#
+
  show history 
banner login #Authorized Use Prohibited#
 
 
 
Character Generator Protocol, port 19
 
service tcp-small-servers
 
  
 
Disable Express Setup (mode button for 3 seconds)
 
Disable Express Setup (mode button for 3 seconds)
 
  no setup express
 
  no setup express
 +
 +
Conditional Debugging är bra på busy routers.
 +
debug condition int gi2
 +
debug ip rip
 +
 +
'''COPP'''
 +
cpp system-default
 +
show policy-map control-plane
 +
show policy-map system-cpp-policy
 +
show platform hardware fed switch 1 qos queue stats internal cpu policer
  
 
==Inbyggda Funktioner==
 
==Inbyggda Funktioner==
 
'''Meny''' <br/>
 
'''Meny''' <br/>
 
Man kan skapa menyer med menu-kommandot och sedan binda users till menyn.
 
Man kan skapa menyer med menu-kommandot och sedan binda users till menyn.
  username cisco autocommand menu TEST
+
menu Menu01 line-mode
 +
menu Menu01 prompt ^R1#^
 +
menu Menu01 single-space
 +
menu Menu01 title ^Actions for restricted user^
 +
menu Menu01 text 1 Show routes
 +
menu Menu01 command 1 show ip route
 +
menu Menu01 text 2 Exit
 +
menu Menu01 command 2 exit
 +
 +
  username User01 autocommand menu Menu01
  
 
'''Macro''' <br/>
 
'''Macro''' <br/>
Line 67: Line 88:
 
  show parser macro
 
  show parser macro
  
'''Schemaläggning'''
+
'''Schemaläggning''' <br/>
  kron  
+
Funkar endast med exec mode kommandon
 +
kron occurrence OCC in 1 recurring
 +
  policy-list TEST
 +
  kron policy-list TEST
 +
  cli show vers
 +
 
  show kron schedule
 
  show kron schedule
  
Line 74: Line 100:
 
  enable view
 
  enable view
 
  parser view SHOWONLY
 
  parser view SHOWONLY
 +
show parser view
 +
 +
'''Auto-install''' <br/>
 +
Auto-install är en feature som kan hämta konfiguration från en filserver första gången en enhet startar. Det går att göra med [[Cisco_DHCP|DHCP]] eller RARP, preference är: sname, option 66, option 150, siaddr. Det försöker på alla tillgängliga interface. OBS för att auto-install ska triggas måste NVRAM vara helt tomt på konfigurationsfiler, '''erase nvram:'''.
 +
show auto install status
 +
 +
'''Linux shell''' <br/>
 +
Man kan göra IOS lite mer likt ett Linux-skal och då får man tillgång till några basic linuxkommandon. Detta är en IOS 15 feature.
 +
terminal shell
 +
Eller om man alltid vill ha det på.
 +
shell processing full
 +
Verify
 +
show terminal | grep Shell
  
'''Conditional Debugging''' <br/>
+
'''XMCP'''
Bra på busy routers.
+
service-routing xmcp listen
  debug condition int gi2
+
  client username username password password
  debug ip rip
+
  domain domain-number {default | only}
 +
  show service-routing xmcp clients
 +
  show service-routing xmcp server
  
'''Auto-install''' <br/>
+
Character Generator Protocol, port 19
Auto-install går att göra med [[Cisco_DHCP|DHCP]] eller RARP.
+
service tcp-small-servers
  
 
==EEM==
 
==EEM==
Cisco IOS Embedded Event Manager är ett subsystem som möjliggör event detection och onboard automation. Det går att köras vid kommando, händelse eller klockslag.
+
Cisco IOS Embedded Event Manager är ett subsystem som möjliggör event detection och onboard automation. Det är flexibelt och kan triggas vid kommando, händelse eller klockslag, '''show event manager version'''.
  event manager applet NAME
+
 
   event ...
+
Exempel:
   action ...
+
  event manager applet CLI_logger
 +
   event cli pattern "show.*" sync no skip no
 +
  action 01 syslog msg "$_cli_host executed: $_cli_msg"
 +
 +
event manager applet NO_SH_RUN
 +
  event cli pattern "show run" sync yes
 +
  action 01 puts "CAN´T DO THAT"
 +
 +
event manager applet Never_Back_Down
 +
  event timer watchdog time 5
 +
  action 01 cli command "enable"
 +
  action 02 cli command "conf t"
 +
  action 03 cli command "interface gi2"
 +
   action 04 cli command "no shut"
 +
 +
debug event manager action cli
 +
 
 
Verify
 
Verify
  show event manager
+
  show event manager policy registered
Manuellt
+
 
  event manager run  
+
Trigga manuellt
 +
  event manager run APPLET
 +
 
 +
EEM kan använda sig utav environment variable, t.ex. för att konfigurera en mailserver som flera applets kan dra nytta av.
 +
event manager environment _mail_server 172.22.0.10
 +
Kolla alla inbyggda variabler, det finns en hel del.
 +
show event manager detector all detailed | i \$_
  
 
==Konfigurationshantering==
 
==Konfigurationshantering==
 +
'''Archive and rollback'''
 +
archive
 +
  path tftp://1.2.3.4/test
 +
  write-memory
 +
  time-period 1440
 +
show archive
 +
 +
Kolla skillnad mellan running och startup config.
 +
show archive config differences
 +
 +
alias exec '''diff''' show archive config differences
 +
alias configure '''diff''' do show archive config differences
 +
 +
'''Automatic Rollback''' <br/>
 +
Prereq.
 +
archive
 +
  path bootflash:/
 +
  maximum 1
 +
Ta en snapshot av konfigen när man går in i global configuration mode. Tappar man konnektivitet så rullas konfigen tillbaka efter 1 minut.
 +
configure terminal revert timer idle 1
 +
 +
configure confirm
 +
 +
'''Parser''' <br/>
 
Parser cache är påslaget default för att göra konfig-hantering snabbare.
 
Parser cache är påslaget default för att göra konfig-hantering snabbare.
 
  parser cache
 
  parser cache
Line 100: Line 187:
 
Man kan reducera tiden det tar för ett kommando att exekvera.  
 
Man kan reducera tiden det tar för ett kommando att exekvera.  
 
  parser config cache interface
 
  parser config cache interface
 +
 +
Man kan begränsa så att endast en user i taget kan managera en enhet.
 +
parser command serializer
  
 
'''Resilient Configuration'''
 
'''Resilient Configuration'''
Line 108: Line 198:
 
  secure boot-config restore flash:archived-config
 
  secure boot-config restore flash:archived-config
 
  configure replace flash:archived-config
 
  configure replace flash:archived-config
 
'''Archive and rollback'''
 
archive
 
  path tftp://1.2.3.4/test
 
  write-memory
 
  time-period 1440
 
show archive
 
  
 
=Ethernet=
 
=Ethernet=
Line 131: Line 214:
  
 
==CDP==
 
==CDP==
CDP är ett l2-protokoll för att upptäcka och utbyta information med directly connected Cisco-enheter, destination address är 01:00:0c:cc:cc:cc och det skickas var 60:e sekund. Aktuell version är CDPv2.
+
CDP är ett l2-protokoll för att upptäcka och utbyta information med directly connected Cisco-enheter, destination address är 01:00:0c:cc:cc:cc och det skickas var 60:e sekund. CDP går att använda för reliable policy routing och är ett prereq för Layer 2 traceroute. Aktuell version är CDPv2.
 
  cdp run
 
  cdp run
 
  cdp timer 60
 
  cdp timer 60
Line 145: Line 228:
 
  lldp run
 
  lldp run
 
  show lldp
 
  show lldp
 +
 +
CDP/LLDP kan användas för att sätta interface descriptions automatiskt utifrån neighbor hostname och port-id.
 +
event manager applet AUTOMATIC-PORT-DESCRIPTION
 +
  event neighbor-discovery interface regexp GigabitEthernet.* cdp add
 +
  action 10 cli command "enable"
 +
  action 11 cli command "config t"
 +
  action 12 cli command "interface $_nd_local_intf_name"
 +
  action 13 cli command "description $_nd_cdp_entry_name:$_nd_port_id"
 +
  action 14 syslog msg "Updated description $_nd_cdp_entry_name:$_nd_port_id on $_nd_local_intf_name"
 +
 +
=DNAC=
 +
Cisco DNA Center är en kontroller- och analysplattform för Catalystnät.
 +
 +
'''Reset switch''' <br/>
 +
För att nollställa en switch som har varit managerad av DNAC måste man ta bort de certifikat som DNAC har installerat.
 +
conf t
 +
  crypto key zeroize
 +
  yes
 +
  no crypto pki certificate pool
 +
  yes
 +
  end
 +
delete /force vlan.dat
 +
delete /force nvram:*.cer
 +
delete /force nvram:pnp*
 +
delete /force flash:pnp*
 +
write erase
 +
reload
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Latest revision as of 14:37, 10 November 2021

IOS är den mjukvara som används av de flesta routrar och switchar av märket Cisco. Se även NX-OS och IOS XR.

IOS-XE
IOS är ett monolithic operativsystem som är till åren därför har IOS-XE utvecklats som är betydligt modernare uppbyggt. Det kör en linuxkärna i botten och sedan ligger IOS som en daemon. Sedan kan ytterliggare processer köras för sig. Denna moduläritet gör systemet mer feltolerant, t.ex. ett fel i en process behöver inte påverka kärnan. IOS-XE har även APIer för control plane processer. Se även Cisco CSR.

Konfiguration

Grundläggande

hostname [hostname]
enable secret [password]
service password-encryption
service nagle
no ip domain lookup
no ip http server

Se även Cisco Logging, Services och Security.

Slå på loggmeddelanden i SSH terminal.

terminal monitor

Resurser

show platform resources  
show platform hardware fed switch 1 fwd-asic resource tcam utilization

Line

line con 0
 logging synchronous
 exec-timeout [minutes] [seconds]
 login
line vty 0 15
 logging synchronous
 exec-timeout [minutes] [seconds]
 login #local

show line vty

Reload

reload in 3
reload cancel

NETCONF

netconf ssh
ssh -s cisco@10.0.0.10 netconf

I nyare IOS-XE finns även restconf (XML eller JSON)

restconf

Users
Kolla vilka som är inloggade.

show users  /  who
show tcp brief

Auto enable

line vty 0 15
 privilege level 15

CLI history, lägg till all för att se alla kommandon dvs det som finns i crashinfo.

show history   

Disable Express Setup (mode button for 3 seconds)

no setup express

Conditional Debugging är bra på busy routers.

debug condition int gi2
debug ip rip

COPP

cpp system-default
show policy-map control-plane
show policy-map system-cpp-policy
show platform hardware fed switch 1 qos queue stats internal cpu policer

Inbyggda Funktioner

Meny
Man kan skapa menyer med menu-kommandot och sedan binda users till menyn.

menu Menu01 line-mode
menu Menu01 prompt ^R1#^
menu Menu01 single-space
menu Menu01 title ^Actions for restricted user^
menu Menu01 text 1 Show routes
menu Menu01 command 1 show ip route
menu Menu01 text 2 Exit
menu Menu01 command 2 exit

username User01 autocommand menu Menu01

Macro
Med macros kan konfigurera att ett kommando gör många saker.

define interface-range SERVERPORTS gi 0/3-9
show parser macro

Schemaläggning
Funkar endast med exec mode kommandon

kron occurrence OCC in 1 recurring
 policy-list TEST
kron policy-list TEST
 cli show vers

show kron schedule

Views

enable view
parser view SHOWONLY
show parser view

Auto-install
Auto-install är en feature som kan hämta konfiguration från en filserver första gången en enhet startar. Det går att göra med DHCP eller RARP, preference är: sname, option 66, option 150, siaddr. Det försöker på alla tillgängliga interface. OBS för att auto-install ska triggas måste NVRAM vara helt tomt på konfigurationsfiler, erase nvram:.

show auto install status

Linux shell
Man kan göra IOS lite mer likt ett Linux-skal och då får man tillgång till några basic linuxkommandon. Detta är en IOS 15 feature.

terminal shell

Eller om man alltid vill ha det på.

shell processing full

Verify

show terminal | grep Shell

XMCP

service-routing xmcp listen 
 client username username password password 
 domain domain-number {default | only}
show service-routing xmcp clients 
show service-routing xmcp server 

Character Generator Protocol, port 19

service tcp-small-servers

EEM

Cisco IOS Embedded Event Manager är ett subsystem som möjliggör event detection och onboard automation. Det är flexibelt och kan triggas vid kommando, händelse eller klockslag, show event manager version.

Exempel:

event manager applet CLI_logger
 event cli pattern "show.*" sync no skip no
 action 01 syslog msg "$_cli_host executed: $_cli_msg"

event manager applet NO_SH_RUN
 event cli pattern "show run" sync yes
 action 01 puts "CAN´T DO THAT"

event manager applet Never_Back_Down
 event timer watchdog time 5
 action 01 cli command "enable"
 action 02 cli command "conf t"
 action 03 cli command "interface gi2"
 action 04 cli command "no shut"

debug event manager action cli 

Verify

show event manager policy registered

Trigga manuellt

event manager run APPLET

EEM kan använda sig utav environment variable, t.ex. för att konfigurera en mailserver som flera applets kan dra nytta av.

event manager environment _mail_server 172.22.0.10

Kolla alla inbyggda variabler, det finns en hel del.

show event manager detector all detailed | i \$_

Konfigurationshantering

Archive and rollback

archive
 path tftp://1.2.3.4/test
 write-memory 
 time-period 1440
show archive

Kolla skillnad mellan running och startup config.

show archive config differences

alias exec diff show archive config differences
alias configure diff do show archive config differences

Automatic Rollback
Prereq.

archive
 path bootflash:/
 maximum 1

Ta en snapshot av konfigen när man går in i global configuration mode. Tappar man konnektivitet så rullas konfigen tillbaka efter 1 minut.

configure terminal revert timer idle 1

configure confirm

Parser
Parser cache är påslaget default för att göra konfig-hantering snabbare.

parser cache
show parser statistics

Man kan reducera tiden det tar för ett kommando att exekvera.

parser config cache interface

Man kan begränsa så att endast en user i taget kan managera en enhet.

parser command serializer

Resilient Configuration

secure boot-image
secure boot-config
show secure bootset

Restore

secure boot-config restore flash:archived-config
configure replace flash:archived-config

Ethernet

show controllers ethernet-controller
show interfaces counters errors

Default är Ethernet autonegotiation påslaget på switchportar. För att slå av det måste både speed och duplex ställas manuellt.

int gi0/1
 speed 1000
 duplex full

CDP kan upptäcka duplex mismatch men ej fixa det. Ifall fel kabel (korsad eller rak) används finns Auto-MDIX för att upptäcka detta och ändra rx och tx på switchporten.

Testa kabel, Time Domain Reflection

test cable-diagnostics tdr interface gi 0/1
show cable-diagnostics tdr interface gi 0/1

CDP

CDP är ett l2-protokoll för att upptäcka och utbyta information med directly connected Cisco-enheter, destination address är 01:00:0c:cc:cc:cc och det skickas var 60:e sekund. CDP går att använda för reliable policy routing och är ett prereq för Layer 2 traceroute. Aktuell version är CDPv2.

cdp run
cdp timer 60
cdp holdtime 180

Slå på per interface

interface gi2
 cdp enable

Verify

show cdp
show cdp neighbor

Det finns även stöd för den öppna standarden LLDP som använder 01:80:c2:00:00:0e. LLDP advertisements skickas var 30:e sekund och TTL är 120 sekunder.

lldp run
show lldp

CDP/LLDP kan användas för att sätta interface descriptions automatiskt utifrån neighbor hostname och port-id.

event manager applet AUTOMATIC-PORT-DESCRIPTION
 event neighbor-discovery interface regexp GigabitEthernet.* cdp add
 action 10 cli command "enable"
 action 11 cli command "config t"
 action 12 cli command "interface $_nd_local_intf_name"
 action 13 cli command "description $_nd_cdp_entry_name:$_nd_port_id"
 action 14 syslog msg "Updated description $_nd_cdp_entry_name:$_nd_port_id on $_nd_local_intf_name"

DNAC

Cisco DNA Center är en kontroller- och analysplattform för Catalystnät.

Reset switch
För att nollställa en switch som har varit managerad av DNAC måste man ta bort de certifikat som DNAC har installerat.

conf t
 crypto key zeroize
 yes
 no crypto pki certificate pool
 yes
 end
delete /force vlan.dat
delete /force nvram:*.cer
delete /force nvram:pnp*
delete /force flash:pnp*
write erase
reload