故事背景:
由于公司主要搞云服务的,起初每个客户的专线网络基本都是由虚拟linux云服务器配置静态路由搭建起来的。但随着业务成长,需求越来越复杂,稳定性要求越来越高。不得不开始考虑更加稳定的网络结构。
首先想到的就是大学玩过的路由协议,选了OSPF路由协议来搭建一个验证环境(后期还能在这基础上实现MPLS)。
拓扑图(拓扑图仅为HM-HK两个POP点之间的专线模拟实验图):
验证环境:云服务器CentOS6.9 + quagga
其中HK、HM、SH1、BJ是每个POP点的核心骨干节点。GW-SH1、GW-HM1、GW-HK1、GW-BJ1分别模拟不同POP点中用户的专线网关。VM-SH1、VM-HM1、VM-BJ1、VM-HK1分别是不同POP点中用户购买的云服务器。
HM-HK,SH1-HK,BJ-HK这三对之间都有主备两条专线。设置不同的ospf cost值。通常情况下数据都走主线路,当主线路有维护或者故障时流量会自动切到备用线路。
开始搭建:
1. 安装quagga,开启zebra和ospfd两个守护进程。
安利一波quagga和FinalShell(linux服务器管理工具);
Quagga是一个开源路由软件套件,可以将Linux变成支持如RIP、OSPF、BGP和IS-IS等主要路由协议的路由器。它具有对IPv4和IPv6的完整支持,并支持路由/前缀过滤。Quagga可以是你生命中的救星,以防你的生产路由器一旦宕机,而你没有备用的设备而只能等待更换。通过适当的配置,Quagga甚至可以作为生产路由器。
FinalShell是国产一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.
特色功能;免费海外服务器远程桌面加速,ssh加速,双边tcp加速,内网穿透.
以下步骤需在上述所有节点上面运行(如果是虚拟云环境,可以配置好一台后建立OSPF模板,从模板直接开出新的云服务器)。
给linux云服务器配置好每个网卡的IP,关闭防火墙,开启ipforward,关闭selinux。
yum install quagga #直接yum安装quagga
cp /usr/share/doc/quagga-0.99.15/zebra.conf.sample /etc/quagga/zebra.conf
cp /usr/share/doc/quagga-0.99.15/ospfd.conf.sample /etc/quagga/ospfd.conf
service zebra start
service ospfd start
chkconfig zebra on
chkconfig ospfd on
vtysh #进入命令行
GW1-SH1# configure terminal
GW1-SH1(config)# log file /var/log/quagga/quagga.log
GW1-SH1(config)# exit
GW1-SH1# write
2. 在每个节点上面配置OSPF
GW-HK1
!
router ospf
ospf router-id 10.192.33.200
networ