Mostrando postagens com marcador Ether-Channel. Mostrar todas as postagens
Mostrando postagens com marcador Ether-Channel. Mostrar todas as postagens

quarta-feira, 28 de setembro de 2016

Configuração de Ether-Channel e Trunk em Roteadores Cisco

Olá Pessoal,

Assim como a configuração de agregação de interfaces físicas é uma prática comum em links tronco (trunk) de switches para fins de disponibilidade e balanceamento de carga, essa mesma configuração é igualmente importante em roteadores que fazem roteamento inter-VLAN. Para exemplificar a configuração de uma agregação de links em roteadores Cisco, utilizarei o cenário apresentado na figura abaixo em que é necessário configurar roteamento inter-VLAN entre duas sub-redes compostas por máquinas de duas VLANs diferentes, de maneira similar ao exemplo que trago no Lab06 (intitulado Configuração de Switches e VLANs) do livro Laboratórios de Tecnologias Cisco.

A diferença é que no laboratório do livro o roteador está conectado ao switch através de uma única interface física, enquanto que nesse exemplo será configurada uma agregação lógica em duas interfaces físicas do roteadores. Essa prática não só é recomendada para fins de disponibilidade em caso de falha de um dos links, mas também para obter melhor desempenho porque múltiplas VLANs estão atreladas a um único trunk entre o switch e o roteador naquilo que chamamos de router on a stick


Nas linhas abaixo trago as configurações necessárias no roteador para que o roteamento inter-VLAN funcione no cenário proposto, com destaques em amarelo para aqueles comandos que remetem à configuração da agregação propriamente dita. 

Router# configure terminal
Router(config)# interface port-channel 1
Router(config-if)# exit
Router(config)# interface range g0/0 - 1
Router(config-if-range)# channel-group 1
Router(config-if-range)# no shut
Router(config-if(range)# exit
Router(config)# interface po1.10
Router(config-subif)# encapsulation dot1q 10
Router(config-subif)# ip address 192.168.10.254 255.255.255.0
Router(config-subif)# exit
Router(config)# interface po1.20
Router(config-subif)# encapsulation dot1q 20
Router(config-subif)# ip address 192.168.20.254 255.255.255.0
Router(config-sub-if)# exit 
Router(config)# 

Para completar esse laboratório, abaixo trago as configurações do switch:

Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name VERDE
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name VERMELHO
Switch(config-vlan)# exit
Switch(config)# interface range f0/1 - 3
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)# exit
Switch(config)# interface range f0/4 - 6
Switch(config-if-range)# switchport access vlan 20
Switch(config-if-range)# exit
Switch(config)# interface range g0/1 - 2
Switch(config-if-range)# switchport mode trunk
Switch(config-if-range)# channel-group 1 mode on
Switch(config-if-range)# exit
Switch(config)# 

Façam seus testes...

Samuel. 

quarta-feira, 15 de julho de 2015

Configuração de Agregação de Links no Linux

Olá Pessoal.

Um recurso bastante comum na interconexão de dispositivos da infraestrutura e também de servidores em redes de computadores é a agregação de links (ethernet bonding), técnica que permite a criação de uma interface lógica através do acoplamento de dois ou mais canais físicos. O resultado é que o novo canal lógico pode ter maior velocidade através da soma das vazões das interfaces físicas (load balancing), além de aumentar a disponibilidade da conexão por causa dos canais físicos redundantes (failover).

Assim como nos artigos anteriores, estou considerando que o servidor está instalado com a distribuição Debian GNU/Linux (ou seus derivados, como o Ubuntu). A primeira etapa consiste na instalação do pacote denominado ifenslave para que, posteriormente, as configurações de rede do Linux ofereçam suporte à agregação de links. Essa terafa é simples e rápida através do APT:

apt-get install ifenslave

