本文旨在减少理解ExtremeXOS(XOS)工作原理所需的时间。 当我开始接触XOS时,我真的缺少有关Habré的文章。
下面,我将讨论Extremes的配置以及遇到的问题。 我希望它能帮助刚刚开始使用XOS的网络工程师。 不论交换机型号如何,CLI语法都是完全相同的。

极限开关架
对企业
对于硬件虚拟化,我使用Eve-Ng和Virtual ExtremeOS( XOS )映像。 您也可以使用GNS3。
切换配置是什么样的?在XOS中 ,无需切换操作模式,所有命令都是从普通模式输入的,对于admin帐户,则标记为# ; 和> (对于用户)。
首先,我要概述EOS团队的“基本”原则。 一切都基于三个命令及其反义词: create , configure , enable (分别为delete , unconfigure , disable )。 即:我们创建,配置,激活。 看起来很合逻辑。
create vlan 10 configure vlan 10 ipaddress 192.168.1.1/24
还应该理解,大多数配置是在VLAN上配置的。 也就是说,在XOS中,几乎所有东西都与VLAN相关。 即使将VLAN分配给端口,也会在VLAN配置中发生,即端口挂在VLAN上。
我想特别注意虚拟路由器( VR ),它是交换机中的默认设置。 有拥有所有端口的VR-Default和拥有mgmt的VR-mgmt。 港口 在XOS中,对于将流量发送到某个地方(ping,ssh,telnet,下载等)的所有命令,必须指定VR。
ping vr "VR-Default" 192.168.1.1
XOS交换机更新
XOS在操作系统下有两个分区:主分区和次分区。 从功能上讲,它们在名称上没有什么不同。 您只能在当前非活动部分中安装更新。 您可以为此使用inactive参数。 更新之后,需要重新启动,并且交换机从另一个(刚刚更新的)分区引导。 这样就可以在出现问题时快速回滚,只需在启动时选择其他分区(保留旧OS的分区)即可。 我还注意到,所有带有补丁的图像都代表一个完整的图像,也就是说,您不需要先放置主要版本,然后再放置一些次要版本。 下载时,使用tftp:
download image 192.168.1.1 summitX-21.1.4.4-patch1-3.xos vr "VR-Default" inactive
要找出当前正在使用的部分,请使用:
show system … Image Selected: primary Image Booted: secondary Primary ver: 22.3.1.4 Secondary ver: 21.1.1.4
交换机堆叠
要堆叠XOS交换机,您需要启用堆叠支持并重新启动交换机:
enable stacking-support reboot
可以将不同型号的交换机组合成一个堆栈非常方便,而性能最高的交换机将是主交换机。 例如,对于具有16个用于服务器的端口的10G交换机的堆栈,这可能是必需的,在其中添加了一个48端口1G交换机,其中包括mgmt.interfaces。
要堆叠,交换机必须具有相同的操作系统版本。 堆叠是通过某些以太网端口完成的,对于每种型号,它们可以在文档中找到。 如果按照1合2、2合1端口方案组装交换机,则可以根据简化的简易堆叠程序堆叠Extreme交换机,该过程本身会将mac地址绑定到插槽号和其他设置。 在这种情况下,第一个将是启用启用堆叠的开关,其余的将在链上分配编号。 这是一种节省大量时间的便捷方法。 堆叠后,端口将看起来像SLOT:PORT(1:1:2:35)。
X440G2-48p-10G4.1 # show stacking Stack Topology is a Ring This node is not in an Active Topology Node MAC Address Slot Stack State Role Flags
更新堆栈是指更新主服务器,然后由他本人将新版本倒入剩余的插槽中。 需要重新启动 。
发牌
每个交换机都附带一个预安装的许可证(边缘,高级边缘,核心等)。 每个许可证都有自己的一组功能,可以在交换机上激活这些功能,例如,可以在OSPF中使用的端口数。 也有单个功能的许可证。 更多细节可以在这里阅读。
该功能是最常见的许可证之一: Dual-10GB-Uplink许可证。 边缘交换机1G的此许可证允许使用2个10GbE端口。 例如,在X440-G2-48p上。
许可证可在Extreme网站上的个人帐户中找到,然后激活(无需重新启动)并由团队检查。
enable license XXXX-XXXX show licenses
如果在交换机堆栈中使用了不同的许可证,则将使用最小的许可证。
客制化
一个小的题外话:要查看命令的结果以及所有其他信息,在大多数情况下,您可以使用show来代替create和configure。 例如,显示vlan。
提示:使用显示端口时-XOS将建立一个每隔几秒钟更新一次的表,该表允许实时监视接口状态。 为了获得输出而不进行更新,您必须使用“不刷新显示端口”。
首先想到的是配置此主机名 。 似乎是这样的:
配置主机名Ex_sw_1
但是并不是所有的事情都那么简单,实际上是这样完成的:
configure snmp sysName Ex-sw-1
创建一个VLAN:
create vlan My_Vlan_Five tag 5
如此,这就是它在配置中的显示方式:
create vlan My_Vlan10 configure vlan My_Vlan10 tag 10
考虑到命令输出和XOS设置的实际经验和现实情况,我为自己创建了一条规则:在vlan名称中,在其末尾添加其标记,这使它更易于理解和配置:
create vlan users-10 tag 10
XOS本身没有中继端口和访问端口。 而是使用概念:VLAN绑定的接口上的已标记和未标记的流量。 可能有一个未标记的VLAN和许多标记的VLAN。 端口用数字编号(或插槽:堆栈上的端口),一切都很简单。
configure vlan My_Vlan-5 add ports 1 tagged configure vlan My_Vlan1 add ports 1 untagged
因此,所有没有标签到达接口的流量都将被标记为“ My_Vlan1 ”。
同时,可以通过< Name >和< tag >以及任意组合(使用vlan_list ,即按标签数字)来指定vlan。 最后没有属性,使用< untagged >:
onfigure vlan 1,5-10,15-20 add ports 1-8, 48 tagged configure vlan web-110 add ports 5 onfigure vlan 20 add ports 30-40,45 untagged
由于大多数SummitX系列交换机是L3交换机,因此SVI的配置方式如下:
configure vlan 125 ipaddress 192.168.125.1/24
在那之后,您需要应用此命令,否则vlan将保持不可路由:
enable ipforwarding vlan 125 enable ipforwarding vlan 10-50,60
要查看接口上的VLAN,可以使用以下命令:
show ports 2 vlan
要查看和保存配置,请使用以下命令,并且有主要和辅助配置文件:
save save secondary show configuration
链接聚合
我遇到的不愉快的时刻之一是渠道的聚合。 (端口通道)。 总体要点是:您为一个主端口分配了最多七个辅助接口。 此外,所有设置仅在特定的主端口上进行,不存在形式为po1的逻辑接口。 缺点是,如果要更改主端口,则必须手动将所有设置转移到另一个端口,因为删除聚合通道时,该通道上的整个配置都会生效 。 本文为解决这种不便提供了解决方案,但仍无法完美解决。 在XOS中,聚合称为共享 。
要启用这样的端口,您需要使用以下格式的命令:
enable sharing [MASTER_PORT] grouping [PORT_LIST] [lacp] enable sharing 1 grouping 1-2 lacp
在低于22.X的版本上,有必要添加“平衡”算法:
enable sharing 1 grouping 1-2 algorithm address-based L2 lacp
OSI第2层环路保护
在C主要版本22.2中的Summit-X交换机上,默认情况下禁用第二级环路保护协议。 (STP等)。 在撰写本文时,供应商推荐的软件是21.1.5.2。
埃尔普
在我的一个项目中,我使用了专有的ELRP协议,该协议旨在检测和防止环路。 在测试过程中,他显示出良好的结果(带有环路的端口关闭速度等)。 该协议发送多播PDU ,如果发送方再次接收到它,则存在循环。
该间隔负责PDU分配的频率,在这种情况下为2秒。 在环路的情况下,端口将被阻塞180秒,此后将再次发送PDU。 警报选项:日志,陷阱,日志和陷阱。 对于陷阱,将相应发送snmp陷阱。
已配置此每个VLAN协议以及XOS中的大多数配置。
enable elrp-client configure elrp-client periodic Buh-123 ports all interval 2 log disable-port ingress duration 180
为了防止ELRP协议阻塞访问交换机或关键连接的上行链路,使用了从阻塞中删除端口的命令。
configure elrp-client disable-port exclude 35 configure elrp-client disable-port exclude 1:1
STP
STP的配置有些棘手,但通常没有特殊问题。 在XOS中,此协议称为“ stpd”,在所有用于配置STP的命令中均使用该协议。 您可以使用不同的STP域按VLAN进行操作。 “域ID”和“ VLAN ID”必须匹配。 STP中的端口可以手动添加,也可以使用VLAN自动绑定添加。 一旦将端口添加到VLAN,该端口就会自动添加到STP。 这是逻辑。 模式设置: dot1d STP, dot1w -RSTP:
configure stpd "s0" priority 4096 configure stpd s0 mode dot1w enable stpd s0 enable stpd "s0" auto-bind "VLAN_0005"
VRRP
VRRP是FHRP的一种,类似于Cisco的HSRP。 对于每个网络(vlan),都必须使用一个vrid,其范围可以从1到255。我很高兴能够使用结构路由选项路由来自backup-vrrp-L3交换机的流量。 默认情况下,优先级为100。哪个交换机具有更高的优先级,它将成为“主”。
create vrrp vlan test1 vrid 125 configure vrrp vlan test1 vrid 125 priority 50 configure vrrp vlan test1 vrid 125 fabric-routing on enable vrrp vlan test1 vrid 125
MLAG
关于它是什么以及为什么, 在这里对其进行了很好的描述:实际上,它是Cisco VPC的类似物。 ISC-标记对交换机之间的连接。
就我而言,通常使用以下方案:

