分享
 
 
 

专用Cisco路由器的替代品 Zebra二

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

生成的 ripd.conf 配置文件如下所示:

清单 7. 生成的 /etc/zebra/ripd.conf 文件

!

! Zebra configuration saved from vty

! 2003/08/19 13:50:30

!

hostname speedmetal-rip

passWord zebra

enable password zebra

!

interface lo

!

interface eth0

!

interface eth1

!

interface dummy0

!

router rip

network 10.0.0.0/8

network 192.168.0.0/16

!

line vty

!

在 Cisco 路由器上安装配置 RIP 路由

我们将两个 Cisco 路由器称为 "A" 和 "B",为了简化这两个路由器的配置,我们只配置了一些让路由器能正常运行的基本设置,包括设置接口的 IP 地址、环回地址,以及用于串口通信的串口时钟频率。

清单 8. 配置路由器 A

Router#config terminal

Router(config)#hostname RouterA

RouterA(config)#int s0/0

RouterA(config-if)#ip address 192.168.0.1 255.255.255.252

RouterA(config-if)#no shut

RouterA(config-if)# interface fastEthernet 0/0

RouterA(config-if)#ip address 192.168.2.2 255.255.255.252

RouterA(config-if)#no shut

RouterA(config-if)#int loopback 0

RouterA(config-if)#ip address 10.0.0.1 255.255.255.0

RouterA(config-if)#end

RouterA#write

类似地,我们配置好路由器 "B"。

清单 9. 配置路由器 B

Router#configure terminal

Router(config)#hostname RouterB

RouterB(config)#int s0/0

RouterB(config-if)#ip address 192.168.0.2 255.255.255.252

RouterB(config-if)#no shut

RouterB(config-if)#int fastEthernet0/0

RouterB(config-if)#ip address 192.168.1.2 255.255.255.252

RouterB(config-if)#no shut

RouterB(config-if)#int loopback 0

RouterB(config-if)#ip address 10.0.1.1 255.255.255.0

RouterB(config-router)#end

RouterB#write

在 3620 路由器上配置 RIP 与 Zebra 中的命令极其类似。我们通过控制台线缆访问两台3620,执行如下命令:

清单 10. 在路由器 A 上完成 RIP 所需的配置

RouterA#conf t

Enter configuration commands, one per line. End with CNTL/Z.

RouterA(config)#router rip

RouterA(config-router)#network 10.0.0.0

RouterA(config-router)#network 192.168.0.0

RouterA(config-router)#network 192.168.2.0

RouterA(config-router)#version 2

RouterA(config-router)#end

RouterA#write

然后是路由器 B:

清单 11. 在路由器 B 上完成 RIP 所需的配置

RouterB#conf t

Enter configuration commands, one per line. End with CNTL/Z.

RouterB(config)#router rip

RouterB(config-router)#network 10.0.1.0

RouterB(config-router)#network 192.168.0.0

RouterB(config-router)#network 192.168.1.0

RouterB(config-router)#version 2

RouterB(config-router)#end

RouterB#write

router rip 命令启动配置 RIP 的过程。network 命令告诉路由器哪些是 RIP 要传播的网段。

RIP 传播路由

现在 Cisco 路由器和 Zebra 都已经配置好,我们接下来检验传播的路由。在 MRLG 中,我们选择 "show ip route" 然后点击 "Execute"。生成如下报告:

清单 12. Zebra 反映的 RIP 路由

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,

B - BGP, - selected route, * - FIB route

R* 10.0.0.0/24 [120/2] via 192.168.2.2, eth0, 00:11:05

R* 10.0.1.0/24 [120/2] via 192.168.1.2, eth1, 00:02:08

C* 10.0.2.0/24 is directly connected, dummy0

K * 127.0.0.0/8 is directly connected, lo

C* 127.0.0.0/8 is directly connected, lo

R* 192.168.0.0/30 [120/2] via 192.168.2.2, eth0, 00:11:05

C* 192.168.1.0/30 is directly connected, eth1

C* 192.168.2.0/30 is directly connected, eth0

通过 RIP 得到的路由用一个 R 来标记。

要注重的是,通过路由器 A 和路由器 B 的广播,Zebra 现在知道了 10.0.0.0/24 和 10.0.1.0/24 两个网段。测试时,我们从 ThinkPad Zebra 路由器上 ping 10.0.0.1 和 10.0.1.1,并从两个路由器上 ping 10.0.2.1(ThinkPad 的虚拟网络接口)。

