Este artigo tem como objetivo reduzir a quantidade de tempo necessária para entender os princípios de trabalho com o ExtremeXOS (XOS) . Quando eu comecei a conhecer o XOS, realmente não tinha esse artigo sobre Habré.
Abaixo vou falar sobre a configuração do Extremes e os problemas que encontrei. Espero que ajude os engenheiros de rede que estão apenas começando a trabalhar com o XOS. Independentemente do modelo do comutador, a sintaxe da CLI é exatamente a mesma.

Extreme Switch Stand
Para negócios
Para virtualização de hardware, uso Eve-Ng e uma imagem do Virtual ExtremeOS ( XOS ) . Você também pode usar o GNS3.
Como é a configuração do switch ? No XOS não é necessário alternar os modos de operação, todos os comandos são inseridos no modo normal, marcados com # no caso da conta de administrador; e > no caso de usuário.
Para começar, gostaria de descrever os princípios "básicos" das equipes no EOS. Tudo é construído em três comandos e seus antônimos: criar , configurar , ativar ( excluir , desconfigurar , desativar, respectivamente). Ou seja: criamos, configuramos, ativamos. Parece lógico.
create vlan 10 configure vlan 10 ipaddress 192.168.1.1/24
Também deve ser entendido que a maioria das configurações está configurada em uma VLAN . Ou seja, no XOS, quase tudo está vinculado às VLANs. Até a atribuição de VLANs a uma porta ocorre na configuração da VLAN, ou seja, a porta está suspensa na vlan.
Eu gostaria de prestar atenção especial aos roteadores virtuais ( VR ), que estão por padrão no switch. Há VR-Default, que possui todas as portas, e VR-mgmt, que possui mgmt. porta No XOS, para todos os comandos que enviam tráfego para algum lugar (ping, ssh, telnet, download etc.), você deve especificar a VR.
ping vr "VR-Default" 192.168.1.1
Atualização do switch XOS
O XOS possui duas partições no sistema operacional: primário e secundário. Funcionalmente, eles não diferem em nada, apenas em nomes. Você pode instalar atualizações apenas na seção atualmente inativa. Você pode usar o argumento inativo para isso. Após a atualização, é necessária uma reinicialização e o switch é inicializado em outra partição (recém-atualizada). Isso permite reverter rapidamente, em caso de problemas, simplesmente escolhendo uma partição diferente na inicialização (aquela em que o antigo sistema operacional foi deixado). Também observo que todas as imagens com patches representam uma imagem completa, ou seja, você não precisa colocar a versão principal e depois algumas menores. Ao fazer o download, o tftp é usado:
download image 192.168.1.1 summitX-21.1.4.4-patch1-3.xos vr "VR-Default" inactive
Para descobrir qual seção está atualmente em uso, use:
show system … Image Selected: primary Image Booted: secondary Primary ver: 22.3.1.4 Secondary ver: 21.1.1.4
Switch Stacking
Para empilhar comutadores XOS, é necessário ativar o suporte de empilhamento e reiniciar o comutador:
enable stacking-support reboot
É muito conveniente que switches de diferentes modelos possam ser combinados em uma pilha, enquanto o switch com o desempenho mais alto será o mestre. Por exemplo, isso pode ser necessário para uma pilha de comutadores 10G com 16 portas para servidores, à qual é adicionado um comutador 1G de 48 portas, que inclui mgmt.interfaces.
Para empilhar, os comutadores devem ter a mesma versão do sistema operacional. O empilhamento é feito através de certas portas Ethernet, para cada modelo diferente, que podem ser encontradas na documentação. Se você montar os switches de acordo com o esquema de portas 1 em 2, 2 em 1, os switches Extreme poderão ser empilhados de acordo com o procedimento simplificado de empilhamento fácil, que por si só vinculará os endereços mac ao número do slot e outras configurações. Nesse caso, o primeiro será o comutador no qual você habilita a habilitação de empilhamento; o restante receberá números ao longo da cadeia. Essa é uma maneira bastante conveniente de economizar muito tempo. Após o empilhamento, as portas se parecerão com 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
A atualização da pilha é que o mestre é atualizado e, por sua vez, ele despeja a nova versão nos slots restantes. É necessário reiniciar .
Licenciamento
Cada switch vem com uma licença pré-instalada (borda, borda avançada, núcleo, etc.). Cada licença possui seu próprio conjunto de funções que podem ser ativadas no comutador, por exemplo, o número de portas que podem ser usadas no OSPF. Também há licenças para recursos individuais. Mais detalhes podem ser lidos aqui .
Uma das licenças mais comuns é o recurso: Licença dupla de 10 GB-Uplink . Esta licença para o switch switch-1G de borda permite o uso de duas portas de 10GbE. Por exemplo, no X440-G2-48p.
As licenças estão disponíveis em sua conta pessoal no site Extreme, após o qual são ativadas (sem reinicializar) e verificadas pela equipe.
enable license XXXX-XXXX show licenses
Se licenças diferentes forem usadas na pilha do comutador, a menor será usada.
Personalização
Uma pequena digressão: para ver os resultados dos comandos que serão mais baixos, bem como qualquer outra informação, na maioria dos casos você pode usar show, substituindo create e configure. Por exemplo, mostre vlan.
Dica: Ao usar show ports - o XOS criará uma tabela atualizada a cada poucos segundos, o que permite o monitoramento em tempo real do status das interfaces. Para obter a saída sem atualizar, você deve usar "show ports no-refresh".
A primeira coisa que vem à mente é configurar esse nome de host . Parece ser algo assim:
configurar o nome do host Ex_sw_1
Mas nem tudo é tão simples, de fato, é feito assim:
configure snmp sysName Ex-sw-1
Crie uma VLAN:
create vlan My_Vlan_Five tag 5
Ou então, e é exatamente assim que será exibido na configuração:
create vlan My_Vlan10 configure vlan My_Vlan10 tag 10
Considerando a experiência prática e as realidades da saída de comando e das configurações XOS, criei uma regra para mim: no nome da vlan, adicione sua tag no final, o que facilita a compreensão e a configuração:
create vlan users-10 tag 10
O XOS não possui portas de tronco e acesso em si. Em vez disso, são utilizados conceitos: tráfego marcado e não marcado em uma interface vinculada à vlan. Pode haver uma vlan sem marcação e muitas marcadas. As portas são numeradas em números (ou slot: porta na pilha), tudo é muito simples.
configure vlan My_Vlan-5 add ports 1 tagged configure vlan My_Vlan1 add ports 1 untagged
Assim, todo o tráfego sem que uma tag chegue à interface será marcado como " My_Vlan1 ".
Ao mesmo tempo, a vlan pode ser especificada via < Name > e < tag > e em qualquer combinação (usando vlan_list , ou seja, numérico por tags). Sem um atributo no final, < sem marcação > é usado:
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
Como a maioria dos comutadores da série SummitX são comutadores L3 , é assim que o SVI é configurado:
configure vlan 125 ipaddress 192.168.125.1/24
Depois disso, você precisa aplicar este comando, caso contrário, a vlan permanecerá não roteável:
enable ipforwarding vlan 125 enable ipforwarding vlan 10-50,60
Para ver o que a vlan está na interface, você pode usar o comando:
show ports 2 vlan
Para visualizar e salvar a configuração, os seguintes comandos são usados e existem arquivos de configuração primário e secundário:
save save secondary show configuration
Agregação de links
Um dos momentos desconfortáveis que conheci é a agregação de canais. (canal de porta). O ponto geral é o seguinte: você atribui uma porta mestre e até sete interfaces secundárias a ela. Além disso, todas as configurações são feitas apenas em uma porta mestre específica, não há interfaces lógicas no formato po1 . A desvantagem é que, se você deseja alterar a porta principal, deve transferir manualmente todas as configurações para outra porta, pois quando você exclui um canal agregado, toda a configuração é executada . Há uma solução para esse inconveniente neste artigo , mas ele ainda não funciona perfeitamente. No XOS, a agregação é chamada compartilhamento .
Para habilitar essa porta, você precisa usar um comando do formulário:
enable sharing [MASTER_PORT] grouping [PORT_LIST] [lacp] enable sharing 1 grouping 1-2 lacp
Na versão inferior a 22.X, é necessário adicionar o algoritmo "balancing":
enable sharing 1 grouping 1-2 algorithm address-based L2 lacp
Proteção de loop OSI Layer 2
Nos comutadores Summit-X na versão principal C 22.2, o protocolo de proteção de loop de segundo nível foi desativado por padrão. (STP e outros). No momento da redação deste artigo, o software recomendado pelo fornecedor é 21.1.5.2.
ELRP
Em um dos meus projetos, usei o protocolo ELRP proprietário, projetado para detectar e impedir loops. Durante os testes, ele mostrou bons resultados (velocidade de desligamento da porta com um loop, etc.). Este protocolo envia uma PDU multicast e, se o remetente a receber novamente, haverá um loop.
O intervalo é responsável pela frequência da distribuição da PDU, neste caso - 2 segundos. No caso de um loop, a porta será bloqueada por 180 segundos, após o que a PDU será enviada novamente. Opções de alerta: log, trap, log-and-trap. No caso de trap, o snmp trap é enviado de acordo.
Esse protocolo por vlan está configurado, assim como a maioria das configurações no XOS.
enable elrp-client configure elrp-client periodic Buh-123 ports all interval 2 log disable-port ingress duration 180
Para impedir que o protocolo ELRP bloqueie uplinks de comutadores de acesso ou conexões críticas, é utilizado o comando para remover portas do bloqueio.
configure elrp-client disable-port exclude 35 configure elrp-client disable-port exclude 1:1
STP
O STP está configurado um pouco mais complicado, mas em geral não há problemas especiais. No XOS, esse protocolo é chamado de "stpd"; em todos os comandos para configurar o STP, ele é usado. Você pode fazer isso por vlan usando diferentes domínios STP. "Domain-id" e "vlan-id" devem corresponder. As portas no STP podem ser adicionadas manualmente ou usando a ligação automática da vlan. Assim que uma porta é adicionada à vlan, essa porta é automaticamente adicionada ao STP. Essa é a lógica. Configuração de modo: 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 é um tipo de FHRP , um análogo do HSRP na Cisco. Para cada rede (vlan), é necessário usar um vrid, que pode ser de 1 a 255. Fiquei satisfeito com a capacidade de rotear o tráfego do switch backup-vrrp-L3 usando a opção de roteamento de malha. Por padrão, a prioridade é 100. Qual dos comutadores tem prioridade mais alta, torna-se "Mestre".
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
Sobre o que é e por que, está muito bem descrito aqui : é, de fato, um análogo do Cisco VPC. ISC - conexão entre switches par mlag.
No meu caso, o seguinte esquema era geralmente usado:

