Sei sulla pagina 1di 4

sbado,11deabrilde2015

RoteamentoDinmiconoLinuxUsandooQuagga
OlPessoal,
Quagga um software open source para ambientes Unix (Linux, FreeBSD, Solaris, etc) que prov
suporteaosprincipaisprotocolosderoteamentodinmicoabertos:RIPv2(IPv4),RIPng(IPv6),OSPFv2
(IPv4), OSPFv3 (IPv6) e BGP4 (famlias IPv4 e IPv6). O software especializado em roteamento foi
desenvolvidoporKunishiroIshiguroeatulmenteestnaverso0.99.24.OQuagganaverdadeuma
sute composta por um daemon principal denominado zebra, alm de outro daemons adicionais
responsveis
por
cada
um
dos
protocolos
de
roteamento
dinmico,
a
destacar:ripd,ripngd,ospfd,ospf6debgpd,almdeoutros.UmdetalhequeosuporteaOSPFv3
paraIPv6aindanoconsideradoestvelporquepossuiproblemas.

EmborahajaoutrassoluesopensourcederoteamentonoLinux,aexemplodoBIRDedoXORP,o
Quagga uma das solues mais populares porque sua interface de linha de comando bastante
similaraosistemaIOSdaCisco,oquetornasuaoperaonaturalparaaquelesquejtrabalhamcom
caixas da Cisco. O objetivo deste artigo listar os passos necessrios para instalar o Quagga e
manipular seus principais arquivos de configurao para reproduzir aquelas configuraes de
roteamentodinmicotradicionalmenterealizadasnosroteadoresCisco.Porissonossofocoestna
ferramentaemsi,nonasconfiguraesderoteamentopropriamenteditas.
AprimeiraetapaconsistenainstalaodoQuagga,tarefabastantesimpleserpidaatravsdoAPT
emdistribuiesLinuxbaseadasnoDebian:
root@Router:/#aptgetinstallquagga
Observao:Antesdefazerqualquerconfiguraoderoteamento,importantelembrarqueoLinux
nosecomportacomoroteadorporpadro,negandotodooencaminhamentodepacotesentreredes
distintas.ParainstruirokerneldoLinuxapermitirroteamentoentreredes,tantoemambientesIPv4
comoIPv6,podemosutilizaroscomandosabaixo:
root@Router:/#echo"1">/proc/sys/net/ipv4/ip_forward
root@Router:/#echo"1">/proc/sys/net/ipv6/conf/all/forwarding
Depois de instalado, os arquivos de configurao ficam armazenados em /etc/quagga. Uma boa
prtica para facilitar as configuraes futuras criar um diretrio dentro do prprio diretrio de

configuraes (/etc/quagga) com exemplos dos arquivos de configurao (disponveis na


documentao) para cada um dos daemons, procedimento que pode ser realizado atravs dos
comandosabaixo:
root@Router:/#mkdir/etc/quagga/examples
root@Router:/#cp/usr/share/doc/quagga/examples/*/etc/quagga/examples
Oprimeiroarquivodeconfiguraoimportantequeficaem/etc/quaggadenomindodaemons.Esse
arquivo bastante simples e deve ser editado para permitir aqueles daemons associados com os
protocolosderoteamentodinmicoqueoadministradorpretendeconfigurarnarede.Porexemplo,se
queremos configurar o OSPF na rede, temos que ativar os daemons zebra (a base do Quagga) e
oospfd(responsvelpeloOSPF).
#em/etc/quagga/daemons
#Thisfiletellsthequaggapackagewhichdaemonstostart
zebra=yes
bgpd=no
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
Sempre que houver alguma alterao nesse arquivo ou nos demais arquivos de configurao do
Quagga,oserviodeveserreinicializadoparaqueasalteraessejamaplicadas,procedimentoque
podeserrealizadoatravsdocomandoabaixo:
root@Router:/#/etc/init.d/quaggarestart
Osdemaisarquivosdeconfiguraoexistentesnodiretrio/etc/quaggavodependerdosprotocolos
de roteamento dinmico que sero utilizados na rede. Continuando com o exemplo do OSPF,
precisamoscriardoisarquivosdeconfiguraoquepodemsercopiadosapartirdaquelediretriode
exemplos.Almdisso,interessantededicarumusurio/grupoparaaferramentaeimportantedar
os devidos privilgios de acesso para que as configuraes possam ser devidamente interpretadas
peloSO:
root@Router:/#cp/etc/quagga/examples/zebra.conf/etc/quagga
root@Router:/#cp/etc/quagga/examples/ospfd.conf/etc/quagga
root@Router:/#chownquagga.quagga/etc/quagga/*.conf
root@Router:/#chmod640/etc/quagga/*.conf
Seestivssemostrabalhandocomoutrosprotocolosderoteamentoserianecessriocriarorespectivo
arquivodeconfiguraoassociadoaodaemon,porex.:ripd.conf(RIP),ripngd.conf(RIPNG),bpgd.conf
(BGP4)eospf6d.conf(OSPFv3).Asconfiguraesderoteamentodinmicosorealizadasatravsde
edio nos arquivos de configurao (.conf). Outra opo deixar o arquivo de configurao em
brancoparaqueasconfiguraessejamposteriormenterealizadasviainterfacedelinhadecomando
(acessotelnet),similaroqueocorrenascaixasCisco.CadadaemondoQuagga,quandoexecutado,
passaaresponderacessostelnetdolocalhostemsuasrespectivasportaspadres,queso:
2601zebra
2602ripd
2603ripng
2604ospfd
2605bgpd
2606ospf6d
Ouseja,paraconfiguraroOSPFnamquinaLinuxexecutandooQuaggabastaeditarmanualmenteo
arquivoospfd.confoumesmorealizarumacessotelnetaolocalhostnaporta2604,lgicaquevale
para o daemon zebra na configurao de roteamento esttico (e configuraes gerais) e para os
demaisdaemonsassociadosaosoutrosprotocolosderoteamentodinmico:

