如何使用 quagga ospfd 重新分配连接的 /32?

如何使用 quagga ospfd 重新分配连接的 /32?

我有一台充当 Quagga 路由器的 VM 主机。它向其托管的 VM 通告路由(我不使用网桥,只使用路由 VM)

当 tun 接口配置为 /30 时,它可以很好地工作;例如:

$ ip a
4: gentoo: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
    link/ether 2a:c8:0a:ae:cc:c1 brd ff:ff:ff:ff:ff:ff
    inet 10.42.1.5/30 brd 10.42.1.7 scope global gentoo
    inet6 fe80::5c23:52ff:fec1:f2b7/128 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::28c8:aff:feae:ccc1/64 scope link 
       valid_lft forever preferred_lft forever

但是我想在一些虚拟机上放置一些公共路由的 IP,而不浪费 3 个 IP 用于网络、广播和主机 IP;例如:

$ ip ro
94.23.110.211 dev gentoo  scope link 

该路由显示在“show ip route”quagga 命令中

arrakeen# show ip route  
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route
O   0.0.0.0/0 [110/110] via 10.42.42.1, eth0, 00:01:24
K>* 0.0.0.0/0 via 10.42.42.1, eth0
O>* 10.0.0.0/24 [110/20] via 10.42.42.1, eth0, 00:01:25
C>* 10.0.42.21/32 is directly connected, eth0
O>* 10.42.0.0/24 [110/20] via 10.42.42.1, eth0, 00:01:25
O   10.42.1.4/30 [110/10] is directly connected, gentoo, 00:01:35
C>* 10.42.1.4/30 is directly connected, gentoo
K>* 10.42.1.6/32 via 10.42.1.5, gentoo
O   10.42.42.0/24 [110/10] is directly connected, eth0, 00:01:35
C>* 10.42.42.0/24 is directly connected, eth0
O>* 10.242.0.1/32 [110/30] via 10.42.42.1, eth0, 00:01:25
O>* 10.255.0.1/32 [110/30] via 10.42.42.1, eth0, 00:01:25
O>* 10.255.0.2/32 [110/20] via 10.42.42.1, eth0, 00:01:25
O   94.23.110.210/32 [110/10] is directly connected, eth0, 00:01:35
C>* 94.23.110.210/32 is directly connected, eth0
K>* 94.23.110.211/32 is directly connected, gentoo
C>* 127.0.0.0/8 is directly connected, lo

但正如你所见,它不在 OSPF 的 fib 中

arrakeen# show ip ospf route  
============ OSPF network routing table ============
N    10.0.0.0/24           [20] area: 0.0.0.0
                           via 10.42.42.1, eth0
N    10.42.0.0/24          [20] area: 0.0.0.0
                           via 10.42.42.1, eth0
N    10.42.1.4/30          [10] area: 0.0.0.0
                           directly attached to gentoo
N    10.42.1.36/30         [10] area: 0.0.0.0
N    10.42.42.0/24         [10] area: 0.0.0.0
                           directly attached to eth0
                           via 10.42.42.1, eth0
N    10.242.0.1/32         [30] area: 0.0.0.0
                           via 10.42.42.1, eth0
N    10.255.0.1/32         [30] area: 0.0.0.0
                           via 10.42.42.1, eth0
N    10.255.0.2/32         [20] area: 0.0.0.0
                           via 10.42.42.1, eth0
N    94.23.110.210/32      [10] area: 0.0.0.0
                           directly attached to eth0
N    94.23.110.218/32      [30] area: 0.0.0.0
                           via 10.42.42.1, eth0

============ OSPF router routing table =============
R    10.42.42.1            [10] area: 0.0.0.0, ASBR
                           via 10.42.42.1, eth0

============ OSPF external routing table ===========
N E1 0.0.0.0/0             [110] tag: 0
                           via 10.42.42.1, eth0

有没有办法强制它们进入 ospf?

这是 ospfd.conf:

! -*- ospf -*-
!
hostname arrakeen
!
interface eth0
!
router ospf
 ospf router-id 10.42.42.21
 redistribute static
 redistribute connected
 network 10.42.1.0/24 area 0
 network 10.42.42.0/24 area 0
 network 94.23.110.210/28 area 0
!
log file /var/log/quagga/ospfd.log

谢谢,

答案1

redistribute kernel成功了

相关内容