Configuração: XORP - Extensible Open Router Plataform

O XORP é um roteador (software) de código aberto que implementa vários protocolos, inclusive multicast (PIM-SM). O XORP foi desenvolvido pelo Instituto Internacional de Ciência da computação , em Berkeley na califórnia e é uma boa opção para redes em que os roteadores são computadores comuns em lugar de equipamentos dedicados. Esta página contém informações de como obter, instalar e configurar o XORP.

Baixando o XORP

Os fontes da versão mais recente do XORP podem ser encontrados para downlaod em

http://www.xorp.org/downloads.html.

Instalando XORP

  1. Faça o download dos fontes do XORP;
  2. Verifique se os compiladores gcc e g++ estão instalados
  3. Verifique o gmake está instalado na máquina em que o XORP será instalado;
  4. Coloque os fontes do XORP em um diretório (/usr/local/src/xorp por exemplo):
  5. Use o utilitário tar para descompactar os fontes;

    #tar -xzvf xorp-x.x.tar.gz

  6. Dentro do diretório dos fontes do XORP, configure, compile e instale:

    #./configure --preffix=/usr/local/xorp

    # make

    # make install

Configurando XORP

O xorp possui vários processos (veja documentação), mas o processo que coordena os outros é o xorp_rtrmgr. Existem duas possibilidades de se configurar o XORP, através de uma interface da linha de comando (progama xorpsh) ou através do arquivo de configuração config.boot. O xorpsh encontra-se no subdiretário bin do diretório em que o xorp foi instalado (/usr/local/xorp por exemplo). O arquivo config.boot deverá ser gravado no diretório de instalação do xorp. Por padão, o arquivo config.boot é carregado toda vez que o xorp_rtrmgr for inicializado, mas o usuário poderá optar por utilizar outro arquivo utilizando a opção -b no momento da iniciação do xorp_rtrmgr. Os próximos tópicos mostram como configurar o XORP.

OBS: Após instalar o XORP, crie um grupo UNIX chamado xorp utilizando o comando groupadd e adicione o root como pertencente a este grupo. Para fazer isso utilize os seguintes comandos:

groupadd xorp

Para adicionar o usuário root ao grupo xorp edite o arquivo /etc/group, localize a entrada para o grupo xorp e adiciona root à lista de usuários deste grupo. A entrada correspondente ao grupo xorp deve ficar semelhante à linha abaixo:

xorp:x:102:root

Se preferir, o usuário poderá alterar também o grupo da pasta xorp na qual o xorp está instalado utilizando o comando abaixo:

chgrp -R xorp <diretorio de instalação do xorp>

Arquivo de Configuração

O arquivo config.boot deverá ser gravado do diretório de instalação do XORP para que seja carregado automaticamente com o processo xorp_rtrmgr. Um arquivo exemplo de configuração chamado config.boot.sample localizado no subdiretório rtrmgr dos fontes pode ser utilizado como ponto de partida pelo usuário.

Configurando Interfaces de Rede

A primeira seção do arquivo de configuração contém informações das interfaces do roteador. Cada interface física é identificada pela palavra interface. Cada interface física será associada a uma ou mais interfaces virtuais (vif em inglês). Por simplicidade, coloque o mesmo nome para uma interface física e sua correspondente interface virtual. Veja a Figura abaixo.

Além do endereço IP de cada vif, o usuário deverá fornecer o tamanho da máscara para o endereço e o endereço de broadcast da rede a qual a vif pertence. O usuário também poderá colocar uma descrição da interface física por questões de legibilidade.

Habilitando FEA (Forward Engine Abstraction)

Nesta seção não há muito o que fazer, apenas habilite o encaminhamento de pacotes unicast de acordo com os protocolos de rede adotados. Na figura abaixo estamos habilitanto encaminhamento de pacotes IPV4.

 

Configurando rotas estáticas

Esta seção permite que o usuário configure rotas estáticas para o roteador. Caso seu roteador XORP seja utilizado apenas para multicast, não preencha esta seção, apague ou comente (comentários indicados pr /**/). No que esta seção encontra-se dentro da seção protocols, na qual também serão configurados os protocolos de roteamento dinâmico.

Habilitando MFEA (Multicast Forward Engine Abstraction)

Esta seção é análoga, com a diferença que habilita o encaminhamento de pacotes multicast por vif. Segundo o manual do XORP, a interface register_vif é especial e deve ser configurada caso o protocolo PIM-SM seja configurado. Como na Figura abaixo, crie uma subseção para cada interface/vif configurada na seção interface apresentada no começo deste tutorial. A opção traceoptions habilita informações de log para propositos de depuação.

Configurando IGMP

Dentro da seção protocols a suseção IGMP/MLD deve ser configurarada se o roteador XORP for usado para roteamento multicast e se houver a possibilidade de entregar pacotes para membros de grupos diretamente conectados (o que acontece na maioria dos casos). IGMP é a seção para multicast com IPV4 e MLD para IPV6. A seção "traceoptions" é utilizada para habilitar informação de log para depuração. Veja Figura. Dentro da seção igmp, deve ser colocada uma seção para cada interface/vif.

Na figura, os itens comentados são algumas opções de parâmetros do protocolo igmp. Os valores ilustrados na figura são valores padrão.

Configurando PIM-SM

De maneira análoga a configuração do IGMP, a configuração do protocolo PIM-SM do XORP começa pelas interfaces. Configure cada interface real com os respectivos parâmetros como na figura abaixo mais a interface register_vif. Os itens comentados são ilustrativos são os valores padrão.

Note que a seção pimsm4 também fica dentro de uma seção protocols.

O próximo passo será configurar o rendevouz point (RP). Dentro da mesma seção em que o usuário configurou as interfaces para o protocolo PIM-SM, configura-se o RP estático através da seção static-rps. Coloque o endereço unicast do RP, o prefixo dos grupos multicast daquele RP e sua prioridade.

A seção logo abaixo, switch-to-spt-treshhold habilita o xorp para utilizar a árvore de menor caminho entre ele em ligar da árvore compartilhada, isto é, via RP.

Configurando fib2mrib

O módulo FIB2MRIB é utilizado para obter a Base de Informação de encaminhamento (Forwarding Information Base) a partir do sistema (via the FEA) e propagá-la para a MRIB (Multicast Routing Information Base) para que FIB possa ser usada por protocolos de roteamento como PIM-SM. Tipicamente, isto é preciso somente se os protocolos de roteamento unicast não preenchem a MRIB com as rotas do RIB. Veja figura abaixo:

 

Iniciando o XORP

Uma vez que a configuração tenha sido feita, basta iniciar o XORP utilizando o programa rtrmgr_xorp. Ele automaticamente carregará o arquivo config.boot e iniciará os demais processos do roteador.

Para que o XORP seja iniciado automaticamente toda vez que ocorra um boot na máquina em que o mesmo estaja instalado, edite o arquivo rc.local (no caso do sackware linux) e adiciona uma chamada ao programa rtrmgr_xorp, salve o arquivo e faça um teste.