root@Router:/#telnetlocalhost2604
Por padro, o acesso telnet aos daemons do Quagga somente so permitidos atravs do prprio
localhost. Para permitir esse acesso atravs de outras mquinas da rede, o arquivo de
configurao/etc/quagga/debian.conf tem que ser editado para permitir outros endereos. Por
exemplo, no arquivo de configurao abaixo estamos permitindo acesso telnet
aosdaemonszebraeospfdtambmapartirdohost192.168.100.11,almdolocalhost(127.0.0.1).
#em/etc/quagga/debian.conf
vtysh_enable=yes
zebra_options="daemonA127.0.0.1192.168.100.11"
bgpd_options="daemonA127.0.0.1"
ospfd_options="daemonA127.0.0.1192.168.100.11"
ospf6d_options="daemonA127.0.0.1"
ripd_options="daemonA127.0.0.1"
ripngd_options="daemonA127.0.0.1"
isisd_options="daemonA127.0.0.1"
Outrodetalheimportantequeessaconfiguraoviatelnetatravsdalinhadecomandoacabasendo
ruimnaprticaporqueficafragmentadapordaemon,ouseja,paraconfiguraesrelacionadasarotas
estticastemosquerealizarumacessotelnetnaporta2601(zebra),enquantoquepararealizaras
configuraes do OSPF temos que fazer outro acesso telnet na porta 2604 (ospfd). Para contornar
essa dificuldade, existe uma ferramenta integrada de linha de comando denominada vtysh que
permitimosnaprimeiralinhadeconfiguraodoexemploanterior(vtysh_enable=yes).
A ferramenta vtysh salva todas as configuraes realizadas via linha de comando em um arquivo
nico denominado Quagga.conf. Para organizar melhor as configuraes dos daemons individuais,
podemos definir nas configuraes do vtysh que as configuraes dos daemons sejam salvas nos
respectivos arquivos de configurao, ou seja, uma configurao de OSPF ficar salva apenas no
arquivoospfd.confeassimpordiante.Parafazlonecessrioeditaroarquivovtysh.confecomentar
suaprimeiralinhaquepermiteaintegraodaconfigurao:
#em/etc/quagga/vtysh.conf
!serviceintegratedvtyshconfig
hostnameQuaggaRouter
usernameroot
passwordSENHA
Observao.: Uma dica til em relao ferramenta vtysh que, por padro, a cada vez que o
administrador executa um comando aparece a palavra "END" na tela, o que requer que seja
pressionadaatecla"q"paracontinuar.Paraevitarqueissoacontea,bastaincluiraseguintelinhano
arquivo/etc/environment:VTYSH_PAGER=more
Apesar das configuraes poderem ser realizadas via linha de comando atravs de acesso remoto
(telnet ou vtysh) aos daemons do Quagga, de maneira similar ao que ocorre nas caixas Cisco,
particularmenteachoqueaindamaisprticofazeressasconfiguraesdiretamentenosarquivosde
configurao(.conf),afinalasintaxeamesma.Porexemplo,combasenocenrioapresentadona
figura abaixo, para realizar uma configurao simples do OSPF podemos editar o
arquivo/etc/quagga/ospfd.confdaseguintemaneira:

#em/etc/quagga/ospfd.conf
!
hostnameQuaggaRouter
passwordSENHA
!
interfaceeth0
description"LinktoRouterB"
ipaddress192.168.200.1/30
linkdetect
!
interfaceeth1
description"LinktoNetwork192.168.100.0/24"
ipaddress192.168.100.1/24
linkdetect
!
routerospf
network192.168.200.0/30area0
network192.168.100.0/24area0
!
Porfim,valereforarquequalqueralteraonosarquivosdeconfiguraorequerareinicializaodo
servioQuaggaeseusdaemons:/etc/init.d/quaggarestart.Agoracomvocs...
Samuel.

Potrebbero piacerti anche