为了测试路由的 failover,我们把连接网段 10.0.0.0/24 的路由器 A 上的网络连接断开。经过总计约两分钟的过期时间以后,Zebra 得到了另一个可达 10.0.0.0/24 的路由,这个新的路由是通过路由器 B 得到的。注重在下面的清单中,Zebra 通过 192.168.1.2 到达 10.0.0.0/24,而不是先前的路径。

清单 13. Zebra 反映的 RIP 路由

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,

B - BGP, - selected route, * - FIB route

R* 10.0.0.0/24 [120/3] via 192.168.1.2, eth0, 00:00:26

R* 10.0.1.0/24 [120/2] via 192.168.1.2, eth1, 00:06:02

C* 10.0.2.0/24 is directly connected, dummy0

K * 127.0.0.0/8 is directly connected, lo

C* 127.0.0.0/8 is directly connected, lo

R* 192.168.0.0/30 [120/2] via 192.168.1.2, eth1, 00:00:26

C* 192.168.1.0/30 is directly connected, eth1

C* 192.168.2.0/30 is directly connected, eth0

为什么总的过期时间大于两分钟?RIP 默认的过期时间是 30 秒,但是 RIP 协议指定了在确认一个路由已经失效之前要进行 3 次重试(共 90 秒),并且还要有一段时间来清空无效的路由(还需要 240 秒)。众所周知,RIP 协议对连接失败反应迟钝,这一点在这里得到了明确的论证。

这里是在 failover 发生之前路由器 A 的路由表的输出。

清单 14. Failover 之前路由器 A 的路由表

RouterA#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 3 subnets

R 10.0.2.0 [120/1] via 192.168.2.1, 00:00:11, FastEthernet0/0

C 10.0.0.0 is directly connected, Loopback0

R 10.0.1.0 [120/1] via 192.168.0.2, 00:00:18, Serial0/0

192.168.0.0/30 is subnetted, 1 subnets

C 192.168.0.0 is directly connected, Serial0/0

192.168.1.0/30 is subnetted, 1 subnets

R 192.168.1.0 [120/1] via 192.168.0.2, 00:00:18, Serial0/0

[120/1] via 192.168.2.1, 00:00:11, FastEthernet0/0

192.168.2.0/30 is subnetted, 1 subnets

C 192.168.2.0 is directly connected, FastEthernet0/0

failover 之后:

清单 15. Failover 之后路由器 A 的路由表

RouterA#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 3 subnets

R 10.0.2.0 [120/2] via 192.168.0.2, 00:00:09, Serial0/0

C 10.0.0.0 is directly connected, Loopback0

R 10.0.1.0 [120/1] via 192.168.0.2, 00:00:09, Serial0/0

192.168.0.0/30 is subnetted, 1 subnets

C 192.168.0.0 is directly connected, Serial0/0

192.168.1.0/30 is subnetted, 1 subnets

R 192.168.1.0 [120/1] via 192.168.0.2, 00:00:09, Serial0/0

192.168.2.0/30 is subnetted, 1 subnets

R 192.168.2.0 [120/2] via 192.168.0.2, 00:00:10, Serial0/0

使用 Zebra 配置 OSPF 路由

完成 RIP 的配置后,我们开始配置 OSPF 路由。尽管 OSPF 和 RIP 可以同时使用,不过为了配置的简化,我们现在只使用 OSPF。我们只需要把 ripd 服务停掉,就可以在 Zebra 中将 RIP 禁用。

# service ripd stop

和前面一样,我们从 OSPF 的一个基本的配置文件开始,这次是 ospfd.conf,文件所在目录仍是 /etc/zebra。

清单 16. 一个基本的 /etc/zebra/ospfd.conf 文件

hostname speedmetal-ospf

password zebra

enable password zebra

然后,我们启动 OSPF 服务:

# service ospfd start

对 OSPF 的配置比 RIP 简单:基本上我们仅仅需要告诉 OSPF 去广播所有它知道的路由。

配置 OSPF 的端口是 2604。

下面是我们配置 OSPF 的会话。

清单 17. OSPF 配置会话

[root@speedmetal zebra]# telnet 127.0.0.1 2604

User Access Verification

Password: zebra

speedmetal-ospf enable

Password: zebra

speedmetal-ospf# configure terminal

speedmetal-ospf(config)# router ospf

speedmetal-ospf(config-router)# network 0.0.0.0/0 area 0

speedmetal-ospf(config-router)# end

