Difference between revisions of "Cisco Nexus"

From HackerNet
Jump to: navigation, search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Cisco Nexus switchar är designade för datacenter. De kör NX-OS som bygger på en nedbantad variant av Linux 2.6 kernel. De har stöd för tekniker som [[Nexus_FabricPath|FabricPath]] och [[Nexus_vPC|vPC]] och går att konfigurera med CLI (SSH/console) eller XML baserat på NETCONF. För virtuell instans se [[Nexus_VDC|Nexus VDC]] och för virtuell switch se [[Nexus_1000V|Nexus 1000V]] och Nexus 9000v (nedan).  
+
Cisco Nexus switchar är designade för datacenter. De kör NX-OS som bygger på en nedbantad variant av Linux kernel. De har stöd för tekniker som [[Nexus_FabricPath|FabricPath]] och [[Nexus_vPC|vPC]] och går att konfigurera med CLI (SSH/console) eller XML baserat på NETCONF. För virtuell instans se [[Nexus_VDC|Nexus VDC]] och för virtuell switch se [[Nexus_1000V|Nexus 1000V]] och Nexus 9000v (nedan).  
 +
 
 +
===Nexus 9000 Taxonomy===
 +
[[File:CiscoNexusTaxonomy.jpg|790px]]
  
 
==Konfiguration==
 
==Konfiguration==
Line 14: Line 17:
 
   ip route 0.0.0.0/0 10.0.0.1  
 
   ip route 0.0.0.0/0 10.0.0.1  
  
Slå på loggmeddelanden i SSH terminal
+
Slå på loggmeddelanden och färgkodning i SSH terminal.
 
  terminal monitor
 
  terminal monitor
 
+
  terminal color persist
Tidszon
 
  clock timezone CET 1 0
 
clock summer-time CEST 5 Sunday March 02:00 5 Sunday October 02:00 60
 
  
 
Slå på features görs efter behov.
 
Slå på features görs efter behov.
 +
feature ssh
 
  feature fex
 
  feature fex
 
  feature lacp
 
  feature lacp
Line 29: Line 30:
 
  system default switchport shutdown
 
  system default switchport shutdown
 
  port-channel load-balance ethernet source-dest-port
 
  port-channel load-balance ethernet source-dest-port
 +
clock timezone CET 1 0
 +
clock summer-time CEST 5 Sunday March 02:00 5 Sunday October 02:00 60
 +
 +
Show
 +
show module
 +
show system resources
 +
show cli history unformatted
 +
show cli history config-mode
 +
 +
Alias, exempel
 +
cli alias name wr copy running-config startup-config
 +
cli alias name diff show running diff
 +
cli alias name changeto switchto vdc
  
