我正在配置具有以下拓扑的网络:
我需要做的是提供一项由 Anycast 提供并由 OSPF 宣布的服务。我设法在路由器上配置了 OSPF。我还在两台服务器中创建了一个具有相同 IP 的虚拟接口。但现在我不确定如何在服务器上配置 Bird,以便客户端可以通过 Anycast IP 访问它们。我正在模拟 GNS3 上的网络。
我们计划将两个机架中的服务器相互连接。假设我们在每个机架中有 5 台服务器,并通过快速交换机连接。每台服务器都有一个 1 GBit 的 Internet 上行链路。
以下内容可能非常愚蠢,但网络不是我的专业领域,这就是我需要你帮助的原因。
我们正在创建几个 OpenVPN 连接(见附图,“蓝色云”是 VPN 网络),因为我们想在它们之间使用完整的 1 GBit 连接。但是,如果一台服务器出现故障,我们仍然希望在两个机架之间建立有效的连接。
所以,我们做了什么: 1. 在每个 S[1-5] 和 C[1-5] 服务器之间配置 OpenVPN,创建一个 10.0.5x.0/24 的虚拟网络。(这已经工作了) 2. 使用 OSPF 安装和配置 Quagga 以宣布路由。我们对每个节点都这样做了,所以每个人都可以成为其他人的路由器(我们不希望只有一个网关,因为这会将机架之间的连接限制为只有 1 GBit,对吧?!)
3. Quagga 现在宣布路线,每个人都可以ping通其他人(也在工作)
现在游戏开始了:我们关闭 C4 并相应地更新路由(说到 OSPF 和 quagga)。但是现在如果我们尝试从 S4 ping 到 C5 会发生什么,它需要一些 C5 认为不是最佳路由的路由(这就是我对 rp_filter linux 网络设置为 1 的理解)。我们在 tcpdump 中看到的路由是 S4 -> S3 -> C3 -> C5。更好的路线是 S4 -> S5 -> C5。
如果我们将 rp_filter 设置为 2,则可以 ping 通,但允许非最优路由感觉不对?我们认为 OSPF 是为了尽可能获得最佳(最短路径)吗?但我们猜测我们配置 Quagga / OSPFd 错误。
这是我们想到的拓扑图: topology
ospfd.conf 看起来像这样
interface eth0
interface bond0
interface tun0
router ospf
router-id 10.0.1.4
network 10.0.1.0/24 area 0
network 10.0.54.0/24 area 1
redistribute static
斑马.conf:
interface bond0
link-detect
interface tun0
link-detect
我有一个 VM 主机,它充当 quagga 路由器。它宣布到其托管虚拟机的路由(我不使用网桥,只使用路由虚拟机)
当 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
但是我想在一些 VM 上放置一些公共路由的 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 的谎言中
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
谢谢,
我的实验室工作有问题。我需要用 ospf 提供网络路由。我的网络有以下布局:
所以...当我启动 3 个具有所有工作接口的虚拟机时,一切正常 - 路由表正确,所有连接工作。
但是当我在 R3 机器上放下 IF1 时,120 秒后 R1 和 R2 上的路由表发生了变化。但即使在 1 小时后 R2 上的路由表也没有改变,我在路由到 172.16.3.0 网络时遇到了问题。我知道在 OSPF 中有类似“泛洪”路由的东西 - 第一波变化在 120 秒后发生,下一步 - 在 8-9 分钟后......
请帮助使 ospf 正常工作!
这是 R2 机器的 conf 文件zebra.conf
(ospf.conf
对于其他机器,所有 conf 都相同,IP 地址、网络、主机名和路由器 ID 除外。
斑马.conf:
hostname Router
password zebra
enable password zebra
interface lo
description loopback
interface em0
ip address 192.168.9.3/24
interface em1
ip address 172.16.2.1/24
interface em2
ip address 172.16.1.2/24
ospf.conf:
hostname R2
password zebra
enable password zebra
interface em0
no ip ospf authentication-key
interface em1
no ip ospf authentication-key
interface em2
no ip ospf authentication-key
router ospf
ospf router-id 0.0.0.2
network 192.168.9.0/24 area 0
network 172.16.2.0/24 area 0
network 172.16.1.0/24 area 0
redistribute connected
注意:对于所有机器 - em0=IF3、em1=IF2、em2=IF3
更新:谢谢...问题已解决。我只是直接添加链接检测...抱歉,我暂时无法投票回答...