Agora basta editar o arquivo de configuração das interfaces de rede que fica localizado em "/etc/network/interfaces". Criaremos uma nova interface lógica denominada bond0 que estará vinculada às interfaces físicas eth0 e eth1, conforme destacado em amarelo nas configurações abaixo

###--- em /etc/network/interfaces

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

auto bond0
iface bond0 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    slaves eth0 eth1
    bond_mode balance-rr
    bond_miimon 100
    bond_downdelay 200
    bond_updelay 200

Em termos de configuração, é simples assim! É interessante destacar que existem vários modos de operação na agregação de links para prover serviços como disponibilidade (failover) ou balanceamento de carga (load balancing). Na configuração do campo bond_mode (destaque em azul) é possível informar os números ou nomes (entre parênteses) dos modos de operação explicados na sequência.

  • modo 00 (balance-rr) - trata-se da opção padrão em que os pacotes são transmitidos sequencialmente de maneira alternada (round-robin) entre todas as interfaces físicas, provendo ambas as funcionalidades de load balance e failover;
  • modo 01 (active-backup) - nesse modo de operação apenas uma interface física é utilizada para transmissão de pacotes, sendo que as demais ficam em espera (stand-by) até que a interface ativa venha a cair, provendo apenas a funcionalidade de failover;
  • modo 02 (balance-xor) - os pacotes são transmitidos em todas as interfaces físicas com base nos resultados de uma operação xor (ou exclusivo) entre os endereços físicos (MAC) de origem e destino, provendo ambas as funcionalidades de load balancing e failover;
  • modo 03 (broadcast) - transmite repetidamente  uma cópia dos pacotes em todas as interfaces físicas, provendo apenas a funcionalidade de failover;
  • modo 04 (802.3ad) - utiliza o protocolo dinâmico LACP (IEEE 802.3ad) para negociar automaticamente com o dispositivo vizinho (diretamente conectado) se é possível criar uma agregação lógica das interfaces físicas;
  • modo 05 (balance-tlb) - trata-se de uma forma especial de balanceamento de carga que não depende de nenhuma configuração no switch diretamente conectado, onde o tráfego de saída é distribuído entre as interfaces físicas (com base na carga de cada uma) e o tráfego de entrada chega em uma única interface ativa;
  • modo 06 (balance-alb) - trata-se de uma forma especial de balanceamento de carga que não depende de nenhuma configuração no switch diretamente conectado, onde ambos os tráfegos de saída e entrada são distribuídos entre as interfaces físicas;

A configuração da agregação de link no switch também deve ser devidamente realizada, dependendo do modo utilizado. A agregação lógica  de links físicos em switches Cisco Catalyst é denominada Port-Channel (ou Ether-Channel) e bastante simples de ser realizada manualmente, por exemplo através dos comandos abaixo para criar uma nova interface lógica po1 (f0/1 + f0/2).

Switch(config)# interface range f0/1 - 2
Switch(config-if)# channel-group 1 mode on

Obs.: Caso o Linux tenha sido configurado com bond_mode 802.3ad (modo 4), recomendo a leitura abaixo para configuração do protocolo dinâmico LACP (IEEE 802.3ad) no switch.

http://www.cisco.com/c/en/us/td/docs/ios/12_2sb/feature/guide/sbcelacp.html#wp1053817

Façam seus testes...

Samuel.

quinta-feira, 14 de março de 2013

Configuração de Switch Multi-Layer (Layer-3)

Olá Pessoal.

Nesse experimento o leitor aprenderá a configurar um Switch Multi-Layer (Layer-3) com algumas das principais características que diferenciam esse equipamento dos switches convencionais. Os switches multi-layer conseguem desempenhar tarefas de conectividade de redes locais que fazem os tradicionais swiches, além de serem capazes de realizar o roteamento de tráfego inter-redes que somente roteadores podem fazer.

Além disso, o desempenho de um switch multi-layer é "sempre" melhor do que o de qualquer roteador tradicional porque esses switches multi-layer têm alto desempenho, realizando todas as suas tarefas eletronicamente em hardware cuidadosamente projetado para esse fim. 



