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 # 进入交互终端
常见问题排查
- 若BGP会话不UP:检查
chkconfig --list bgpd
服务状态 - 路由未发布:确认
network
声明网段存在真实接口 - 使用
tcpdump -i any port 179
抓包分析
实测结果:在BuyVM $3.5/月款VPS(AS397368)成功建立EBGP会话,完整路由表传播时间约3分28秒。
One thought on “CentOS 7下使用Quagga配置BGP路由完整指南”