I decided to refresh my earlier article on Migrating to Nexus 7000 from Catalyst 6500 and 4500 Switches with some 5.x/6.0 updates. The current set of NX-OS 5.x/6.0 CLI commands in are pretty similar to the 12.2 IOS CLI on Catalyst 4500 and 6500s. I’ve also added some additional commands that I felt may be useful, such as the BGP commands.
With NX-OS, you can also use the “?” to get help and prompts, commands can be abbreviated, and the [Tab] key will auto-fill in unambiguous commands.
Some caveats: NX-OS does not support all the features of IOS, for example, acting as a DHCP server and NTP authentication.
IOS Commands (Nexus NX-OS Commands when different) |
Function |
show version | Displays information about the currently running system software image and an overview of the installed hardware. |
show module | Displays information about the installed modules including module number, module type, number of ports on each module, module MAC addresses, and the module status. |
router(config)#do show command router(config)#show command ! or router(config)#do show command |
View existing configuration information from the configuration command prompt using show commands. Note: For NX-OS, the [Tab] key and “?” will work for Exec mode commands inside of configuration mode. The use of “do” in NX-OS is currently working, but is not documented. |
router(config)# do Exec-command router(config)# Exec-command ! or router(config)#do Exec-command |
View existing configuration information from the configuration command prompt. Note: For NX-OS, the [Tab] key and “?” will work for Exec mode commands inside of configuration mode. The use of “do” in NX-OS is currently working, but is not documented. |
reload | Reloads the operating system for the entire device Note: For the Nexus 7000, this command works only in the default VDC. |
! 6500 reload module mod-# |
Reloads a module in the device by turning power off then on. Note: For the Nexus 7000, this command works only in the default VDC |
service timestamps [debug | log] [uptime | datetime [msec]] [localtime] [show-timezone] [year] debug logging logging timestamp {microseconds | milliseconds | seconds} |
Apply a time stamp to debugging messages or system logging messages.
Note: In NX-OS, to enable debug logging configure ‘debug logging’ command. NX-OS does not have as many options for timestamps. |
service password-encryption ! No equivalent NX-OS command |
Note: By default, NX-OS encrypts plain text passwords and enables password strength checking. |
logging buffered [discriminator discr-name] [buffer-size] [severity-level]
|
Enable system message logging to a local buffer |
username name {nopassword | password password | password encryption-type encrypted-password} username user-id [password [0 | 5] password] |
Create and configure a user account. Note: By default, NX-OS encrypts plain text passwords and enables password strength checking. |
aaa new-model aaa authentication login default group tacacs+ local aaa authentication login console none aaa authentication enable default none aaa authentication ppp default local aaa accounting exec default start-stop group tacacs+ aaa accounting commands 0 -15 start-stop group tacacs+ aaa accounting commands 15 default start-stop group tacacs+ aaa authorization commands level aaa authorization config-commands aaa session-id common aaa authentication login default {group tacacs+ | local} aaa authentication login console none aaa user default-role aaa accounting default group tacacs+ aaa authorization commands default aaa authorization config-commands default |
Configuring AAA. Note: Not all commands are supported on the NX-OS. |
clock timezone zone hours-offset [minutes-offset] |
Configure the time zone offset from Coordinated Universal Time (UTC) as well as daylight savings time. |
ip classless ! No equivalent NX-OS command |
This commands is not available in NX-OS. |
ip subnet-zero no ip source-route no ip bootp server ! No equivalent NX-OS command |
These commands are not available in NX-OS. |
no ip domain-lookup |
Disable DNS lookup feature and configure a domain name and name server. |
ip ssh time-out seconds ip ssh authentication-retries tries ip ssh version 2ip feature ssh ssh key {dsa [force] | rsa [length [force]]} |
Enable an SSH server. Note: The Cisco NX-OS commands for SSH are different from the Cisco IOS commands. NX-OS software supports only SSHv2. |
power redundancy-mode {redundant | combined} power redundancy-mode {combined | insrc-redundant | ps-redundant | redundant} |
Configure the power supply redundancy mode |
! 6500 |
Powers off a module from configuration mode. |
redundancy mode sso main-cpu auto-sync standard ! No equivalent NX-OS command |
Configure CPU redundancy. Note: : The Nexus 7000 supports dual supervisor modules to provide 1+1 redundancy for the control and management plane. Only one of the supervisor modules is active at any given time, while the other acts as a standby backup. No configuration commands are needed. |
spanning-tree mode [pvst | mst | rapid-pvst] spanning-tree mode [rapid-pvst | mst] |
Default mode for IOS is PVST; default mode for NX-OS is RPVST. Note: When you enter the command, all STP instances are stopped for the previous mode and are restarted in the new mode. |
spanning-tree extend system-id ! No equivalent NX-OS command |
Enable the extended system ID feature on a chassis that supports 1024 MAC addresses. Note: NX-OS does not use this command, the extended system ID is always automatically enabled in NX-OS devices. |
spanning-tree vlan vlan-id priority value | Set the STP bridge priority |
vlan internal allocation policy ascending ! No equivalent NX-OS command |
Configure the internal VLAN allocation scheme. Note: NX-OS does not support this command. |
interface type slot/number |
Configure a Layer 2 access port. Note: NX-OS uses “Ethernet” as the type for all FastEthernet / GigabitEthernet / Ten Gigabit Ethernet interfaces. The VLAN in the vlan-id needs to be created so that the interface will come up. |
interface type slot/number switchport switchport mode trunk [switchport trunk allowed vlan vlan-id] switchport trunk encapsulation [isl | dot1 | negotiate] [switchport trunk allowed vlan add vlan-id] [speed {10 | 100 | 1000 | auto [10 | 100 | 1000] | nonegotiate}] interface type slot/number switchport switchport mode trunk [switchport trunk allowed vlan vlan-id] [switchport trunk allowed vlan add vlan-id] [speed {10 | 100 | 1000 | auto [10 | 100 | 1000] | 10000 | auto}] |
Configure a Layer 2 trunk port. Note: NX-OS only supports 802.1Q encapsulation. |
vlan vlan-# interface vlan-# no shutdown vlan vlan-# feature interface-vlan interface vlan-# no shutdown |
Configure a VLAN interface Note: In NX-OS, the interface-vlan feature needs to be enabled before an interface VLAN can be configured. The VLAN needs to be defined as well for the interface to come up |
interface port-channel channel-# |
Configure a Layer 2 LACP port channel. Note: In NX-OS, the LACP feature needs to be enabled before it can be used. |
vtp domain domain-name | Configure the VTP domain name |
vtp {server | client | transparent | off} feature vtp |
Configure the VTP mode. Note: By default, VTP mode is off for NX-OS. |
udld {enable | aggressive} feature udld |
Enable UDLD globally on a device. |
ip route prefix mask next-hop-address ip route ip-prefix/length next-hop-address |
Configure static routes. |
ip access-list extended access-list-name [sequence-number] {permit | deny} protocol source source-wildcard destination destination-wildcard . . . ip access-list access-list-name [sequence-number] {permit | deny} protocol source destination . . . |
Create or configure an IPv4 ACL Note: NX-OS supports one type of IPv4 ACL which is similar to the named extended ACL in IOS. |
ip access-list resequence access-list-name starting-sequence-number increment resequence access-list-type access-list access-list-name starting-sequence-number increment |
Resequence an ACL. |
router eigrp as-number feature EIGRP router eigrp instance-tag [autonomous-system as-number] |
Configure EIGRP routing. Note: In NX-OS, the EIGRP feature needs to be enabled before it can be used. You can use any case-sensitive alphanumeric string up to 20 characters as an instance tag. If you configure an instance-tag that does not qualify as an AS number, you must use the autonomous-system command to configure the AS number explicitly or this EIGRP instance will remain in the shutdown state |
router(config-router)# network ip-address [wildcard-mask] interface type slot/number ip address ip-prefix/length ip router eigrp instance-tag |
Configure a network in EIGRP. |
router ospf process-id feature OSPF router ospf instance-tag |
Configure OSPF routing. Note: In NX-OS, the OSPF feature needs to be enabled before it can be used. The instance-tag is locally assigned and can be any alphanumeric string or positive integer. |
router(config-router)# network ip-address wildcard-mask area area-id interface type slot/number ip address ip-prefix/length ip router ospf instance-tag area area-id |
Configure a network in OSPF. Note: For NX-OS, a network is configured in OSPF by associating it through an interface the router uses to connect to the area. |
router ospf process-id
router ospf instance-tag |
Configure a reference bandwidth for OSPF. Note: For IOS, the default is 100 Mb/s. For NX-OS, the default is 40Gb/s. |
router bgp as-number
feature bgp |
Configure BGP routing. Note: For NX-OS, the no synchronization and no auto-summary commands are enabled by default. |
router bgp as-number router bgp as-num |
Advertise an IPv4 network in BGP. |
router bgp as-number router bgp as-number |
Configure BGP Peer Group/Template. |
interface type slot/number ip address ip-address mask ip helper-address ip-address standby [group-number] ip ip-address standby [group-number] timers hellotime holdtime standby [group-number] priority priority standby [group-number] prempt feature hsrp ip dhcp relay interface type slot/number ip address ip-prefix/length ip dhcp relay address ip-address hsrp group-number ip ip-address timers hellotime holdtime priority priority prempt |
Configure HSRP with an IP helper address to a DHCP server. Different command syntax is used. NX-OS also uses ‘hsrp’ as keyword, while IOS uses ‘standby’. Note: In NX-OS, the HSRP feature needs to be enabled before it can be used. To use the DHCP relay, DHCP services also has to be enabled. The HSRP holdtime needs to be at least 3x the hello time. NX-OS uses CIDR notation for IP addresses, but can accept the ip-address mask format as well. Prior to NX-OS 4.2(1), the service dhcp command enabled the DHCP Relay feature. In NX-OS 4.2(1) the command was changed to ip dhcp relay. |
ip dhcp pool name ! No equivalent NX-OS command |
Configure a Dynamic Host Configuration Protocol (DHCP) address pool on a DHCP server. Note: The NX-OS supports DHCP snooping, and DHCP relay, but does not support acting as a DHCP server. |
ip multicast-routing feature PIM |
Enable IP multicast routing |
ip prefix-list name seq seq-num permit prefix/length |
Configure an IP prefix-list |
ipv6 unicast-routing interface type slot/number ipv6 address ipv6-prefix/prefix-length eui-64 interface type slot/number ipv6 address ipv6-prefix/prefix-length eui-64 |
Enable IPv6 traffic forwarding on an interface. Note: NX-OS does NOT need to enable IPv6 routing globally. |
ip telnet source-interface Loopback0
aaa group server tacacs+ default use-vrf management |
Configure a management interface. Note: The NX-OS management interface is in a separate management VRF. |
ntp server ip-address |
Configure an NTP server as a time source. Note: NX-OS previously needed the NTP enable command – this command was deprecated in 5.2(1). Starting with 5.2(1), NX-OS devices can serve as an NTP server for other devices in the network. (Use the ntp master [stratum] command to set the device as an authoritative NTP server.) |
ntp authenticate
! No NX-OS support for ntp update-calendar command |
Configure NTP authentication options. Note: NX-OS does not currently support the ntp update-calendar command. |
monitor session session-# source interface type slot/number monitor session session-# destination interface type slot/number interface type slot/number switchport switchport monitor [ingress | learning] monitor session session-number description description source interface type slot/number destination interfacetype slot/number |
Enable SPAN sessions on interfaces or VLANs |
snmp-server community RW-string RW acl-# snmp-server community RO-string RO acl-# snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart snmp-server enable traps tty snmp-server enable traps entity snmp-server enable traps port-security snmp-server enable traps config snmp-server host ip-address string snmp ifmib ifindex persist snmp-server community RW-string RW snmp-server community RO-string RO snmp-server community RW-string use-acl acl-name snmp-server community RO-string use-acl acl-name snmp-server enable traps snmp authentication snmp-server enable traps link snmp-server enable traps entity snmp-server host ip-address string |
Enable common SNMP options. Note: NX-OS syntax differs. |
tacacs-server host ip-address tacacs-server directed-request tacacs-server key [0 | 7] key feature tacacs+ tacacs-server host ip-address tacacs-server directed-request tacacs-server key [0 | 6 | 7] key |
Configure TACACS+ server |
I hope this gives you a useful overview of some common configuration and verification commands you may need when migrating.
Three useful Cisco documentation links for further information:
http://www.cisco.com/en/US/products/ps9402/prod_command_reference_list.html – NX-OS command references
http://www.cisco.com/en/US/products/ps9402/products_installation_and_configuration_guides_list.html
http://docwiki.cisco.com/wiki/Cisco_Nexus_7000_NX-OS/IOS_Comparison_Tech_Notes — includes multiple articles comparing Cisco NX-OS and Cisco IOS features.
— cwr
Hi,
You can use the tool located here to convert Catalyst configs to Nexus configs.
https://tools.cisco.com/nxmt
Thanks,
Srini