Você está na página 1de 26

DeepDay 2015

facebook.com/groups/facimplinux

ImperatriX hackerspacema
groups.google.com/group/hackerspacema

www.escolahacker.com.br
DeepDay 2015

Servidores de Alta-Performance: Links


agregados de Internet com balanceamento
de WAN.

Prof. Esp. Paulo Henrique S. Barbosa

facebook.com/groups/facimplinux

ImperatriX hackerspacema
groups.google.com/group/hackerspacema

www.escolahacker.com.br
root@server~#: whoami

Prof. Esp. Paulo Henrique Sousa Barbosa


– Analista de Sistemas e Esp. em Segurança de
Redes e Computadores.
Site EAD: www.escolahacker.com.br
Contato: agenteph@gmail.com
ph@escolahacker.com.br
Agenda
● Sobre o Mini-Curso;
● Funcionamento de WAN Balance;
● NIC Bonding;
● Preparação dos requisitos;
● Instalação e Configuração;
● Teste do ambiente.
Sobre o Mini-Curso

● Temos internet para todos os lados, seja em


Fibra Ótica, Rádio ou por modens em
residências e em empresas.
● Com tantas opções e variedades no mercado
temos uma justificativa muito grande de
gerenciar tudo isso, agregando essas opções
para manter nossas informações protegidas e
sempre “on demand” ou online.
● Em cenários antigos, tinhamos sempre um
“link” de internet para um ambiente
inteiro, já nos dias atuais podemos
utilizar dois ou mais desses links juntos,
que combinados, geram uma eficiência muito
grande.
Sobre o Mini-Curso

● Este mini-curso traz a oportunidade de


fornecer uma maneira simples e de fácil
configuração de agregação de múltiplas
interfaces de rede, fornecendo uma única
interface vinculada.
● Assim, teremos uma solução de
balanceamento, gerenciamento e integridade
de nossos serviços.
● Vamos utilizar Software Livre e duas placas
de rede vinculadas, podendo ser até mais de
duas.
Funcionamento de WAN Balance

● WAN Balancer melhora o desempenho da rede,


espalhando o seu tráfego através de
múltiplas conexões de internet.
● Cada interface WAN requer uma placa de rede
dedicada no servidor.
● Permite melhorar o rendimento total da sua
rede , aproveitando vários ISPs.
● Envie tráfego sobre IPs específicos usando
porcentagens e forçando os computadores ou
servidores para usar um ISP específico.
NIC Bonding

● Linux utiliza um módulo de kernel especial


chamado de Bonding para permitir aos
computadores ligar várias interfaces de
rede em um único canal.
● NIC Bonding pode também ser chamado NIC
Teaming.
● NIC Teaming apresenta uma solução
interessante para redundância e alta
disponibilidade em computação de Servidores
/ Estações de Trabalho.
● Com a capacidade de ter várias placas de
rede, o administrador pode criar um tubo
maior para o tráfego através do servidor.
NIC Bonding

● Então, vamos usar NIC Bonding ou NIC


Teaming.
● O software conhecido como ifenslave será
usado para ativar e desativar NICs no
servidor.
● O Bonding torna-se então o serviço de rede
que faz interface com o Kernel Linux,
usando fisicamente os dispositivo reais de
rede (eth0, eth1, etc), agregando todos em
uma só interface.
NIC Bonding
Preparação dos requisitos

● Usaremos uma Distribuição Linux:


– Máquina VirtualBOX;
– Ubuntu 15.04;
– Duas placas de Rede (Bridge / NAT).
Preparação dos requisitos

● Agora vamos instalar nosso ifenslave.


# apt-get install ifenslave
Preparação dos requisitos

● Com o sistema instalado e o ifenslave vamos


verificá-lo.
● Precisamos do módulo ativos no sistema.
● Vamos usar o comando abaixo para ver se
temos o módulo ativo.
# modprobe bonding
Preparação dos requisitos

● Ok, tudo pronto. Vamos entender agora como