由于Extreme支持使用多个邻居的功能,因此必须创建一个邻居(对等方),以便能够将带有mlag的特定端口分配给特定的邻居。 对于ISC,您需要一个仅用于ISC并具有IP地址的VLAN。 因此,对于X670-1,我们将拥有X670-2,而标记端口将为x440。 为了正常运行,有必要创建一个聚合通道,并在x670上创建一个通向x440的端口,并在一个通向X670-2的聚合通道上创建,其中将有ALL Vlan参与其中。
在x670上:
Enable sharing 1 grouping 1 lacp create mlag peer "mlag1" configure mlag peer "mlag1" ipaddress 10.255.255.2 vr VR-Default enable mlag port 1 peer "mlag1" id 1
在x440堆栈上:
enable sharing 1:51 grouping 1:51,2:51 lacp
MLAG + VRRP
在对展台的交换机进行测试期间,发现一个问题,即VRRP在所有其他接口(首先是ISC)和协议都上升之前就取消了Master角色,这导致网络停机时间约为一分钟。
此问题已通过以下命令解决,但是仅在“ EXOS 21.1.3.7-patch1-4”和“ EXOS 22.3”中可用:
configure mlag ports reload-delay 60 enable mlag port reload-delay
路由选择
静态路由定义如下,应该没有问题。 您可以在任何版本中设置遮罩。
configure iproute add 10.0.66.0 255.255.255.0 172.16.1.1 configure iproute add 10.0.0.1/32 10.255.255.255 configure iproute add default 172.16.0.1
OSPF协议
对于路由,在我的实践中,使用了具有单个区域的OSPF。 为了确保可操作性,有必要设置一个路由器ID,并添加需要宣布的每个VLAN(类似于Cisco:网络)。
configure ospf routerid 192.168.1.1 enable ospf configure ospf add vlan routing-5 area 0.0.0.0 configure ospf add vlan Voip-32 area 0.0.0.0 passive
其他小事
DHCP中继
配置如下:
configure bootprelay add 192.168.12.5 vr VR-Default enable bootprelay ipv4 vlan servers-500
创建新的VLAN时,必须使用DHCP中继将其手动添加到VLAN列表中。
SSH + SSH的ACL
启用Ssh的方法如下:
enable ssh2
要限制对ssh的访问,您需要创建一个单独的格式为NAME.pol的策略文件,并将其挂在SSH上。
vi ssh.pol
政策:
Entry AllowTheseSubnets { if match any { source-address 192.168.0.0 /16; source-address 10.255.255.34 /32; } Then { permit; } }
应用策略的命令:
enable ssh2 access-profile ssh.pol
说明+显示字符串
为了便于设置和后续操作,您可以设置界面的“名称”和“描述”。
onfigure port 1 description “this is port number one”
该接口的描述将仅以以下形式的命令显示:
show ports description
接口名称将在命令输出中几乎替换其编号的所有位置。 该名称不能包含空格,并且长度不能超过20个字符。
onfigure port 1 display-string UserPort EXOS-VM.8 # sh port vlan Untagged Port /Tagged VLAN Name(s)
结论
XOS还原生支持Python和使用CLI脚本命令创建和运行脚本的内置机制,因此可以使许多操作自动化并使系统适应您的需求。
我愿意提出改进文章和纠正错误/错误以及问题的建议。
UPD :使用此注释中的命令配置IP电话的LLDP。