找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 1807|回复: 6

[ikuai] ikaui 在docker中使用ospf进行分流上网,实现掉线自动切换 记录

[复制链接]
发表于 2024-6-24 17:11 | 显示全部楼层 |阅读模式
本帖仅为分享,不包含实际教程
这是我弄完后写的,不保证可用


感谢povsister/v2ray-core at app/dns-circuit (github.com) 实现了ospf功能

前提:
ikuai获取了特权容器,具体参见我的上一个帖子
由于ikuai的docker内不支持iptables故需要其他设备(虚拟机)跑v2
由于不想做复杂的ikuai操作,故v2上规则需要注意避免路由环路

优势:
ikuai只做路由查询,性能影响小
ospf断开后自动清理路由实现自动融灾

概述
1. ikuai上启动特权的bird,并配置ospf
创建一个文件夹用于存放bird配置,方便修改,配置大概如下,注意修改ip
  1. log syslog all;
  2. router id {你ikuai的ip};

  3. protocol kernel {
  4.     scan time 20;
  5.     ipv4 {
  6.     import all;
  7.     export all;
  8. };
  9. }

  10. protocol device {
  11.     scan time 10;
  12. }

  13. protocol direct {
  14.     interface "lan1";
  15. }

  16. protocol ospf v2 {
  17. ipv4{
  18.     export all;
  19.     import all;
  20. };
  21.     area 0.0.0.0 {
  22.         interface "lan1" {
  23.         type broadcast;
  24.         hello 10;
  25.         wait 40;
  26.         dead 40;
  27.         retransmit 5;
  28.         cost 10;
  29.         priority 1;
  30.         };
  31.     };
  32. }
复制代码
创建bird容器
  1. docker run -itd --privileged --network host -v /etc/disk_user/{你的磁盘}/{用来存放bird配置的文件夹}:/etc/bird --restart=always ghcr.io/akafeng/bird:latest
复制代码



2. 参考povsister/v2ray-core at app/dns-circuit (github.com) 配置v2级透明代理,配置snat,建议删掉其中的ntp规则,避免环路
不建议使用ubuntu,避免处理systemd-resolve的麻烦
3. ikuai dhcp通告的dns设置一个公共dns(随便乱写也行只是这样v2挂了后就不能上网了)
在v2配置中,将ikuai配置的dns也通告,这样v2在线时就会路由到v2机器上,被透明代理处理,v2掉线就正常走,做到无感

大体如此
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2024-7-2 14:02 | 显示全部楼层
bug问题前两天有请不要发布这类群,谢谢的反馈,这个我在看,最近比较忙可能会修的比较晚。
不过你这个路子我没太看懂,dns路由生效的前提是“师夷长技以制夷”接管DNS查询,你这个DHCP都把DNS下发下去了。DNS请求不是直接发出去了?
还是说,你在“师夷长技以制夷”的persistentRoute把DNS服务器地址也写进去了。

点评

对,在persistentRoute里写dns,这样dns请求就会路由过去被处理了  详情 回复 发表于 2024-7-2 14:09
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-7-2 14:09 | 显示全部楼层
povsister 发表于 2024-7-2 14:02
bug问题前两天有请不要发布这类群,谢谢的反馈,这个我在看,最近比较忙可能会修的比较晚。
不过你这个路子 ...

对,在persistentRoute里写dns,这样dns请求就会路由过去被处理了

点评

不是特别好的办法,但也能应个急。 ISP DNS我目前用下来还是比较重要的,尽量建议和我配置示例的一样,优先用ISP DNS吧  详情 回复 发表于 2024-7-2 14:31
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-7-2 14:31 | 显示全部楼层
great轻狂 发表于 2024-7-2 14:09
对,在persistentRoute里写dns,这样dns请求就会路由过去被处理了

不是特别好的办法,但也能应个急。
ISP DNS我目前用下来还是比较重要的,尽量建议和我配置示例的一样,优先用ISP DNS吧

点评

还有成都联通给的dns是114,我就忽略了这个问题  详情 回复 发表于 2024-7-2 15:03
这个在dhcp通告和persistentRoute中的dns不写isp dns,在配置里的dns用ISP DNS就行,只有旁路挂了才会有问题  详情 回复 发表于 2024-7-2 15:01
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-7-2 15:01 | 显示全部楼层
povsister 发表于 2024-7-2 14:31
不是特别好的办法,但也能应个急。
ISP DNS我目前用下来还是比较重要的,尽量建议和我配置示例的一样,优 ...

这个在dhcp通告和persistentRoute中的dns不写isp dns,在配置里的dns用ISP DNS就行,只有旁路挂了才会有问题
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2024-7-2 15:03 | 显示全部楼层
povsister 发表于 2024-7-2 14:31
不是特别好的办法,但也能应个急。
ISP DNS我目前用下来还是比较重要的,尽量建议和我配置示例的一样,优 ...

还有成都联通给的dns是114,我就忽略了这个问题
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-7-3 14:05 | 显示全部楼层
有没有可能直接用PSW的ipset做ospf通告?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-24 00:31

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表