funciona os módulos.
– Cada módulo vai agir diferente no vinculo
das placas de rede.
– O ifenslave tem basicamente 6 modos de
uso.
● Modo 0: Round-Robin (RR)
– Neste primeiro modo, os pacotes passam
por cada interface. O primeiro pacote em
eth0, o segundo em eth1 e assim
sucessivamente.
Preparação dos requisitos

● Modo 1: Active Backup


– Esse módulo vai agir de uma forma de
backup. Sendo que uma interface seria a
principal, caso esta interface parasse de
funcionar a outra entraria em ação.
● Modo 2: XOR Balanceado
– Aqui, vai trabalhar com verificar de MAC
nas passagens entre origem e destino.
Esse modo garante tolerância a falha e
balanceamento. Pode utilizar algoritmo
hash para alternar políticas de envio e
recebimento.
Preparação dos requisitos

● Modo 3: Broadcast
– Todas as placas receberão broadcast para
todas as interfaces escravas. Gera assim,
uma tolerância a falhas. Todas as placas
entram no processo dos pacotes em tempo
real.
● Modo 4: IEEE 802.3ad Dynamic link aggregation
– Este módulo é o mais característico, pois
depende que os ativos (switchs) façam
parte do processo para agregar os links.
Compartilha a mesma velocidade e modos
duplex da conexão. Geramos tolerância a
falhas e mais banda de rede.
Preparação dos requisitos

● Modo 5: Transmit Load Balancing (TLB)


– Esse módulo é interessante. O tráfego nas
interfaces principais estará normal, mas
caso seja necessário mais tráfego, ativa
os escravos e ainda calculo melhor o
método de rota para enviar e receber.
● Modo 6: Adaptive Load Balancing (ALB)
– Muito parecido com o modo 5, porém usa
balanceamento de tráfego mais efetiva.
Instalação e Configuração

● Além de habilitar o pacote ifenslave e


habilitar o módulo bonding precisamos nos
certificar que durante o boot do sistema o
módulo continue sendo executado.
# echo “bonding” > /etc/modules
Instalação e Configuração

● Vamos agora configurar as interfaces de


rede no arquivo abaixo e adicionar nossa
interface bonding.
# nano /etc/network/interfaces
● Adicione as linhas:
auto eth0
iface eth0 inet dhcp
bond-master bond0
bond-primary eth0
auto eth1
iface eth1 inet dhcp
bond-master bond0
Instalação e Configuração

● Vamos agora configurar as interfaces de


rede no arquivo abaixo e adicionar nossa
interface bonding.
# nano /etc/network/interfaces
● Adicione as linhas:
auto bond0
iface bond0 inet dhcp
bond-mode 1
bond-slaves none
bond-miimon 100
#bond-downdelay 300 # caso necessário.
#bond-updelay 300 # caso necessário.
Instalação e Configuração

● Caso for utilizar endereçamento estático:


auto bond0
iface bond0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 200.176.2.10
bond-mode 1
bond-slaves none
bond-miimon 100
#bond-downdelay 300 # caso necessário.
#bond-updelay 300 # caso necessário.
Instalação e Configuração
Testando o ambiente

● Para testar se tudo está ok, podemos


reiniciar a rede ou simplesmente reiniciar.
# /etc/init.d/networking restart
ou # reboot
● Visualize se está tudo ok:
# cat /proc/net/bonding/bond0
● Para acompanhar as alterações:
# tail -f /var/log/syslog
Testando o ambiente
Conclusão...

● Podemos usar ferramentas agora e testar


todas as interfaces.
– Podemos usar mais interfaces como slave.
– Podemos usar mais de um servidor para um
ambiente Bonding.
DeepDay 2015

Servidores de Alta-Performance: Links


agregados de Internet com balanceamento
de WAN.

Prof. Esp. Paulo Henrique S. Barbosa

facebook.com/groups/facimplinux

ImperatriX hackerspacema
groups.google.com/group/hackerspacema

www.escolahacker.com.br

Você também pode gostar