1
mooyo 1 天前
排版有点问题。。。
|
2
cloudsong 1 天前 via iPhone 写得非常棒。给您锦上添花两点:1. 在 keepalived 中添加 ping 外网地址的功能,防止科学上网插件挂了但是 openwrt 还活着,PREROUTING 链依然存在,但客户端发出的数据包到达旁路由后,防火墙规则会将包扔给指定的端口,此时端口对应的监听进程已经没了,系统内核收到包后发现没有进程认领,通常会直接 DROP 或返回 RST 。2. 如果你所有设备只连接一个交换机就没问题。如果主从之间有交换机,然后下游还有交换机接设备,那么主从之间的交换机一旦坏了,主从都认为自己还活着是主机,就开始竞争给下游发包。这一点可以通过更改网络拓扑解决,大部分人遇不到的
|
3
cloudsong 1 天前 via iPhone
另外还要考虑 dns 用 fakeip ,以及避免 vrrp 震荡的问题。这些我都遇见过。比如出海线路很差,那么有可能系统会在两个线路之间来回切换,表现是游戏断线,视频通话断线。因此线路检测还需要加入一个延时机制,比如连续 ping 失败 3-5 次就切换。以及在你的 Keepalived 配置 fall 3 rise 2 这种,避免网关反复横跳
|
4
metalvest OP @cloudsong #2 你说得非常对。基础 VRRP 配置只检测 keepalived 进程是否存活,无法感知业务层面的故障(如科学上网插件进程假死、dnsmasq 异常、内核转发失效等)。这种“半死”状态会导致 VIP 不切换,客户端流量依然指向已失效的旁路由,造成断网。
这部分需要根据各人自己使用的具体业务自定义需要检查的内容,就不单独写在文章里了,可以自行描述自己的需求让 AI 帮写合适的脚本逻辑 |
5
djw123 1 天前
其实安装 keepalived-i18n 就可以了,web 里面 gui 设置更方便一点
|
6
qwvy2g 1 天前 via Android
记得还有一种方式是网关虚拟实体机的 ip ,实体机 vrrp 是最高的。
|
7
Kinnice 18 小时 13 分钟前
还有一个思路是用路由来做,ospf 这种
|
8
cloudsong 14 小时 23 分钟前 via iPhone
@Kinnice 我见过 ospf 做双线分流,但是那是多运营商分流。你如果要分流科学,那回流要单独处理,确保都去主路由。ip 分流通过路由宣告做掉,这是 l3 ,但是请教一下,l7 这层分流怎么做呢?还是用 singbox 吗?还是用 mosdns ?最后科学挂了之后,tun 是否会自动消失呀? tun 如果还在的话,岂不是依然绕不开业务层监控?
|
9
Kinnice 12 小时 30 分钟前 via Android
@cloudsong 所有流量去主路由,
1 主路由路由分流的路由到旁路设备 2 主路由设置旁路的设备 srcip 直连 对于下层设备 直连: 设备-主路由-互联网 科学: 设备-主路由-旁路-主路由-互联网 旁路可随便断开,ospf 会直接建立不了路由通路走直连或其他,dns 最好无污染,有污染就得依靠旁路的嗅探功能, |
10
Kinnice 12 小时 24 分钟前 via Android
@Kinnice 你也可以理解为就是双 wan ,其中一个 wan 是接到旁路设备的 lan ,这个设备的 wan 又接回主路由的 lan ,只不过做了一个路由配置让他不要环下去
|
11
Kinnice 12 小时 13 分钟前 via Android
@cloudsong 旁路你可以选择直接跑一个 mihomo 或者 singbox ,tun 还是 tproxy 就看你机器性能选择了
主路由( openwrt )跑 bird 和 adguardhome (国内走运营商,其他走旁路的科学工具的 dns ) 旁路( alpine )跑 bird 和科学工具 7 层分流什么的都没问题 旁路挂了,本来没法访问的还是没法访问,直连无任何影响 我现在在两地跑了 2 个方案 vrrp 和 ospf ,发现稳定性几乎一致,节点没全故障过( amy+cn2gia 自建+cnix 自建),以至于都快忘了它们的存在了 |
12
cloudsong 10 小时 25 分钟前 via iPhone
@Kinnice 谢谢。受教了。你这个防环路结构很棒。后面 l7 我打算前面 mosdns 先 dns 分流一次,后面 singbox sniff inbound 兜底。tun 这边还是业务层判断联网来做掉。
|