FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD
 
23.04  
Inicio arrow Artigos arrow Redundncia de Link com FreeBSD + carp + ifstated
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Redundncia de Link com FreeBSD + carp + ifstated PDF Imprimir E-mail
Por Tiago Ribeiro de Oliveira   
13/10/2008
Tiago Ribeiro nos trás um artigo de como preparar uma redundância de links, onde visa obter uma alta disponibilidade do link, em caso de algum problema com um ou mais links existentes. Utilizando uma das combinações mais conhecidas para esta ação, ele nos mostra de forma prática e rápida como fazer.

Primeiramente, quero mostrar o que abordo ou não neste documento:

Não abordo:

- Como instalar o FreeBSD;
- Como atualizar o FreeBSD;
- Regras de firewall;
- Aprofundamento técnico.


Abordo:

- Configurando o kernel;
- Configurando o CARP;
- Introdução ao Ifstated.


Ferramentas:

- 2 Computadores e 4 Placas de rede;
- 2 Links de 2 provedores diferentes;
- FreeBSD 7.0;
- Pesquisa, e testes.


Onde procurei:

- Google é seu amigo;
- FUG - http://www.fug.com.br/content/view/124/77/
- HandBook FreeBSD

Começando

- Instalar o FreeBSD nos 2 computadores;
- Atualizar os fontes;
- Inserir a linha no KERNCONF:

device carp

- Atualizar o FreeBSD;
- Inserir regras no PF para nat, roteamento e segurança.

Visualização do Ambiente

LINK PROVEDOR EMBRATEL = LEM
LINK PROVEDOR OI = LOI
ROUTER EMBRATEL = REM
ROTER OI = ROI
xl0 = Interface de rede externa
xl1 = Interface de rede interna
carp0 = Interface de rede virtual

Onde o LEM é o principal e LOI somente será utilizado caso LEM entre em inatividade.



Nas estações da rede local o gateway é o endereço 192.168.1.254, também configurei o DNS nos dois servidores configurando o DNS das estações para 192.168.1.254.


As configurações:

/etc/sysctl.conf:

net.inet.carp.allow=1
net.inet.carp.preempt=1
net.inet.carp.log=1
net.inet.carp.arpbalance=1


CARP:

- /etc/rc.conf do SRV01 adicionar as linhas:

cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 advskew 1 pass SENHAXXX 192.168.1.254"


- /etc/rc.conf do SRV02 adicionar as linhas:

cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 advskew 2 pass SENHAXXX 192.168.1.254"


Explicando:

vhid = indica qual o grupo a interface carp vai participar
advskew = qual o nivel de poder deste servidor quanto mais baixo maior o nivel 1>2 entao 1=MASTER
pass = qual a senha para o grupo "vhid"
192.168.1.254 = endereco ip do CARP


#man carp


IFSTATED

Instalando em SRV01 e configurando /usr/local/etc/ifstated.conf

# cd /usr/ports/net/ifstated && make install

# cat /usr/local/etc/ifstated.conf

init-state master # estado inicial
if_up="xl0.link.up" # esta opcao não funcionou para mim, o estado da conexao não mudou
net = '( "ping -q -c 1 -t 1 200.200.200.2 > /dev/null" every 3 )' # faz um ping para o endereco do GW de LEM a cada 3 segundos.

state master {
if ( $net) {
run "ifconfig carp0 vhid 1 advskew 1 pass CarpLan 192.168.1.254"
}
if ( ! $net) {
run "ifconfig carp0 vhid 1 advskew 5 pass CarpLan 192.168.1.254"
}
}
# state master é a indicação do estado
# if ( $net ) se o comando que foi indicado no inicio como ping estiver OK o carp # deste SRV01 continua com advskew 1 e continua como MASTER
# se ( ! $net ) se o comando der erro, o advskew vai para 5 e este servidor passa # ser BACKUP


Conclusões

Quando o LEM sai do ar, ifstated em no máximo 3 segundos faz a troca do link, com isto há uma leve queda na conexão, não foi possivel utilizar o pfsync para transferir o estado de conexao pois estou saindo por links diferentes, então um download ou uma ligação VOIP será cortada, mas a conexao é reestabelecida em menos de 5 segundos.

Bem, fica por aqui a primeira postagem com informações utéis, espero ajudar.

Comentrios
bom artigo
Por Renato em 20/10/2008 09:56:20
Esse foi um boa artigo !!! 
 
Uma dvida, nesse artigo temos a redundncia de link e maquinas, no caso de apenas uma maquina o ifstated nao poderia so trocar o gw para o do outro link
XISOJBAZA
Por Damian em 18/03/2012 20:21:19
??? ?? ??????, ???? ? ???????? ?????? perl-5.12 ???-???? ?????, ?.?. ? ??????? ?? ??????????????? ?????? ? ????, ? ??? ???? ??? ??????? ? ??????env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.14 -f perl-5.12.\*


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 19/10/2008 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:

No editor de textos vi(1), para remover os ^M de arquivos MS-DOS (Windows), use:

:g/^V^M/s//

 

 






Wallpapers
Sua Opiniao
Online:
Ns temos 18 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.