OSPF: como anunciar a sub-rede de um servidor OpenVPN?

2

Configurei o OSPF com sucesso em todos os nossos roteadores HP ProCurve 7102 e na maioria dos nossos roteadores internos do Linux. Rotas são anunciadas e tudo é peachy.

Exceto para as rotas nas sub-redes tratadas por vários serviços OpenVPN e outras conexões VPN em torno da empresa. Por favor, considere a imagem abaixo, que mostra uma parte da rede da empresa:

As setas vermelhas são conexões VPN. A área azul na parte inferior representa a área 0 do OSPF (o backbone), que compreende os roteadores em todos os outros escritórios. A área rosa mostra a área 177 da OSPF para um de nossos escritórios. O retângulo laranja é a rede OpenVPN em questão, hospedada no roteador Linux indicado pelo ícone azul com as setas.

A sub-rede 10.177.0.0/16 é anunciada corretamente para todas as outras áreas OSPF. No entanto, apesar do fato de que a rede 10.180.1.0/24 está incluída na configuração do OSPF e a interface tun0 está incluída na área 177 (como uma interface passiva), essa sub-rede não é anunciada.

É porque esta é realmente uma rota externa? Em caso afirmativo, como eu diria ao daemon do OSPF para anunciar essa rota?

    
por wolfgangsz 17.06.2011 / 16:30

2 respostas

2

O primeiro pensamento que vem à mente é que você precisa redistribuir as rotas do kernel, além das rotas conectadas no Quagga / Zebra OSPF. Como o OpenVPN adiciona as rotas em si, a Zebra não as redistribuirá se você tiver apenas 'redistribuir a estática' em sua configuração.

Também estou usando o OpenVPN em ambientes OSPF e tudo é redistribuído bem.

Observação: você pode precisar adicionar alguns filtros da lista de redistribuição para evitar a redistribuição de outras rotas do kernel que não devem ser anunciadas.

Outra opção é adicionar uma rota estática na Zebra para o 10.180.1.0/24 que vai para null ou o dispositivo de loopback.

    
por 18.06.2011 / 23:31
0

Eu me encontrei com um problema semelhante depois de uma orgia "se livrar do kernel e das rotas estáticas".

A solução para o meu caso é colocar a rede OpenVPN em uma área OSPF diferente e, em seguida, usar o truque de substituir o prefixo / 32 associado ao endereço de terminal do servidor a um prefixo de sub-rede / 24. por exemplo,

192.168.22.0/24 é a sub-rede OpenVVPN no meu servidor FreeBSD 10.3-PRERELEASE OpenVPN.

No openvpn.conf:

dev tun
server 192.168.22.0 255.255.255.0

Quando o OpenVPN é iniciado, a interface do tun0 apresenta a seguinte configuração:

munchkin# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
    options=80000<LINKSTATE>
    inet6 fe80::222:15ff:fe4b:7e10%tun0 prefixlen 64 scopeid 0x1c 
    inet 192.168.22.1 --> 192.168.22.2 netmask 0xffffffff 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    Opened by PID 2746

No ospfd.conf:

router ospf
...
network 192.168.11.0/24 area 0.0.0.0
network 192.168.22.0/24 area 0.0.0.1
area 0.0.0.1 range 192.168.22.1/32 substitute 192.168.22.0/24

O OSPF, então, anuncia 192.168.22.0/24 em vez de 192.168.22.1/32

N.B. Isso só funciona em um limite de área.

    
por 04.03.2016 / 00:50