No cenário apresentado na figura acima é possível observar que existem quatro switches de acesso conectando suas respectivas máquinas terminais e existem duas VLANs (10 e 20). Os switches de acesso estão conectados a um Switch Multi-Layer que é responsável pela distribuição da conectividade entre toda a rede, além de realizar o roteamento inter-VLAN.

Uma característica interessante desse cenário é que os endereços de todas as máquinas da sub-rede 192.168.10.0/24 (associada à VLAN-10) e 192.168.20.0/24 (associada à VLAN-20) são distribuídos automaticamente via DHCP. Via de regra, como o serviço de DHCP funciona através do envio de broadcasts na rede para localizar um servidor, teríamos que ter um servidor DHCP exclusivo para cada sub-rede. No entanto, essa seria uma opção cara e inviável num ambiente com mais VLANs.

Para sanar esse problema o servidor DHCP será instalado em uma sub-rede administrativa à parte das sub-redes 192.168.10.0/24 e 192.168.20.0/24. Essa sub-rede estará vinculada à VLAN-1 (padrão) e para permitir que o tráfego de broadcast gerado pelas máquinas no momento da solicitação de endreços chegue até o servidor, é necessário configurar uma função denominada relay-agent no switch/roteador para que ele saiba que deve reencaminhar todo tráfego de broadcast até o endereço específico do servidor DHCP na rede admnistrativa.   

Cabe destacar que o servidor DHCP utilizado nesse laboratório já está devidamente configurado com os escopos corretos para oferecer endereços às sub-redes. O servidor também já possui um IP 192.168.0.1/24 atribuído a ele e seu gateway está configurado como sendo o endereço 192.168.0.254. Ou seja, a interface do switch que está conectada ao servidor terá que ser configurada para ser uma porta roteável (layer-3) capaz de receber esse IP.

Isso só pode ser feito em switches multi-layer que têm suporte a diferentes tipos de portas, o que torna esse equipamento bastante versátil. As portas de um switch multi-layer podem ser:

  • Porta de Camada 2: Essa é a porta convencional que possui as funcionalidades básicas de qualquer porta de um switch, por isso ela também é chamada e switchport. Por padrão, as portas dos switches multi-layer sempre estão nesse modo, exceto em equipamentos de maior porte utilizados no núcleo de grandes redes;
  • Porta de Camada 3: Através do comando "no switchport" na configuração da interface é possível transformá-la em uma porta de roteador, ou seja, uma porta roteável em que podemos configurar um IP. Por isso podemos dizer que um switch multi-layer é um roteador com alta densidade de portas, já que todas as suas portas podem rotear.
  • Porta Virtual de VLAN: Esse modo é interessante porque permite a criação de uma interface virtual vinculada a uma determinada VLAN, de maneira que essa interface lógica pode ser configurada com um IP que será o gateway de todas as máquinas que são membros dessa VLAN.

Obs.: Para que o leitor possa compreender melhor a aplicação prática de cada um desses tipos de portas, nesse laboratório serão configuradas todas essas opções.

Configuração do Switch Multi-Layer (Layer-3)

A configuração do Switch Multi-Layer no nosso cenário envolve vários aspectos e por isso exemplificarei essa configuração em etapas distintas para que o leitor compreenda melhor qual tarefa está associada com cada bloco de comandos.

Se observamos o comportamento do STP (Spanning Tree Protocol) depois que os switches já estão estáveis, é fácil identificar que o Switch DSW não foi eleito o switch raiz da rede. Com o intuito de criar uma rede robusta e simétrica com o melhor desempenho possível, faremos a configuração manualmente da prioridade do DSW para que ele seja o novo raíz da rede (spanning-tree vlan ID priority 0), conforme pode ser observado no primeiro bloco de comandos.

