Temos várias máquinas conectadas a redes de alta e baixa velocidade; outras máquinas estão apenas na rede de baixa velocidade. Estou investigando a implantação do OSPF para que cada conexão possa escolher automaticamente a rota mais rápida. No entanto, não quero que as próprias máquinas se tornem roteadores acidentalmente, então estou usando a opção max-metric router-lsa administrative
em /etc/quagga/ospfd.conf.
Infelizmente, além de definir os custos do link de saída como ∞ para fins de publicidade, também parece usar ∞ (bem, 65535) como o custo do link ao calcular os custos da rota no host. O resultado é que, em vez de preferir caminhos que utilizam o enlace de alta velocidade, ele os trata como caminhos de custo igual. Se eu remover a max-metric
configuração, ela calculará corretamente que o link de alta velocidade é o preferido.
Observação: no momento estou apenas experimentando o uso de VMs e redes virtuais, portanto os links são realmente equivalentes e estou especificando manualmente os custos. Três máquinas estão conectadas a uma rede, com endereços 192.168.50.2-4, duas estão conectadas a outra rede com endereços 192.168.51.2-3, e cada máquina também possui um endereço de loopback 192.168.100.x que é como elas irão endereçar cada uma outro. Aqui está meu arquivo /etc/quagga/ospfd.conf em uma das máquinas:
hostname ospf
password zebra
enable password zebra
interface eth1
ip ospf area 0
ip ospf cost 1000
ip ospf hello-interval 1
ip ospf dead-interval 5
interface eth2
ip ospf area 0
ip ospf cost 100
ip ospf hello-interval 1
ip ospf dead-interval 5
interface lo
ip ospf area 0 192.168.100.1
ip ospf cost 100
router ospf
log-adjacency-changes
passive-interface lo
max-metric router-lsa administrative
auto-cost reference-bandwidth 1000
log stdout
e aqui está a tabela de roteamento:
node1# show ip ospf route
============ OSPF network routing table ============
N 192.168.50.0/24 [65535] area: 0.0.0.0
directly attached to eth1
N 192.168.51.0/24 [65535] area: 0.0.0.0
directly attached to eth2
N 192.168.100.1/32 [0] area: 0.0.0.0
directly attached to lo
N 192.168.100.2/32 [65535] area: 0.0.0.0
via 192.168.50.3, eth1
via 192.168.51.3, eth2
N 192.168.100.3/32 [65535] area: 0.0.0.0
via 192.168.50.4, eth1
============ OSPF router routing table =============
Como você pode ver, para acessar 192.168.100.2, custou 65.535 e será roteado por qualquer uma das interfaces.
Existe alguma maneira de fazer com que o host use os custos do link para seu próprio cálculo do caminho mais curto, evitando ao mesmo tempo que o host seja usado como roteador de trânsito?
Responder1
Não consegui que o Quagga fizesse o que eu queria (também tentei com FRR, mesmo problema), mas descobri que o Bird com OSPF v3 funcionou bem. O OSPF v3 possui um recurso integrado para roteadores stub, em vez de depender da configuração dos custos do link para o infinito. Quagga/FRR não suporta RFC 5838, então não pude experimentar o OSPF v3 com eles.