speedmetal-ospf# write

Configuration saved to /etc/zebra/ospfd.conf

speedmetal-ospf# show run

Current configuration:

!

hostname speedmetal-ospf

password zebra

enable password zebra

!

!

router ospf

network 0.0.0.0/0 area 0

!

line vty

!

end

speedmetal-ospf#

ospfd.conf 配置文件的修改结果如下:

清单 18. Zebra 修改后的 /etc/zebra/ospfd.conf 文件

!

! Zebra configuration saved from vty

! 2003/08/19 14:22:17

!

hostname speedmetal-ospf

password zebra

enable password zebra

!

!

!

interface lo

!

interface eth0

!

interface eth1

!

interface dummy0

!

router ospf

network 0.0.0.0/0 area 0

!

line vty

!

在 Cisco 路由器上配置 OSPF

我们用以下命令来移除 RIP 协议并添加 OSPF 协议:

清单 19. 移除 RIP 协议,添加 OSPF 协议

RouterA#conf term

RouterA(config)no router rip

RouterA(config)#router ospf 100

RouterA(config-router)#network 0.0.0.0 255.255.255.255 area 0

RouterA(config-router)end

我们在路由器 A 和路由器 B 上执行同样的步骤。

使用 OSPF 传播路由

我们的 MRLG 报告是这样的:

清单 20. Zebra 反映的 OSPF 路由

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,

B - BGP, - selected route, * - FIB route

O* 10.0.0.0/32 [110/11] via 192.168.2.2, eth0, 00:00:01

O* 10.0.1.1/32 [110/11] via 192.168.1.2, eth1, 00:02:53

O 10.0.2.0/24 [110/10] is directly connected, dummy0, 00:03:31

C* 10.0.2.0/24 is directly connected, dummy0

K * 127.0.0.0/8 is directly connected, lo

C* 127.0.0.0/8 is directly connected, lo

O* 192.168.0.0/30 [110/58] via 192.168.2.2, eth0, 00:00:01

via 192.168.1.2, eth1, 00:00:01

O 192.168.1.0/30 [110/10] is directly connected, eth1, 00:03:21

C* 192.168.1.0/30 is directly connected, eth1

O 192.168.2.0/30 [110/10] is directly connected, eth0, 00:03:31

C* 192.168.2.0/30 is directly connected, eth0

请注重 10.0.0.1/32 和到 10.0.1.1/32 的路由被标记为 O,说明这些路由是通过 OSPF 得到的。

当我们把从 Zebra 路由器到路由器 A 的连接断开时,路由自动更新。MRLG 生成的报告如下:

清单 21. Failover 之后 Zebra 反映的 OSPF 路由

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,

B - BGP, - selected route, * - FIB route

O* 10.0.0.1/32 [110/59] via 192.168.2.2, eth0, 00:01:10

O* 10.0.1.1/32 [110/11] via 192.168.1.2, eth1, 00:09:46

O 10.0.2.0/24 [110/10] is directly connected, dummy0, 00:10:24

C* 10.0.2.0/24 is directly connected, dummy0

K * 127.0.0.0/8 is directly connected, lo

C* 127.0.0.0/8 is directly connected, lo

O* 192.168.0.0/30 [110/58] via 192.168.1.2, eth1, 00:01:10

O 192.168.1.0/30 [110/10[ is directly connected, eth1, 00:10:14

C* 192.168.1.0/30 is directly connected, eth1

O 192.168.2.0/30 [110/10] is directly connected, eth0, 00:10:24

C* 192.168.2.0/30 is directly connected, eth0

由于 OSPF 是基于链路状态的,所以 failover 速度快得多:新的路由在 30 秒内就可以传播完成。

结束语

我们的出发点是一个简单的需求,那就是我们的网络课程受设备条件所限,需要寻找一个 Cisco 路由器的替代品。Zebra 是一个明智的选择,它在网络上得到了诸多的好评。正如前面我们的实验所示,Zebra 在简单网络环境中完全可以取代 Cisco 路由器,可能也能用于一些更复杂的情形。

无可否认,要转而使用 Zebra 需要一定程度的学习。使用单独的守护进程及单独的配置文件在刚开始时令人费解,但是当我们把这些理顺了以后,感觉它几乎和 Cisco IOS 没什么区别。

总的来说,Zebra 使得在 Linux 上实现动态路由成为一项简单的任务。假如您需要尽快构建一个路由器,而您的预算却有限,不妨试试 Zebra。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有