Apesar de switches multi-layer serem capazes de rotear entre redes, normalmente esse comportamento não está ativado por padrão e utilizaremos o comando "ip routing" para permitir explicitamente que ele faça roteamento entre as redes presentes em sua tabela de roteamento. Aproveitaremos essa etapa para já realizar as principais configurações de hostname, desativação da resolução de nomes, definição de um domínio de switches, criação de VLANs que serão utilizadas, etc. Caso o leitor não tenha conhecimento dessas configurações básicas, recomendo leitura prévia do Lab06 do livro "Laboratórios de Tecnologias Cisco"!

Switch> enable
Switch# configure terminal
Switch(config)# hostname DSW
DSW(config)# no ip domain lookup
DSW(config)# ip routing
DSW(config)# vtp mode server
DSW(config)# vtp domain AULA
DSW(config)# vtp password SENHA
DSW(config)# vlan 10
DSW(config-vlan)# name VLAN-10
DSW(config-vlan)# vlan 20
DSW(config-vlan)# name VLAN-20
DSW(config-vlan)# exit
DSW(config)# spanning-tree vlan 1,10,20 priority 0
DSW(config)#

Depois de realizadas essas configurações iniciais, na sequência converteremos a interface f0/10 (conectada ao servidor DHCP) para uma porta roteável (no switchport) e então atribuiremos a ela o endereço 192.168.0.254/24, já que esse foi o endereço de gateway configurado no servidor. Também criaremos duas interfaces lógicas vinculadas a cada uma das VLANs (interface vlan) do laboratório e configuraremos em cada uma delas um endereço IP que será o gateway das sub-redes associadas a suas respectivas VLANs. 

Nas interfaces lógicas também utilizaremos o comando "ip helper-address" para redirecionar o tráfego de broadcast gerado nas respectivas VLANs até o endereço do Servidor DHCP. Finalmente configuraremos as interfaces de f0/1 até f0/5 que interligam os demais switches de acesso para carregarem informações de todas s VLANs, em modo trunk.

DSW> enable
DSW# configure terminal
DSW(config)# int f0/10
DSW(config-if)# no switchport
DSW(config-if)# ip address 192.168.0.254 255.255.255.0
DSW(config-if)# int vlan 10
DSW(config-if)# ip address 192.168.10.254 255.255.255.0
DSW(config-if)# ip helper-address 192.168.0.1
DSW(config-if)# int vlan 20
DSW(config-if)# ip address 192.168.20.254 255.255.255.0
DSW(config-if)# ip helper-address 192.168.0.1
DSW(config-if)# int range f0/1 - 5
DSW(config-if-range)# switchport trunk encapsulation dot1q
DSW(config-if-range)# switchport mode trunk       

Obs.: A partir desse ponto o leitor pode utilizar o comando "show ip route" para exibir a tabela de rotas do switch multi-layer e constatar que já existem as sub-redes referentes às interfaces em que atribuímos IPs.

Para finalizar, repare que na interligação entre o DSW e o ASW4 utilizamos dois links redundantes de propósito para que possamos agora configurar uma agregação dos dois links, formando uma porta lógica (denominada port-channel) equivalente à soma das duas interfaces físicas, conforme comandos na sequência.

Isso é interessante para garantir maior largura de banda entre os switches através do balanceamento de carga entre os links físicos. Como o STP bloqueia uma das portas para evitar a ocorrência de loops, então um dos links físicas fica ocioso, o que pode ser ruim do ponto de vista de desempenho na rede. 

DSW> enable
DSW# configure terminal
DSW(config)# int range f0/4 - 5
DSW(config-if-range)# channel-group 1 mode on
DSW(config-if-range)# end
DSW#   

Obs.: Criaremos a port-channel manualmente e repare que repetiremos esse procedimento posteriormente nas portas f0/23 e f0/24 do ASW4. Também é interessante reparar que depois que criamos a porta lógica agregada, então o STP não bloqueia mais nenhum dos links individuais, já que para ele somente existe a porta lógica a partir dessa configuração...

