qugga配置ospf

这两年ospf这个内部网关协议在互联网公司的链路负载均衡上出现的频率越来越高,BAT公司都是用OSPF+LVS做负载均衡。连小米这样的公司也开始这样玩了。ospf的配置实际是比较简单的,主要是一般就网工比较了解这个,其他部门的人都这些都没有任何概念,觉得很生疏。简单贴2个配置文件。

quagga实际是个套件,里面有zebra,ospfd,ripd,bgpd等等。其中zebra是ip路由管理进程,可以去更新kernel的路由、更新本地接口的地址或者在把一个的路由协议的路由表重分发到其他重分发到其他的路由协议,比如把ospfd里的发到bgpd里去。ospfd、ripd、bgpd是各自负责ospd,rip,bgp协议的守候进程。所以一般我们在本地服务器上配置ospf会涉及2个配置文件,一个是zebra的zebra.conf,另外一个是ospfd的ospfd.conf。服务器的上联模式可以选择单上联或者双上联,具体的细节配置需要根据实际的硬件条件(主要是看上联交换机,千兆上联的交换机一般比较屌丝,LSA的支持可能也不够完善,最好使用单上联的模式);默认路由可以本地配置死,也可以就默认通过ospfd从上联交换机学习默认路由,我一般比较推荐千兆上联直接配死。

架设服务器有4个网卡,eth0,eth1做bond连本地的内网接入交换机,eth2单上联到专门配置ospf的交换机。eth2和上联交换机的互联IP是:192.168.20.100/30这个网段,本地使用192.168.20.102这个互联地址,交换机上配置192.168.20.101.本地可以宣告的地址是192.168.200.0/24内的任意地址。

zebra.conf


hostname "XXXX"
password xxxx
enable password xxxxx
log file /var/log/zebra.log
log syslog
interface lo
interface bond0
   link-detect
interface eth2
   link-detect #配置link-detect的好处是链路短掉后上层交换机马上能感知,否则只能等ospf的hello超时才会把这个链路标记为不可用。可以缩短链路故障后的影响时间
interface eth3

ospfd.conf


hostname XXXX
password xxxx
enable password xxxx
log file /var/log/ospf.log
interface bond0
interface eth3
interface eth2
 ip ospf network point-to-point
 ip ospf message-digest-key 1 md5 PASSWORDXXX
 ip ospf hello-interval 1
 ip ospf dead-interval 3
interface lo

router ospf
 ospf router-id YOU_LOCAL_IP
 network 192.168.20.102/30  area 0.0.0.102
 network 192.168.200.0/24 area 0.0.0.102
 area 0.0.0.102 authentication message-digest
line vty

ospfd.conf里需要在interface里配置好网络类型,验证的密码,hello-interval和dead-interval时间。router ospf里需要把互联地址的网段配在network里,也要把想宣告的网段配置在里面。ospfd会把在这个网段内的接口分配后面指定的area里。

这样配置好后先起zebra,再起ospfd,然后在loopback地址上添加一个192.168.200.0/24内的32位掩码的IP,就可以对外宣告出去了(当然,前提是交换机也得做好配置)。

hello-interval和 dead-interval一般默认的时间是10s、40s。这个需要和交换机的配置一致,否则不能建立邻居。启动后一是可以自己看ospfd.log,另外也可以telnet 127.0.0.1 2604去show ip ospf route/neighbor/database 看响应的状态。

此条目发表在net分类目录。将固定链接加入收藏夹。