为啥本来以为在RouterOS上配置BGP就完事了,结果今天发现一个场景,访问一个LB IP超时,但从某个k8s node上访问就正常,通过mtr看到产生了回环,后来猜测是这样的:k8s nodes都使用了旁路网关而不是主路由作为网关,是因为nodes需要拉取docker image,旁路网关有透明代理,而之前的配置是主路由和nodes建立了bgp connection,所以主路由上学习了LB ips, 当请求发到主路由,转到某个node, node并不知道在本机可以处理这个请求,而且LB IP是另一个网段,他就发回自己的gateway了,而gateway又发给主路由,主路由又发回来。。。
这次设置BGP没有使用之前的quagga,因为新版的openwrt默认没有包,不过有frr的一系列,似乎他们是一家?于是有了下文。
Installation
opkg update
opkg install frr-bgpd frr-zebra frr-staticd frr-watchfrr
Configuration
1. /etc/frr/daemons, modify bgp