内行透底:13年运维,评论失焦该拨正BGP了
|
我原以为 BGP 就是个跑路由的协议,去年清明节那事给我扇了个大嘴巴。那天是周三,上午九点半,我蹲在机房机柜间理线,旁边驻场的小吴突然拍我肩膀,说核心区的一条专线刷不通了。我掏出来电的工单看,是东边写字楼的新客户,刚割接完 BGP 邻居,说早上就没数据进来。 我拉着小吴扎进操作间,登路由器的时候才发现,之前改的 peer 组里,居然混了三台别的客户的地址——这是我前阵子赶项目的后遗症,把不同 AS 的邻居塞到同一个空组里了。小吴还在念叨:“这都踩过多少遍坑了,怎么还犯?”我没说话,登进设备敲 display bgp peer 时,那串冗余的邻居条目晃得眼睛疼——之前总觉得,只要把邻居配对、路由策略调通就万事大吉,根本没顾上 BGP 最核心的“优胜劣汰”逻辑,把本应按规则淘汰的无效邻居给留成了定时炸弹。 你说这是不是本末倒置?总在揪着邻居的路由前缀写过滤,却忘了 BGP 本身靠的就是“选路先看邻居优先级,再看前缀,最后看属性”的这套规则。那天的故障,根源不是某条路由没通,是我自己把 BGP 的核心逻辑给弄丢了——选路规则的“优胜劣汰”是 BGP 的命门,结果我把它当普通路由协议瞎改,能不出事吗? 想起哪年夏天,老陈带着我调一条跨洲专线的 BGP,那会刚接触反射器,老陈蹲在地上啃包子,说 BGP 最忌讳的就是“乱改属性、漏清冗余”,它就是个靠规则拼输赢的选手,你给它塞错信息,它能把最优路给你扔了。我那会还嫌老陈啰嗦,觉得只要能连通就行,结果那次为了赶上线,没清干净旧 peer 的前缀过滤,导致两条同优先级的路来回跳,折腾了整整三天才搞定,最后还是老陈说“你看,它只认你给的规则,你没给它明确淘汰,它就乱选”,才把问题定下来。 回到清明节那天,我先把那三台冗余的邻居删掉,再把新客户的 peer 组单独建了一个,把路由策略的优先级往前调了三位——就按老陈当年说的,先看邻居的本地优先级,再看 AS 路径,最后看 origin。改完刷新 BGP 路由表,三分钟后专线就通了,小吴在旁边喊“成了”,我却盯着屏幕上的路由条目发呆,原来不是 BGP 不听话,是我根本没把它的“优胜劣汰”当回事,总在评论它“选路乱、邻居多”,却没自己先把失焦的规则拨正。 后来我跟几个同行聊,说现在好多运维,一提 BGP 就头疼,要么怕配错邻居,要么怕路由乱跳,其实不是 BGP 复杂,是我们总盯着表面故障,忘了它的核心逻辑——选路的“优胜劣汰”是天生的,你得先把它的规则框正,再谈别的。就像那天,我没先拨正自己的配置,反而去怪 BGP,这不是本末倒置吗? 哦对,那天小吴还拿他手机给我看,说前阵子有个新运维,把公网 BGP 邻居配到私网里,结果整个园区断了俩小时,那哥们还说“BGP 太坑了”。我没接话,就想起老陈当年蹲地上啃包子的样子,那会他手里的包子馅都漏到裤腿上了,他都没顾上擦,就盯着我敲的配置,说“你看,这规则错了,BGP 就给你瞎跑,它才不管你是不是新客户、是不是节假日”。 后来我再调 BGP,再也不先写路由策略了,先把邻居的优先级、 peer 组的划分、冗余邻居的清理挨个查一遍,确保“优胜劣汰”的逻辑没被打乱。上个月有个客户的专线又出问题,我按这个流程走,十分钟就把冗余的邻居清了,路由就通了。那会我才明白,好多人评论 BGP“难搞”“混乱”,其实是我们自己把焦点放错了地方——别盯着它最后选的那条路,先看看自己有没有把它的“优胜劣汰”规则给拨正,规则正了,它自然就不会乱选。 哦还有,上次跟老陈喝啤酒,我还提了当年夏天的事,老陈笑我“那会你小,没吃过亏,现在知道 BGP 不是靠脸吃饭的,是靠规则吃饭的”。我端着啤酒杯碰他,说“现在我知道了,以后再也不瞎评论 BGP 了,先把自己的配置拨正再说”。老陈喝了一口,说“这就对了,BGP 这东西,你越把它当回事,它越听话,你越瞎改,它越给你捣乱”。 我还想补一句,我之前总觉得,运维就是把设备配通就行,现在才知道,运维还要懂协议的核心逻辑,别让自己的评论失焦——与其说 BGP 混乱,不如说自己没把它的“优胜劣汰”规则搞清楚。就像那天清明节,我花了一个小时才把配置改对,要是早一点想起“优胜劣汰”是 BGP 的核心,说不定故障十分钟就能搞定。
文章配图,仅供参考 对了,上个月有个刚入行的小孩问我,BGP 最该注意什么,我没跟他说什么复杂的配置,就说“先把邻居划清楚,把冗余的都删了,把路由策略的优先级按规则调好,剩下的交给它的优胜劣汰,比你自己瞎折腾管用”。小孩似懂非懂的点了点头,我心里想,当年我也是这么过来的,总觉得协议要靠复杂的配置撑着,其实不然,把核心逻辑搞透,比什么都强。现在我调 BGP,都先把所有的 peer 组列出来,挨个检查有没有混不同 AS 的邻居,有没有冗余的前缀,有没有漏清的旧配置,确保“优胜劣汰”的规则没被打乱。再也不会像去年清明节那天一样,犯那种低级错误了。毕竟,干了十三年运维,这点教训还是得记牢——别总去评论协议怎么样,先把自己的事做对,把核心规则拨正,才是真的。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


内行透底:GTID复制,让MySQL容灾不再靠运气
内行透底:EXPLAIN 拆解,慢查询秒变 50ms 的硬招
内行透底:推送点击率<5%,用户早烦透了
内行透底:5G时延
内行透底,443端口封堵后攻击流量直降90%
内行透底:3步调优,让gRPC服务吞吐量飙200%
内行透底:TCP窗口调优,3步搞定模型毫秒响应

