IPv4 Lease Advertisement

CentOS 7下使用Quagga配置BGP路由完整指南

前言:本文记录在BuyVM CentOS 7 VPS上成功部署Quagga实现BGP路由的全过程。测试环境为CentOS 7.9,需预先切换阿里云镜像源官方源停更解决方案)。

一、环境准备

# 安装Quagga
yum install quagga -y

# 配置目录初始化
cd /etc/quagga
rm -rf zebra.conf
touch zebra.conf
touch bgpd.conf

💡 说明:删除默认zebra.conf避免冲突,新建空配置文件

二、核心服务控制

# 启动服务并设开机自启
service bgpd start
service zebra start
chkconfig bgpd on
chkconfig zebra on

三、防火墙与内核设置

# 重置iptables规则
rm -rf /etc/sysconfig/iptables
service iptables restart

# 启用IPv4转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

⚠️ 关键:必须开启IP转发否则路由无效

四、BGP配置模板(bgpd.conf)

! 粘贴到/etc/quagga/bgpd.conf
router bgp 397368
 network 167.253.79.0/24
 neighbor 169.254.169.179 remote-as 53667
 neighbor 169.254.169.179 password 密码
 neighbor 169.254.169.179 ebgp-multihop 2
 neighbor 169.254.169.179 update-source 209.141.53.96
 neighbor 169.254.169.179 next-hop-self
!
line vty
!
end

🔑 参数详解:

  • ebgp-multihop 2:解决非直连EBGP邻居的TTL限制
  • update-source:指定BGP连接源地址
  • next-hop-self:避免下一跳不可达问题

五、服务调试命令

# 配置重载
service zebra reload && service bgpd reload

# 连接测试
telnet localhost 2605
vtysh  # 进入交互终端

常见问题排查

  1. 若BGP会话不UP:检查chkconfig --list bgpd服务状态
  2. 路由未发布:确认network声明网段存在真实接口
  3. 使用tcpdump -i any port 179抓包分析

实测结果:在BuyVM $3.5/月款VPS(AS397368)成功建立EBGP会话,完整路由表传播时间约3分28秒。

One thought on “CentOS 7下使用Quagga配置BGP路由完整指南

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注