Feitos os procedimentos anteriores, então nosso switch multi-layer está devidamente configurado. Na próxima etapa faremos as configurações dos demais switches de acesso para associar suas portas às suas respectivas VLANs.

Configuração dos Switches de Acesso Convencionais

A configuração dos demais switches de acesso é bastante simples e se resume apenas à inserção deles no domínio AULA (VTP) e à associação das portas com suas respectivas VLANs. Especificamente no ASW4 esteremos configurando manualmente a agregação com o DSW. Essas configurações são todas trazidas nos blocos abaixo:

Switch> enable
Switch# configure terminal
Switch(config)# hostname ASW1
ASW1(config)# no ip domain lookup
ASW1(config)# vtp domain AULA
ASW1(config)# vtp mode client
ASW1(config)# vtp password SENHA
ASW1(config)# interface f0/24
ASW1(config-if)# switchport mode trunk
ASW1(config-if)# interface f0/1
ASW1(config-if)# switchport mode access
ASW1(config-if)# switchport access vlan 10
ASW1(config-if)# interface f0/2
ASW1(config-if)# switchport mode access
ASW1(config-if)# switchport access vlan 20
ASW1(config-if)# end
ASW1#       

Switch> enable
Switch# configure terminal
Switch(config)# hostname ASW2
ASW2(config)# no ip domain lookup
ASW2(config)# vtp domain AULA
ASW2(config)# vtp mode client
ASW2(config)# vtp password SENHA
ASW2(config)# interface f0/24
ASW2(config-if)# switchport mode trunk
ASW2(config-if)# interface f0/1
ASW2(config-if)# switchport mode access
ASW2(config-if)# switchport access vlan 10
ASW2(config-if)# interface f0/2
ASW2(config-if)# switchport mode access
ASW2(config-if)# switchport access vlan 20
ASW2(config-if)# end
ASW2#        

Switch> enable
Switch# configure terminal
Switch(config)# hostname ASW3
ASW3(config)# no ip domain lookup
ASW3(config)# vtp domain AULA
ASW3(config)# vtp mode client
ASW3(config)# vtp password SENHA
ASW3(config)# interface f0/24
ASW3(config-if)# switchport mode trunk
ASW3(config-if)# interface f0/1
ASW3(config-if)# switchport mode access
ASW3(config-if)# switchport access vlan 10
ASW3(config-if)# interface f0/2
ASW3(config-if)# switchport mode access
ASW3(config-if)# switchport access vlan 20
ASW3(config-if)# end
ASW3#        

Switch> enable
Switch# configure terminal
Switch(config)# hostname ASW4
ASW4(config)# no ip domain lookup
ASW4(config)# vtp domain AULA
ASW4(config)# vtp mode client
ASW4(config)# vtp password SENHA
ASW4(config)# interface range f0/23 - 24
ASW4(config-if-range)# switchport mode trunk
ASW4(config-if-range)# channel-group 1 mode on
ASW4(config-if-range)# interface f0/1
ASW4(config-if)# switchport mode access
ASW4(config-if)# switchport access vlan 10
ASW4(config-if)# interface f0/2
ASW4(config-if)# switchport mode access
ASW4(config-if)# switchport access vlan 20
ASW4(config-if-range)# end
ASW4#      

Ótimo! Agora que já foram realizados os passos anteriormente descritos nessa atividade de laboratório, é de se esperar que o leitor tenha uma melhor compreensão dos aspectos práticos que envolvem a configuração de um Switch Multi-Layer (Layer-3). Os comandos abaixo podem ser utilizados para verificar o status das configurações:

Switch# show vlan
Switch# show interface trunk
Switch# show ip interface brief
Switch# show ip route
Switch# show ether-channel summary
Switch# show ether-channel port-channel 
  
Abraço.

Samuel.