Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

OSPF + quagua + CentOS 5.3

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Artigo OSPF + quagua + CentOS 5.3

    Nesse artigo vou demonstrar como criar uma rede dinâmica com OSPF através do quagua e usando o sistema operacional CentOS 5.3, para um provedor de internet a rádio ou cabo. Com o OSPF é possível criar uma rede dinâmica e segura, fazendo com que a redundância seja automática, de acordo com a disponibilidade de cada conexão.
    Por: Luis Viscardo Saqueto

    Pacotes necessários



    Para instalação foi utilizado o CentOS versão 5.3 somente com os pacotes básicos e pacotes de desenvolvimento.

    Para instalação do pacote foi necessária a instalação via yum do pacote readline:

    # yum install compat-readline43


    Versão do Quagua utilizada: quagga-0.96.4-3.i386 Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    Para instalação foi utilizado o CentOS versão 5.3 somente com os pacotes básicos e pacotes de desenvolvimento.

    Para instalação do pacote foi necessária a instalação via yum do pacote readline:

    # yum install compat-readline43


    Versão do Quagua utilizada: quagga-0.96.4-3.i386

    * Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    Instalação:

    # rpm -ivh quagga-0.96.4-3.i386.rpm

    Cenário

    O cenário de exemplo é de um provedor de internet com 3 edifícios de backbones principais com necessidade de redundância entre eles.

    Conforme a imagem, possuímos 4 servidores, um no provedor e mais um em cada edifício.



    Nesse artigo estarei ensinando a configurar os 3 servidores das pontas em que irão ficar nos edifícios.

    Configurando as placas de rede



    Para criar nossa rede OSPF precisamos de 2 serviços rodando:

    * ZEBRA
    * OSPFD


    Antes de inicializar os serviços deveremos configurar as placas de rede.

    Placas de rede:

    OSPF1
    eth0 - 10.5.0.1
    eth1 - 10.6.0.1
    eth2 - 172.16.1.201
    eth3 - Gateway para clientes

    OSPF2
    eth0 - 10.5.0.2
    eth1 - 10.7.0.2
    eth2 - 172.16.0.202
    eth3 - Gateway para clientes

    OSPF3
    eth0 - 10.7.0.3
    eth1 - 10.6.0.3
    eth2 - 172.16.3.203
    eth3 - Gateway para clientes

    Configuração do OSPF
    A configuração do OSPF fica no arquivo /etc/quagua/ospfd.conf.

    O objetivo do artigo é apenas criar um cenário de testes, portanto não estarei abordando configurações avançadas do OSPF.

    Código:
    OSPF01
    
    interface eth0
    !
    interface eth1
    !
    interface eth2
    !
    interface eth3
    !
    interface lo
    !
    interface sit0
    !
    router ospf
    ospf router-id 10.5.0.1
    redistribute kernel
    redistribute connected
    redistribute static
    network 10.5.0.0/24 area 0.0.0.0
    network 10.6.0.0/24 area 0.0.0.0
    network 172.16.1.0/24 area 0.0.0.0
    neighbor 10.5.0.2
    neighbor 10.6.0.1
    neighbor 10.6.0.3
    
    OSPF2
    interface eth0
    !
    interface eth1
    !
    interface eth2
    !
    interface lo
    !
    interface sit0
    !
    router ospf
    ospf router-id 10.5.0.2
    network 10.5.0.0/24 area 0.0.0.0
    network 10.7.0.0/24 area 0.0.0.0
    neighbor 10.5.0.1
    neighbor 10.7.0.3
    !
    
    OSPF3
    
    interface eth0
    ip ospf retransmit-interval 10
    !
    interface eth1
    !
    interface eth2
    !
    interface eth3
    !
    interface lo
    !
    interface sit0
    !
    router ospf
    ospf router-id 10.7.0.3
    redistribute kernel
    redistribute connected
    redistribute static
    network 10.6.0.0/24 area 0.0.0.0
    network 10.7.0.0/24 area 0.0.0.0
    neighbor 10.6.0.1
    neighbor 10.7.0.2

    Configuração do Zebra


    Para que o OSPF habilite o protocolo nas placas de rede é necessário antes de tudo configurar essas placas também no ZEBRA.

    Arquivo /etc/quagua/zebra.conf:
    Código:
    OSPF1
    
    OSPF2
    hostname Router
    password zebra
    enable password zebra
    !
    ! Interface's description.
    !
    !interface lo
    !ip address 172.16.1.20/24
    !
    interface eth1
    ip address 10.7.0.2/24
    !
    interface eth0
    ip address 10.5.0.2/24
    
    OSPF3
    hostname Router
    password zebra
    enable password zebra
    !
    ! Interface's description.
    !
    interface eth0
    ip address 10.5.0.1/24
    !multicast
    interface eth1
    ip address 10.6.0.1/24
    !
    interface eth2
    ip address 172.16.1.2/24
    ! Static default route sample.
    
    hostname Router
    password zebra
    enable password zebra
    !
    ! Interface's description.
    !
    interface eth0
    ip address 10.7.0.3/24
    !multicast
    interface eth1
    ip address 10.6.0.3/24

    Testando o funcionamento da rede


    Agora que nosso OSPF está funcionando, vamos verificar o funcionamento da rede. Vamos acessar novamente via telnet os servidores e verificar a tabela de rotas:

    OSPF1:

    # show ip ospf route============ OSPF network routing table ============
    N 10.5.0.0/24 [10] area: 0.0.0.0
    directly attached to eth0
    N 10.6.0.0/24 [10] area: 0.0.0.0
    directly attached to eth1
    N 10.7.0.0/24 [20] area: 0.0.0.0
    via 10.6.0.3, eth1
    N 172.16.1.0/24 [10] area: 0.0.0.0
    directly attached to eth2

    ============ OSPF router routing table =============
    R 10.7.0.3 [10] area: 0.0.0.0, ASBR
    via 10.6.0.3, eth1

    ============ OSPF external routing table ===========
    N E2 169.254.0.0/16 [10/20] tag: 0
    via 10.6.0.3, eth1
    N E2 172.16.3.0/24 [10/20] tag: 0
    via 10.6.0.3, eth1


    OSPF2:

    # show ip ospf route

    ============ OSPF network routing table ============
    N 10.5.0.0/24 [100] area: 0.0.0.0
    directly attached to eth0
    N 10.6.0.0/24 [110] area: 0.0.0.0
    via 10.5.0.1, eth0
    N 10.7.0.0/24 [120] area: 0.0.0.0
    via 10.5.0.1, eth0
    N 172.16.1.0/24 [110] area: 0.0.0.0
    via 10.5.0.1, eth0

    ============ OSPF router routing table =============
    R 10.5.0.1 [100] area: 0.0.0.0, ASBR
    via 10.5.0.1, eth0
    R 10.7.0.3 [110] area: 0.0.0.0, ASBR
    via 10.5.0.1, eth0

    ============ OSPF external routing table ===========
    N E2 169.254.0.0/16 [100/20] tag: 0
    via 10.5.0.1, eth0
    N E2 172.16.3.0/24 [110/20] tag: 0
    via 10.5.0.1, eth0


    OSPF3:

    # show ip ospf route

    ============ OSPF network routing table ============
    N 10.5.0.0/24 [20] area: 0.0.0.0
    via 10.6.0.1, eth1
    N 10.6.0.0/24 [10] area: 0.0.0.0
    directly attached to eth1
    N 10.7.0.0/24 [10] area: 0.0.0.0
    directly attached to eth0
    N 172.16.1.0/24 [20] area: 0.0.0.0
    via 10.6.0.1, eth1

    ============ OSPF router routing table =============
    R 10.5.0.1 [10] area: 0.0.0.0, ASBR
    via 10.6.0.1, eth1

    ============ OSPF external routing table ===========
    N E2 169.254.0.0/16 [10/20] tag: 0
    via 10.6.0.1, eth1


    Assim podemos observar que os roteadores já estão trocando rotas entre eles, experimente desconectar algum cabo de rede e rodar novamente esses comandos, assim poderá observar que as rotas foram alteradas. Você pode também observar que agora, a partir de qualquer servidor, você consegue pingar qualquer placa de rede ou cliente nesses servidores, ou verificar através do comando tracert.

    Exemplo - comando a partir do servidor OSPF2:

    # tracert 10.6.0.3

    traceroute to 10.6.0.3 (10.6.0.3), 30 hops max, 40 byte packets
    1 (10.5.0.1) 0.400 ms 0.359 ms 0.363 ms
    2 (10.6.0.3) 0.965 ms 0.976 ms 0.970 ms


    Inicializando e testando o serviço OSPF


    Agora que está tudo configurado e os cabos de rede conectados, deveremos inicializar os serviços:

    # service zebra start
    # service ospfd start


    Agora com os serviços inicializados, vamos acessar o console para conferir a conexão entre eles:

    # telnet localhost 2604

    Senha: zebra

    # enable

    Para visualizar se os servidores estão enxergando seus vizinhos (neighbors):

    OSPF1:

    # show ip ospf neighbor


    Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
    10.5.0.2 1 Full/DR 00:00:34 10.5.0.2 eth0:10.5.0.1 0 0 0
    10.7.0.3 1 Full/Backup 00:00:36 10.6.0.3 eth1:10.6.0.1 0 0 0


    OSPF2:

    # show ip ospf neighbor


    Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
    10.5.0.1 1 Full/Backup 00:00:37 10.5.0.1 eth0:10.5.0.2 0 0 0
    10.7.0.3 1 Full/Backup 00:00:31 10.7.0.3 eth1:10.7.0.2 0 0 0


    OSPF3:

    # show ip ospf neighbor


    Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
    10.5.0.2 1 Full/DR 00:00:39 10.7.0.2 eth0:10.7.0.3 0 0 0
    10.5.0.1 1 Full/DR 00:00:39 10.6.0.1 eth1:10.6.0.3 0 0 0

    Fonte: VivaoLinux
    Postado Por: RedDeviL
X
Working...
X