'''Jumbo frames Nexus 5k''' <br/>
+
'''Jumbo frames Nexus 5K''' <br/>
Vill man vara någorlunda granulär kan man köra jumbo frames per vlan. Show interface visar inte rätt eftersom Nexus 5k inte har stöd för per interface MTU utan man får använda show queuing.
+
Detta gäller för L2 interface. Vill man vara någorlunda granulär kan man köra jumbo frames per vlan. Show interface visar inte rätt eftersom Nexus 5k inte har stöd för per interface MTU utan man får använda show queuing. Se även [[Cisco_QoS#NX-OS|QoS]] för NX-OS för mer info.  
 
  policy-map type network-qos JUMBO-MTU
 
  policy-map type network-qos JUMBO-MTU
 
   class type network-qos class-default
 
   class type network-qos class-default
Line 40: Line 54:
 
  show queuing interface e1/1
 
  show queuing interface e1/1
  
Show
+
Nexus 7K, denna globala inställning säger vad man max får konfa under interfacen.
  show module
+
  system jumbomtu 9216
show system resources
 
show cli history unformatted
 
  
Alias, exempel
+
'''API''' <br/>
  cli alias name wr copy running-config startup-config
+
NX-OS har stöd för flera olika API:er.
  cli alias name diff show running diff
+
  feature netconf
  cli alias name changeto switchto vdc
+
  feature restconf
 +
  feature grpc
  
 +
'''Troubleshooting''' <br/>
 
NX-OS har en on-device log file med de exec level configuration commands som körts.
 
NX-OS har en on-device log file med de exec level configuration commands som körts.
 
  show accounting log
 
  show accounting log
 +
 +
Visa historical event log för Layer 2 MAC-databasen.
 +
show system internal l2fm l2dbg macdb address 0011.2233.4455 vlan 100
 +
 +
Routing and forwarding<br/>
 +
show forwarding ip route <IP>
 +
show forwarding adjacency <IP>
 +
show hardware mac address-table 1
 +
Verify ECMP
 +
show routing hash <src-ip> <dst-ip>
 +
 +
Nexus 9K, för att smidigt se om t.ex. en counter räknar upp eller ej.
 +
watch differences interval 1 show interface e1/1
 +
watch show interface counters table
 +
Alternativt
 +
show int eth1/10 | diff
 +
show int eth1/10 | diff
 +
 +
VLAN <br/>
 +
Man kan kolla vilka VLAN som är reserverade och används internt.
 +
show vlan internal usage
  
 
Sätt switchen i maintenance mode.
 
Sätt switchen i maintenance mode.
Line 57: Line 92:
 
  show system mode
 
  show system mode
 
  show config-profile
 
  show config-profile
 +
 +
Software Reload<br/>
 +
Endast mjukvaran startar om. Data plane påverkas inte men control plane är nere några minuter. OBS om detta failar av någon anledning så bootar switchen om som vanligt.
 +
soft-reload
  
 
Licens
 
Licens
Line 65: Line 104:
 
  show license host-id
 
  show license host-id
  
Integrated IDS
+
'''Shell''' <br/>
  hardware ip verify
+
Bash Access, här blir man root.
 +
feature bash-shell
 +
run bash
 +
Secure Guest Shell är en kombination av bash och en secure Linux environment med ett modifierbart root system. Detta körs i en Linux Container. Man kan ändra resurstilldelning för en guestshell-contatiner med ''guestshell resize''.
 +
guestshell
 +
show virtual-service list
 +
 
 +
'''Python'''
 +
switch# python
 +
from cli import *
 +
import yaml
 +
cli('configure terminal ; interface loopback 5 ; no shut')
 +
intflist = yaml.safe_load(clid('show interface brief'))
 +
 
 +
'''Scheduler''' <br/>
 +
NX-OS har en inbyggd schemaläggare som kan användas för att köra kommandon vid valda tidpunkter.
 +
feature scheduler
 +
 +
scheduler job name CLEAR-STATISTICS
 +
  clear counters interface all
 +
  exit
 +
 +
scheduler schedule name EVERYDAY
 +
  job name CLEAR-STATISTICS
 +
  time daily 23:30
 +
  exit
 +
 +
  show scheduler schedule
  
 
CoPP
 
CoPP
Line 75: Line 141:
 
  fips mode enable
 
  fips mode enable
 
  show fips status
 
  show fips status
 +
 +
'''Git repo backup'''
 +
event manager applet gitpush
 +
  event cli match "copy running-config startup-config"
 +
  action 1 cli copy running bootflash:running.latest
 +
  action 2 cli run guestshell python /home/admin/upload_git.py
 +
  action 3 event-default
  
 
'''Adjacency Manager''' <br/>
 
'''Adjacency Manager''' <br/>
Line 80: Line 153:
 
  ip adjacency route distance 250
 
  ip adjacency route distance 250
 
  ipv6 adjacency route distance 250
 
  ipv6 adjacency route distance 250
 +
 +
'''iCAM''' <br/>
 +
Nexus 9000 har stöd för Intelligent CAM Analytics and Machine-learning feature. Man kan se traffic analytics per feature samt TCAM resources och entries.
 +
feature icam
 +
show icam scale
 +
 +
'''CLI variables''' <br/>
 +
cli var name MYINF interface e1/10
 +
show cli variables
 +
tac-pac bootflash:$(SWITCHNAME)-$(TIMESTAMP)-show-tech-all.gz
 +
 +
===PTP===
 +
PTP är ett time synchronization protocol för noder i ett nätverk. Hardware timestamps används för att ge bättre noggrannhet än andra protokoll som t.ex. [[Cisco_Services#NTP|NTP]]. PTP är ett distribuerat protokoll och ett PTP-system kan bestå av en kombination av PTP och icke-PTP devices. Ordinary clocks organiseras i en master-slave synchronization hierarki med en grandmaster clock på toppen som bestämmer referenstiden för hela systemet. PTP-processen består av två faser: etablera master-slave hierarkin och synka klockorna. PTP transporteras med UDP över multicast. För att hantera sin egen interna queuing eller snarare delays in queues kan en switch agera enligt transparent clock model eller boundary clock model. PTP är inte supporterat på FEX interface.
 +
 +
<div class="mw-collapsible mw-collapsed" style="width:300px">
 +
Sync message:
 +
<div class="mw-collapsible-content">
 +
[[File:Cisco-PTP-Sync.PNG]]
 +
</div>
 +
</div>
 +
 +
<div class="mw-collapsible mw-collapsed" style="width:300px">
 +
Announce message:
 +
<div class="mw-collapsible-content">
 +
[[File:Cisco-PTP-Announce.PNG]]
 +
</div>
 +
</div>
 +
 +
feature ptp
 +
ptp source <ip-address>
 +
ptp domain 0    #Default
 +
 +
interface ethernet1/1
 +
  switchport
 +
  ptp
 +
 +
Verify
 +
show ptp brief
 +
show ptp clock
 +
show ptp port interface ethernet 1/2
  
 
==Fabric Extender==
 
==Fabric Extender==
FEXar är remote linjekort man sprider ut för att få fördelar från både ToR-kabeldragning och EoR-management. FEXar har INTE stöd för:
+
FEXar är remote linjekort man sprider ut i sitt DC för att få fördelar från både ToR-kabeldragning och EoR-management. Man kopplar in FEXar till Nexus-switchar eller UCS FI:s och sedan strömsätter man dem och associering görs automatiskt. För att upptäcka varandra använder FEX och parent switch Satellite Discovery Protocol (SDP). Får en FEX svar så startar den Satellite Registration Protocol (SRP). Därefter är FEXen registrerad med parent. Med hjälp av control VLAN 4042 och interna IP-adress 127.15.1.100 används Virtual Interface Configuration protocol för att konfa FEXens portar. SDP skickas periodvis och fungerar även som en keepalive mekanism. Om alla upplänkar går ner kommer FEXen att stänga alla sina interface, detta gör att dual homed servrar kan faila över till den andra FEXen.
 +
 
 +
Upplänkar på FEX kallas Fabric Interface. Server facing interfaces kallas Host Interface. Varje HIF har ett Virtual Interface inuti FEXen, detta får sin konfig ifrån parent switch. Varje VIF binds till ett Logical Interface i parent switch, detta har VLAN membership, ACL:er, etc. Mappningen mellan VIF och LIF görs med hjälp av en speciell tag i Ethernet framesen som går mellan FEX och parent. Denna logiska länk kallas VN-Link och taggen heter VNTag. Cisco VNTag har en egen ethertype och innehåller bl.a. Direction bit, Pointer bit, Looped bit, Version och Source och Destination Virtual Interface. Paket som kommer in på ett Host Interface skickas alltid till parent även om t.ex. destination är en annan port på samma FEX.
 +
 
 +
FEXar har INTE stöd för:
 
* [[Cisco_STP|STP]], (BPDUGuard enabled by default)
 
* [[Cisco_STP|STP]], (BPDUGuard enabled by default)
 
* [[Cisco_VTP|VTP]]
 
* [[Cisco_VTP|VTP]]
Line 95: Line 212:
  
 
'''Konfiguration''' <br/>
 
'''Konfiguration''' <br/>
Notera att dual-homed FEXes måste ha identisk konfiguration, dvs Nexus-switcharna ska ha matchande FEX-relaterad konfig. Detta kan antingen göras manuellt eller med en configuration synchronization service som finns inbyggd i NX-OS. Config sync kan dock ställa till med konstiga fel så fördelaktigt görs detta med något externt automationsverktyg.
+
Notera att dual-homed FEXes måste ha identisk konfiguration, dvs Nexus-switcharna ska ha matchande FEX-relaterad konfig. Detta kan antingen göras manuellt eller med en configuration synchronization service som finns inbyggd i NX-OS. Config sync kan dock ställa till med konstiga fel så fördelaktigt görs detta med något externt automationsverktyg. När man konfar en port-channel till FEXen (vilket man bör) måste '''pinning max-links 1''' vara satt samt att ''mode on'' måste köras eftersom FEX ej har stöd för LACP. MTU på FEXar styrs av network QoS policy så för att ändra MTU på FEX-portar måste även MTU på fabric portar ändras. Notera att FEXar kräver minst 1058 bytes annars misslyckas registreringen med parent switch. Man kan konfa FEX innan den är online med hjälp av pre-provision, se nedan. Man måste göra modelval för att parent ska veta hur många och vilka sorts interface som finns på FEXen. Giltiga FEX-nummer är 101-199.
  
 
Do not power on the FEX until all cabling and uplink port provisioning on the uplinked Nexus has been completed.
 
Do not power on the FEX until all cabling and uplink port provisioning on the uplinked Nexus has been completed.
Line 151: Line 268:
 
   no shutdown
 
   no shutdown
  
Verify
+
Verify  
 
  show fex detail
 
  show fex detail
 +
show module fex
 
  show interface fex-fabric
 
  show interface fex-fabric
 +
Om serienummer är satt i konfigen måste det stämma annars blir det "Identity-Mismatch". Står det inget i konfigen accepteras vad som blir connected.
  
 
==Port Profiles==
 
==Port Profiles==
Line 173: Line 292:
 
   inherit port-profile ACCESS
 
   inherit port-profile ACCESS
 
Verifiering
 
Verifiering
  show run int ethernet 1/1
+
  show run interface ethernet 1/1 expand-port-profile
 
  show port-profile
 
  show port-profile
  
 
==Checkpoint==
 
==Checkpoint==
Nexusswitchar har en inbyggd funktion för Configuration Roll Back. Checkpoint-featuren låter admins spara konfigurationssnapshots. Sedan kan man rollbacka när man behöver.
+
Nexusswitchar har en inbyggd funktion för Configuration Roll Back. Checkpoint-featuren låter admins spara konfigurationssnapshots. Sedan kan man rollbacka när man behöver. Exempelvis när man tar bort en feature (''no feature xxx'') så skapar Feature Manager automatiskt en checkpoint.
  
 
Skapa checkpoint
 
Skapa checkpoint
Line 191: Line 310:
  
 
==Portmode==
 
==Portmode==
I nexus 93180LC samt YC så kan man ställa olika portmodes.
+
På vissa nexus-modeller kan man ställa olika portmodes, t.ex. 93180LC och YC. I LC modellen så kan man sätta 18x100g isället för 4x100g+28x40g, man kan också köra 6x100g+24x40g.
I LC modellen så kan du sätta 18x100g isället för 4x100g+28x40g, du kan också köra 6x100g+24x40g.
 
  
För att ställa in 18x100g så skriver du
+
För att ställa in 18x100g  
 
  hardware profile portmode 18x100g  
 
  hardware profile portmode 18x100g  
För 6x100g+24x40g skriver du
+
För 6x100g+24x40g  
 
  hardware profile portmode 6x100g+24x40g
 
  hardware profile portmode 6x100g+24x40g
För 4x100g+28x40g skriver du
+
För 4x100g+28x40g  
 
  hardware profile portmode 4x100g+28x40g
 
  hardware profile portmode 4x100g+28x40g
Du måste sedan spara configen och starta om switchen för att detta skall börja gälla.
+
Man måste sedan spara configen och starta om switchen för att detta skall börja gälla.
  
 
==Nexus 9000v==
 
==Nexus 9000v==
Nexus 9000v Switch är en virtuell maskin som man kan använda för att testa NX-OS features. Nexus 9000v funkar t.ex. i [[EVE-NG]].
+
Nexus 9000v Switch är en virtuell maskin som man kan använda för att testa NX-OS features. Nexus 9000v funkar t.ex. i [[EVE-NG]]. Dock funkar inte alla features, t.ex. QoS, BFD, Storm-control, FCoE och MACsec.
  
 
Man måste lägga in i startup-config vilken image switchen ska boota ifrån. Här följer lite grundkonfig.
 
Man måste lägga in i startup-config vilken image switchen ska boota ifrån. Här följer lite grundkonfig.
Line 218: Line 336:
 
   service-policy input COPP
 
   service-policy input COPP
  
 +
Detta kommando används istället för show mac address-table på Nexus 9000v.
 +
show system internal l2fwder mac
 +
 +
==Ansible==
 +
ansible-galaxy collection install cisco.nxos
 +
 +
nxos.yml
 +
---
 +
ansible_connection: ansible.netcommon.httpapi
 +
ansible_httpapi_use_ssl: true
 +
ansible_httpapi_validate_certs: false
 +
ansible_network_os: cisco.nxos.nxos
 +
ansible_user: admin
 +
ansible_password: password
 +
 +
hosts.yml
 +
---
 +
all:
 +
  hosts:
 +
    switch1:
 +
      ansible_host: 10.0.0.40
 +
    switch2:
 +
      ansible_host: 10.0.0.41
 +
 +
ansible.cfg
 +
[defaults]
 +
collections_paths  = ./collections
 +
inventory          = ./inventory
 +
forks          = 15
 +
stdout_callback = yaml
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Latest revision as of 13:50, 12 December 2022

Cisco Nexus switchar är designade för datacenter. De kör NX-OS som bygger på en nedbantad variant av Linux kernel. De har stöd för tekniker som FabricPath och vPC och går att konfigurera med CLI (SSH/console) eller XML baserat på NETCONF. För virtuell instans se Nexus VDC och för virtuell switch se Nexus 1000V och Nexus 9000v (nedan).

Nexus 9000 Taxonomy

CiscoNexusTaxonomy.jpg

Konfiguration

hostname Nexus-01
service password-encryption
no ip domain-lookup
user admin password bigdog role vdc-admin

Management

interface mgmt0
 ip address 10.0.0.10/24

vrf context management
 ip route 0.0.0.0/0 10.0.0.1 

Slå på loggmeddelanden och färgkodning i SSH terminal.

terminal monitor
terminal color persist

Slå på features görs efter behov.

feature ssh
feature fex
feature lacp
feature vpc

Global

system default switchport shutdown
port-channel load-balance ethernet source-dest-port
clock timezone CET 1 0 
clock summer-time CEST 5 Sunday March 02:00 5 Sunday October 02:00 60

Show

show module
show system resources
show cli history unformatted
show cli history config-mode 

Alias, exempel

cli alias name wr copy running-config startup-config
cli alias name diff show running diff
cli alias name changeto switchto vdc

Jumbo frames Nexus 5K
Detta gäller för L2 interface. Vill man vara någorlunda granulär kan man köra jumbo frames per vlan. Show interface visar inte rätt eftersom Nexus 5k inte har stöd för per interface MTU utan man får använda show queuing. Se även QoS för NX-OS för mer info.

policy-map type network-qos JUMBO-MTU
 class type network-qos class-default
  mtu 9216
system qos
 service-policy type network-qos JUMBO-MTU

show queuing interface e1/1

Nexus 7K, denna globala inställning säger vad man max får konfa under interfacen.

system jumbomtu 9216

API
NX-OS har stöd för flera olika API:er.

feature netconf
feature restconf
feature grpc

Troubleshooting
NX-OS har en on-device log file med de exec level configuration commands som körts.

show accounting log

Visa historical event log för Layer 2 MAC-databasen.

show system internal l2fm l2dbg macdb address 0011.2233.4455 vlan 100

Routing and forwarding

show forwarding ip route <IP>
show forwarding adjacency <IP>
show hardware mac address-table 1

Verify ECMP

show routing hash <src-ip> <dst-ip>

Nexus 9K, för att smidigt se om t.ex. en counter räknar upp eller ej.

watch differences interval 1 show interface e1/1
watch show interface counters table

Alternativt

show int eth1/10 | diff
show int eth1/10 | diff

VLAN
Man kan kolla vilka VLAN som är reserverade och används internt.

show vlan internal usage

Sätt switchen i maintenance mode.

system mode maintenance [dont-generate-profile] 
show system mode
show config-profile

Software Reload
Endast mjukvaran startar om. Data plane påverkas inte men control plane är nere några minuter. OBS om detta failar av någon anledning så bootar switchen om som vanligt.

soft-reload

Licens

license grace-period

show license brief
show license usage
show license host-id

Shell
Bash Access, här blir man root.

feature bash-shell
run bash

Secure Guest Shell är en kombination av bash och en secure Linux environment med ett modifierbart root system. Detta körs i en Linux Container. Man kan ändra resurstilldelning för en guestshell-contatiner med guestshell resize.

guestshell
show virtual-service list

Python

switch# python
from cli import *
import yaml
cli('configure terminal ; interface loopback 5 ; no shut')
intflist = yaml.safe_load(clid('show interface brief'))

Scheduler
NX-OS har en inbyggd schemaläggare som kan användas för att köra kommandon vid valda tidpunkter.

feature scheduler

scheduler job name CLEAR-STATISTICS
 clear counters interface all
 exit

scheduler schedule name EVERYDAY
 job name CLEAR-STATISTICS
 time daily 23:30
 exit

show scheduler schedule

CoPP

control-plane 
 service-policy input copp-system-policy-scaled-l2

FIPS

fips mode enable
show fips status

Git repo backup

event manager applet gitpush 
 event cli match "copy running-config startup-config" 
 action 1 cli copy running bootflash:running.latest 
 action 2 cli run guestshell python /home/admin/upload_git.py
 action 3 event-default 

Adjacency Manager
Nexus adjacency manager finns på den aktiva supervisorn och håller adjacency information för olika protokoll inklusive ARP, NDP och static mappings. Adjacency Manager populerar t.ex. IPv4 RIB:en med routes lärda från ARP. Dessa är host-routes och har Administrative Distance 250, detta går dock att ställa om.

ip adjacency route distance 250
ipv6 adjacency route distance 250

iCAM
Nexus 9000 har stöd för Intelligent CAM Analytics and Machine-learning feature. Man kan se traffic analytics per feature samt TCAM resources och entries.

feature icam
show icam scale

CLI variables

cli var name MYINF interface e1/10
show cli variables 
tac-pac bootflash:$(SWITCHNAME)-$(TIMESTAMP)-show-tech-all.gz

PTP

PTP är ett time synchronization protocol för noder i ett nätverk. Hardware timestamps används för att ge bättre noggrannhet än andra protokoll som t.ex. NTP. PTP är ett distribuerat protokoll och ett PTP-system kan bestå av en kombination av PTP och icke-PTP devices. Ordinary clocks organiseras i en master-slave synchronization hierarki med en grandmaster clock på toppen som bestämmer referenstiden för hela systemet. PTP-processen består av två faser: etablera master-slave hierarkin och synka klockorna. PTP transporteras med UDP över multicast. För att hantera sin egen interna queuing eller snarare delays in queues kan en switch agera enligt transparent clock model eller boundary clock model. PTP är inte supporterat på FEX interface.

Sync message:

Cisco-PTP-Sync.PNG

Announce message:

Cisco-PTP-Announce.PNG

feature ptp
ptp source <ip-address>
ptp domain 0    #Default

interface ethernet1/1
 switchport
 ptp

Verify

show ptp brief
show ptp clock
show ptp port interface ethernet 1/2

Fabric Extender

FEXar är remote linjekort man sprider ut i sitt DC för att få fördelar från både ToR-kabeldragning och EoR-management. Man kopplar in FEXar till Nexus-switchar eller UCS FI:s och sedan strömsätter man dem och associering görs automatiskt. För att upptäcka varandra använder FEX och parent switch Satellite Discovery Protocol (SDP). Får en FEX svar så startar den Satellite Registration Protocol (SRP). Därefter är FEXen registrerad med parent. Med hjälp av control VLAN 4042 och interna IP-adress 127.15.1.100 används Virtual Interface Configuration protocol för att konfa FEXens portar. SDP skickas periodvis och fungerar även som en keepalive mekanism. Om alla upplänkar går ner kommer FEXen att stänga alla sina interface, detta gör att dual homed servrar kan faila över till den andra FEXen.

Upplänkar på FEX kallas Fabric Interface. Server facing interfaces kallas Host Interface. Varje HIF har ett Virtual Interface inuti FEXen, detta får sin konfig ifrån parent switch. Varje VIF binds till ett Logical Interface i parent switch, detta har VLAN membership, ACL:er, etc. Mappningen mellan VIF och LIF görs med hjälp av en speciell tag i Ethernet framesen som går mellan FEX och parent. Denna logiska länk kallas VN-Link och taggen heter VNTag. Cisco VNTag har en egen ethertype och innehåller bl.a. Direction bit, Pointer bit, Looped bit, Version och Source och Destination Virtual Interface. Paket som kommer in på ett Host Interface skickas alltid till parent även om t.ex. destination är en annan port på samma FEX.

FEXar har INTE stöd för:

  • STP, (BPDUGuard enabled by default)
  • VTP
  • QinQ
  • CDP, (Upplänkar undantag)

Supported Topologies
Man kan koppla in FEXar single homed eller dual homed beroende på om det som ska ansluta till FEXarna ska vara single eller dual homed.

Cisco Nexus FEX.PNG


Konfiguration
Notera att dual-homed FEXes måste ha identisk konfiguration, dvs Nexus-switcharna ska ha matchande FEX-relaterad konfig. Detta kan antingen göras manuellt eller med en configuration synchronization service som finns inbyggd i NX-OS. Config sync kan dock ställa till med konstiga fel så fördelaktigt görs detta med något externt automationsverktyg. När man konfar en port-channel till FEXen (vilket man bör) måste pinning max-links 1 vara satt samt att mode on måste köras eftersom FEX ej har stöd för LACP. MTU på FEXar styrs av network QoS policy så för att ändra MTU på FEX-portar måste även MTU på fabric portar ändras. Notera att FEXar kräver minst 1058 bytes annars misslyckas registreringen med parent switch. Man kan konfa FEX innan den är online med hjälp av pre-provision, se nedan. Man måste göra modelval för att parent ska veta hur många och vilka sorts interface som finns på FEXen. Giltiga FEX-nummer är 101-199.

Do not power on the FEX until all cabling and uplink port provisioning on the uplinked Nexus has been completed.

Single homed FEX

fex 101
 pinning max-links 1
 description "FEX101"

interface port-channel101
 description FEX101
 switchport mode fex-fabric
 fex associate 101

interface Ethernet1/1
 description FEX101, Uplink 1
 switchport mode fex-fabric
 fex associate 101
 channel-group 101
 no shutdown

interface Ethernet1/2
 description FEX101, Uplink 2
 switchport mode fex-fabric
 fex associate 101
 channel-group 101
 no shutdown

Dual homed FEX

fex 111
 pinning max-links 1
 description "FEX111"

slot 111
 provision model N2K-C2248TP-E-1GE

interface port-channel111
 description FEX111 
 switchport mode fex-fabric
 fex associate 111
 vpc 111

interface Ethernet1/1
 description FEX111, Uplink 1
 switchport mode fex-fabric
 fex associate 111
 channel-group 111
 no shutdown

interface Ethernet1/2
 description FEX111, Uplink 3
 switchport mode fex-fabric
 fex associate 111
 channel-group 111
 no shutdown

Verify

show fex detail
show module fex
show interface fex-fabric

Om serienummer är satt i konfigen måste det stämma annars blir det "Identity-Mismatch". Står det inget i konfigen accepteras vad som blir connected.

Port Profiles

En port profile används för att skapa en mall med fördefinierad konfiguration för portar. Istället för att manuellt kopiera befintlig portkonfiguration till en ny port kan istället profilen appliceras på porten för en färdig och enhetlig konfiguration.

Skapa port-profile

port-profile ACCESS
 switchport
 switchport mode access
 switchport access vlan 10
 spanning-tree port type edge
 spanning-tree bpdufilter enable
 spanning-tree bpduguard enable
 no shutdown
 state enabled

Applicera port-profile, kan t.ex. appliceras under port-channel eller ethernet-interface.

interface ethernet 1/1
 inherit port-profile ACCESS

Verifiering

show run interface ethernet 1/1 expand-port-profile
show port-profile

Checkpoint

Nexusswitchar har en inbyggd funktion för Configuration Roll Back. Checkpoint-featuren låter admins spara konfigurationssnapshots. Sedan kan man rollbacka när man behöver. Exempelvis när man tar bort en feature (no feature xxx) så skapar Feature Manager automatiskt en checkpoint.

Skapa checkpoint

checkpoint

Show checkpoints

show checkpoint summary

Diff

show diff rollback-patch checkpoint user-checkpoint-1 running-config

Rollback

rollback running-config checkpoint user-checkpoint-1

Delete

clear checkpoint database

Portmode

På vissa nexus-modeller kan man ställa olika portmodes, t.ex. 93180LC och YC. I LC modellen så kan man sätta 18x100g isället för 4x100g+28x40g, man kan också köra 6x100g+24x40g.

För att ställa in 18x100g

hardware profile portmode 18x100g 

För 6x100g+24x40g

hardware profile portmode 6x100g+24x40g

För 4x100g+28x40g

hardware profile portmode 4x100g+28x40g

Man måste sedan spara configen och starta om switchen för att detta skall börja gälla.

Nexus 9000v

Nexus 9000v Switch är en virtuell maskin som man kan använda för att testa NX-OS features. Nexus 9000v funkar t.ex. i EVE-NG. Dock funkar inte alla features, t.ex. QoS, BFD, Storm-control, FCoE och MACsec.

Man måste lägga in i startup-config vilken image switchen ska boota ifrån. Här följer lite grundkonfig.

hostname N9K01
boot nxos bootflash:/nxos.7.0.3.I7.3.bin
feature lldp
terminal width 110
spanning-tree mode mst
line console
  exec-timeout 0

policy-map type control-plane COPP
control-plane
  service-policy input COPP

Detta kommando används istället för show mac address-table på Nexus 9000v.

show system internal l2fwder mac

Ansible

ansible-galaxy collection install cisco.nxos

nxos.yml

---
ansible_connection: ansible.netcommon.httpapi
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_network_os: cisco.nxos.nxos
ansible_user: admin
ansible_password: password

hosts.yml

---
all: 
  hosts:
    switch1: 
      ansible_host: 10.0.0.40
    switch2:
      ansible_host: 10.0.0.41

ansible.cfg

[defaults]
collections_paths   = ./collections
inventory           = ./inventory
forks           = 15
stdout_callback = yaml