Pular para o conteúdo

Trabalhando com CARP nos BSD's

Descubra como utilizar o protocolo CARP e aplicar redundâncias em servidores FreeBSD e OpenBSD. CARP funciona basicamente assim: em caso de falhas de hardware, uma segunda máquina é colocada para trabalhar no lugar daquela que apresentou problema.
Neriberto neriberto
Hits: 44.998 Categoria: Linux Subcategoria: Firewall
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

Antes de entrarmos no assunto, quero deixar claro que escrevi este artigo pois li o artigo Alta disponibilidade com IP compartilhado - UCARP do nosso amigo allangood e fiquei interessado na solução.

Pesquisando sobre o assunto cheguei nos BSD's (linuxers, não me apedrejem, eu não virei a casaca... brincadeira). E caso vocês queiram usar o CARP com BSD, esta aí.

O segundo motivo é que eu queria fazer isto com o FreeBSD, porém não sabia como recompilar/preparar o sistema para o CARP e tive que descobrir sozinho, pois não achei nenhuma referência na internet, apenas para o OpenBSD.

Um pouco sobre o protocolo CARP


CARP (Common Address Redundancy Protocol) é um protocolo que permite que múltiplos hosts (até 255) em uma rede local compartilhem de um mesmo endereço IP. Algumas de suas funcionalidades são similares ao VRRP, mas o CARP difere em alguns aspectos significantes: CARP foi desenhado para prover segurança e ser um protocolo independente (assim ele pode suportar IPv4 e IPv6), pode-se trabalhar com load balancing e com isto alta disponibilidade.

CARP, cujo desenvolvimento foi iniciado pelo projeto OpenBSD há cerca de dois anos, foi implementado no FreeBSD de forma nativa a partir da versão 5.4. Saiba mais a respeito do CARP através do site.

O que quero mostrar com este artigo é: como preparar os sistemas para trabalhar com o protocolo CARP e como configurá-lo. Embora seja nativo no FreeBSD, a partir da versão 5.4 ainda é preciso recompilar seu kernel para que o mesmo trabalhe com o CARP, porém no OpenBSD já é possível configurar as interfaces sem precisar recompilar o kernel.

Após preparar o sistema (instalação/recompilação do kernel), a única coisa que precisamos fazer é configurar as interfaces de rede e para que possamos fazer testes e ver seu funcionamento, precisaremos de pelo menos 2 máquinas com 2 IPs válidos na internet e conseqüentemente 2 IPs para a rede interna ou LAN.

Se você ainda não entendeu, acalme-se :), o que o protocolo CARP permite trocando em miúdos é: em caso de falhas de hardware, colocar uma segunda máquina para trabalhar no lugar daquela que apresentou problema.

Digamos que tenhamos duas máquinas.

Máquina 1 (master): 192.168.0.1
Máquina 2 (backup): 192.168.0.2

A máquina 1 é a principal ou master, é o gateway da rede, porém nossas estações estão configuradas para acessar o gateway pelo IP 192.168.0.254, então logo se tentarmos acessar a internet, as estações não irão acessar.

Então vamos usar o protocolo CARP para criar uma segunda interface de rede com o IP 192.168.0.254 e dizer que a máquina é a "master" e a máquina 2 é a "backup". se a 1 falhar a 2 assume e quando a 1 voltar a funcionar, ela fica como backup da 2 até haver falha.

Vamos para a prática?

OBS: Caso você não tenha duas máquinas, é possível criar um ambiente de testes com o VMware por exemplo.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Preparando o FreeBSD
   3. Configurando as interfaces de rede
   4. Considerações finais

Mascarando conexões PPTP de clientes

Consultando servidores SNMP com PHP

Metodologia de Proxy Parcial

Revisão atualizada de instalação do Iptables com Layer7

Firewall bridge + iptables + layer7 + ipp2p

Shorewall - Firewall passo a passo no Linux

Iptables em modo gráfico

#1 Comentário enviado por fernandofat em 27/10/2005 - 08:19h
Olá amigo e parabéns pelo artigo!!!!

Achei o assunto bastante interessante....

Gostaria de aplicar este protocolo em meus servidores, porém utilizo apenas servidores Linux, existem alguma limitação para instalação do CARP no GNU/Linux ?

[]'s

Fernando

#3 Comentário enviado por neriberto em 31/10/2005 - 11:25h
Errata

Quero pedir desculpas por um erro e ao mesmo tempo agradecer ao amigo Diogo por ter percebido

ao invês de colocarem "option carp" coloquem "device carp"

Mais uma vez desculpem,

[]'s
#4 Comentário enviado por maxrafa em 15/07/2016 - 14:07h
mas isso o VRRP, HSRP, GLBP já faz há muito tempo.

Contribuir com comentário

Entre na sua conta para comentar.