É necessário criar um vizinho (par) para poder atribuir portas específicas com mlag a um vizinho específico, pois o Extreme suporta a capacidade de usar vários vizinhos. Para o ISC, você precisa de uma vlan que seja usada apenas para o ISC e tenha um endereço IP. Assim, para o X670-1, teremos o X670-2 e as portas mlag serão x440. Para funcionar, é necessário criar um canal de agregação e, no x670, para uma porta para o x440, e um canal agregado para o x670-2, no qual TODOS os Vlan participarão do mlag.
No 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
Na pilha x440:
enable sharing 1:51 grouping 1:51,2:51 lacp
MLAG + VRRP
Durante o teste dos quadros de distribuição no estande, foi encontrado um problema em que o VRRP retira a função Mestre antes que todas as outras interfaces subam (o ISC sobe primeiro) e os protocolos, o que levou ao tempo de inatividade da rede da ordem de um minuto.
Esse problema foi resolvido pelos seguintes comandos, no entanto, eles estão disponíveis apenas nos "EXOS 21.1.3.7-patch1-4" e "EXOS 22.3":
configure mlag ports reload-delay 60 enable mlag port reload-delay
Encaminhamento
As rotas estáticas são definidas da seguinte forma: não deve haver problemas. Você pode definir a máscara em qualquer versão.
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
Para roteamento, na minha prática, o OSPF com uma única zona foi usado. Para garantir a operacionalidade, é necessário definir um ID de roteador e também adicionar cada vlan que precisa ser anunciada (semelhante à Cisco: rede).
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
Outras pequenas coisas
Retransmissão DHCP
Configurado da seguinte maneira:
configure bootprelay add 192.168.12.5 vr VR-Default enable bootprelay ipv4 vlan servers-500
Ao criar uma nova vlan, você deve adicioná-lo manualmente à lista de vlan com DHCP Relay.
SSH + ACL para SSH
Ssh está ativado da seguinte maneira:
enable ssh2
Para limitar o acesso ao ssh, você precisa criar um arquivo de políticas separado no formato NAME.pol e pendurá-lo no SSH.
vi ssh.pol
Política:
Entry AllowTheseSubnets { if match any { source-address 192.168.0.0 /16; source-address 10.255.255.34 /32; } Then { permit; } }
O comando para aplicar a política:
enable ssh2 access-profile ssh.pol
Descrição + seqüência de exibição
Para facilitar a configuração e a operação subsequente, você pode definir o "nome" e a "descrição" da interface.
onfigure port 1 description “this is port number one”
A descrição da interface será exibida apenas nos comandos do formulário:
show ports description
Um nome de interface substituirá quase todos os seus números na saída de comandos. O nome não deve conter um espaço e está limitado a um comprimento de 20 caracteres.
onfigure port 1 display-string UserPort EXOS-VM.8 # sh port vlan Untagged Port /Tagged VLAN Name(s)
Conclusão
O XOS também permite automatizar muitas ações e adaptar o sistema às suas necessidades, pois suporta nativamente o Python e o mecanismo interno para criar e executar scripts usando comandos de script da CLI .
Estou aberto a sugestões para melhorar o artigo e corrigir imprecisões / erros, além de perguntas.
UPD : o LLDP para telefones IP é configurado usando os comandos deste comentário .