TL;DR:路由守护进程未更新表。救命!
假设有两个不同的 Linux 虚拟机配置了路由,R1 和 R2,它们直接连接到 10.0.0.0/24。每个虚拟机的其他接口上都有其他网络。它们可能希望相互通告它们所连接的网络。
两台路由器都可以 ping 通对方,配置静态路由后,数据包可以成功转发。
但维护静态路由表很麻烦,所以我在两个设备上都安装并配置了 Quagga(配置如下)。尽管我验证了这些配置和路由器上的所有信息,但它们的路由表不会互相更新。
更新:R1 在“show ip ospf neighbours”中确实将 R2 列为邻居。然而,R2 却不是将 R1 列为邻居。
由于 ping 和静态路由做工作正常,我想应该是 Qugga 配置的问题。有人能发现我做错了什么并指出来吗?
R1的zebra.conf:
hostname R1
password *redacted*
enable password *redacted*
log file /var/log/quagga/zebra.log
!
interface eth0
ip address 10.0.0.1/24
ipv6 nd suppress-ra
!
interface eth1
ip address 172.31.99.1/24
ipv6 nd suppress-ra
!
interface eth2
ip address 10.22.6.0/24
ipv6 nd suppress-ra
!
interface eth3
ip address 10.1.0.1/16
ipv6 nd suppress-ra
!
interface lo
!
ip forwarding
!
!
line vty
R1的ospfd.conf:
hostname backbone-ospf
password *redacted*
enable password *redacted*
log stdout
!
interface eth0
ip ospf priority 255
!
interface eth1
!
interface eth2
!
interface eth3
!
interface lo
!
router ospf
network 10.0.0.0/24 area 0.0.0.0
network 10.1.0.0/16 area 0.0.0.0
network 10.2.6.0/24 area 0.0.0.0
network 192.168.99.0/24 area 0.0.0.0
redistribute connected
!
line vty
!
R2'2 斑马.conf:
hostname R2
password *redacted*
enable password *redacted*
log file /var/log/quagga/zebra.log
!
interface eth0
ip address 10.0.0.12/24
ipv6 nd suppress-ra
!
interface eth1
ip address 172.16.0.1/25
ipv6 nd suppress-ra
!
interface lo
!
ip forwarding
!
!
line vty
R2的ospfd.conf:
hostname isp-ospf
password *redacted*
enable password *redacted*
log stdout
!
interface eth0
ip ospf priority 0
!
interface eth1
!
interface eth2
!
interface eth3
!
interface lo
!
router ospf
network 10.0.0.0/24 area 0.0.0.0
network 172.16.0.0/25 area 0.0.0.0
redistibute connected
!
line vty