NX-OS 到 NVUE 常用命令
Cumulus Linux 4.4 版本引入了一个名为 NVUE 的新 CLI;Cumulus Linux 的完整对象模型。NVUE 使首次使用 Cumulus Linux 以及跨 Cumulus Linux 版本转换配置变得更加可靠。
本知识库文章介绍如何将常用 NX-OS 配置转换为 NVUE 命令。
功能启用
与 NX-OS 不同,Cumulus Linux 不需要启用特定功能。
主机名和系统命令
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
hostname <hostname> | nv set system hostname <hostname> | |
logging server <ip> | nv set service syslog default server <ip> | 值 default 是服务器所在的 VRF。 |
ntp server <ip> | nv set service ntp default server <ip> | 值 default 是服务器所在的 VRF。 |
interface breakout module 1 port <port> map 10g-4x | nv set interface <interface> link breakout 4x10G | 存在多个 breakout 选项。要查看所有命令,请运行 nv set interface <interface> link breakout -h 。 |
copy running-config startup-config | nv config save | 要在 NVUE 中将配置作为 running-config 应用(提交),请使用 nv config apply 。保存的配置在交换机重启后才会应用 |
show startup-config | cat /etc/nvue.d/startup.yaml | |
show running-config | nv config diff empty applied | NVUE diff 将 empty 配置与当前 applied 配置进行比较。 |
接口命令
您可以在单个接口下配置 NX-OS 接口命令;例如
interface e1/1
ip address 10.1.1.1/24
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
ip address <ip> | nv set interface <interface> ip address <ip> | 在 NVUE 中,您可以使用相同的命令设置 IPv4 和 IPv6 地址。 |
ip address <ip> secondary | nv set interface <interface> ip address <ip> | 配置第二个 IP 地址是附加的。要替换地址,请运行 nv unset interface <interface> address <ip> 。 |
ipv6 address <ip> | nv set interface <interface> ip address <ip> | 在 NVUE 中,您可以使用相同的命令设置 IPv4 和 IPv6 地址。 |
mtu <mtu> | nv set interface <interface> link mtu <mtu> | Cumulus Linux 中的默认 MTU 为 9216。 |
speed <speed> | nv set interface <interface> link speed <speed> | |
fec <mode> | nv set interface link fec <mode> | |
no shutdown | nv set interface <interface> link state up | 接口的默认状态为 up 。要关闭接口,请使用 link state down 。 |
interface loopback0 | nv set interface lo | lo 是 Cumulus Linux 上环回接口的名称。 |
description <text> | nv set interface <interface> description <text> |
第 2 层和 VLAN
默认情况下,Cumulus Linux 接口是第 3 层路由接口。要使接口成为第 2 层交换端口,您必须将接口添加到名为 br_default
的默认网桥
cumulus@switch:~$ nv set interface <interface> bridge domain br_default
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
switchport mode access | nv set interface <interface> bridge domain br_default access <vlan> | 使用 <auto> 继承默认网桥交换端口配置。 |
switchport access vlan <vlan> | nv set interface <interface> bridge domain br_default access <vlan> | |
switchport mode trunk | nv set interface <interface> bridge domain br_default | 添加到网桥的端口默认为 trunk 端口。 |
switchport trunk allowed vlan <vlan-list> | nv set interface <interface> bridge domain br_default vlan <vlan-list> | |
spanning-tree port type edge | nv set interface <interface> bridge domain br_default stp admin-edge on | |
spanning-tree port type network | nv set interface <interface> bridge domain br_default stp network on | |
spanning-tree bpduguard enable | nv set interface <interface> bridge domain br_default stp bpdu-guard on | |
spanning-tree bpdufilter enable | nv set interface <interface> bridge domain br_default stp bpdu-filter on | |
spanning-tree vlan 1 priority <priority> | nv set bridge domain br_default stp priority <priority> | Cumulus Linux 仅支持 RSTP。 |
Bond 和端口通道
Linux 使用术语 bond
,而 Cisco 使用术语 port channels
。
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
interface port-channel <number> | nv set interface <name> bond | 您可以使用必须以字母开头的名称定义 bond。 |
interface ethernet <mod/port> channel-group <number> | nv set interface <bond-name> bond member <interface> | 您可以在单个命令中创建 bond 并应用 bond 成员。 |
channel-group <number> mode on | nv set interface <bond-name> bond mode static | 默认模式为 lacp |
lacp rate fast | nv set interface <bond-name> bond lacp-rate fast |
MLAG 和 vPC
Cumulus Linux 使用 MLAG
(多机箱链路聚合)来描述 Cisco 称为 vPC
的功能。
在 MLAG 配置中,Cumulus Linux 还使用 vPC对等链路的概念。为了在直接连接失败时保持 MLAG 对同步,Cumulus Linux 使用 mlag backup IP 而不是 vPC peer-keepalive link。
有关 MLAG 的更多信息,请参阅 Cumulus Linux 用户指南的 s 部分。
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
peer-keepalive destination <ip> | nv set mlag backup <ip> | |
system-mac <mac> | nv set mlag mac-address <mac> | NVUE 还支持 auto MAC 地址生成。 |
interface port-channel <number> vpc peer-link | nv set interface peerlink bond member <interface> nv set mlag peer-ip linklocal | Cumulus Linux 需要一个唯一的 bond 用于对等链路和一个关联的 peer-ip 定义。 |
interface port-channel <number> vpc <number> | nv set interface <bond-name> bond mlag id auto | mlag id 必须与连接到同一主机的两个 MLAG 对等体上的 bond 接口匹配。使用 auto 根据终端主机的 MAC 地址确定 ID。 |
第 3 层路由协议
大多数 BGP 命令都需要在命令中包含 VRF。这包括 default
VRF。
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
router bgp autonomous-system <ASN> | nv set vrf default router bgp autonomous-system <ASN> | |
router-id <ID> | nv set vrf default router bgp router-id <id> | |
neighbor <ip> remote-as <ASN> | nv set vrf default router bgp neighbor <ip> remote-as <ASN> | 您可以使用 external 或 internal 代替 ASN。 |
address-family ipv4 unicast network <network> | nv set vrf default router bgp address-family ipv4-unicast static-network <network> | |
address-family ipv6 unicast network <network> | nv set vrf default router bgp address-family ipv6-unicast static-network <network> | |
address-family ipv6 unicast redistribute direct | nv set vrf default router bgp address-family ipv4-unicast redistribute connected | |
ip prefix-list <name> seq <seq> permit <prefix> | nv set router policy prefix-list <name> rule <seq> match <prefix> | |
route-map <name> permit <seq> match ip prefix-list <list> | nv set router policy route-map <name> rule <seq> match ip-prefix-list <name> | |
neighbor <ip> remote-as <ASN> address-family ipv4 unicast route-map <name> in | nv set vrf default router bgp neighbor <ip> address-family ipv4-unicast policy inbound route-map <name> | |
ip route <route> <next hop> | nv set vrf default router static <route> via <next hop> | default 值是 VRF 名称(在本例中为默认 VRF)。 |
访问控制列表 (ACL)
Cumulus Linux 中的 ACL 派生自 Linux iptables
,并且在以下方面与 NX-OS 的行为不同
- 没有隐式拒绝。ACL 必须以
match any
和action deny
规则结尾,以丢弃所有不匹配的流量。 - 不支持通配符掩码。您必须单独列出子网。
有关更多信息,请参阅 Cumulus Linux 用户指南的 ACL 部分。
NX-OS 命令 | NVUE 命令 | 注释 |
---|---|---|
ip access-list <name> <seq> permit ip <source> <destination> | nv set acl <name> rule <seq> match ip source-ip <source> nv set acl <name> rule <seq> match ip dest-ip <destination> nv set acl <name> rule <seq> action permit | NVUE 将源、目标和操作与 <seq> 值链接起来。 |
interface <slot/port> ip access-group <name> in | nv set interface <interface> acl <name> inbound | |
mac access-list <name> <seq> permit <source mac> <destination mac> <protocol> | nv set acl <name> rule <seq> match mac source-mac <source mac> nv set acl <name> rule <seq> match mac dest-mac <destination mac> `nv set acl | ip> protocol<br /> nv set acl |
interface <slot/port> mac port access-group <name> | nv set interface <interface> acl <name> inbound |