找回密码
 加入我们
搜索
      
查看: 12566|回复: 31

[网络] OpenWRT路由实现与ROS主路由之间的可靠性方案

[复制链接]
发表于 2024-1-2 12:47 | 显示全部楼层 |阅读模式
本帖最后由 ImRuYi 于 2024-1-3 02:15 编辑

拓扑描述:
主路由是Mikrotik RouterOS(后面简称ROS)路由器,不做复杂操作,高稳定性实现上网需求,即使一两年也不需要重启,IP地址为192.168.88.1,做DHCP服务器,兼做DNS备份服务器和备份网关。
OpenWRT(后面简称OP)是单臂旁挂路由(双网口原理也一样),实现去广告、KX上网等高级操作,IP地址为192.168.88.2,不启用DHCP服务器功能,作为DNS主服务器。(如果用的是虚拟机X86方案,物理软路由原理一样)。不让OpenWRT做主路由是考虑稳定性等各方面原因,如果OpenWRT已经是主路由了,那么就不涉及我描述的问题,可以忽略本文。

目标:
实现OP和ROS之间的 高可靠。当OpenWRT升级或者故障时,自动切换至ROS,家里的所有客户端都不感知,也不中断业务;当OpenWRT恢复后,自动切换至OP。选择一台PC使用ipconfig /all查看DHCP相关配置,发现DHCP服务器是ROS 192.168.88.1,默认网关是VRRP虚拟IP 192.168.88.8,DNS是192.168.88.8。

   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   IPv4 地址 . . . . . . . . . . . . : 192.168.88.80(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2024年1月3日 1:43:22
   租约过期的时间  . . . . . . . . . : 2024年1月4日 1:43:22
   默认网关. . . . . . . . . . . . . : 192.168.88.8
   DHCP 服务器 . . . . . . . . . . . : 192.168.88.1
   DNS 服务器  . . . . . . . . . . . : 192.168.88.8


思路:
OP和ROS之间通过VRRP协议实现高可靠保障。

实现方案:
主路由DHCP服务器,在通过DHCP分配IP地址的时候,指定网关为VRRP虚拟下一跳地址192.168.88.8。
OpenWRT VRRP优先级高于ROS的 VRRP 优先级100,所以OpenWRT的VRRP虚拟网关192.168.88.8活跃,能正常转发流量,可以去广告等高级操作;当OpenWRT故障时,ROS自动升为主,虚拟网关192.168.88.8生效可以转发路由,能正常上网。

ROS上VRRP是默认支持的,创建VRRP接口后使用默认配置即可。状态为B表示Backup,ROS此时为备VRRP状态。
[ROS@Gateway] > /interface vrrp print
Flags: B - BACKUP
Columns: NAME, INTERFACE, MAC-ADDRESS, VRID, PRIORITY, INTERVAL, VERSION, V3-PROT
OCOL, SYNC-CONNECTION-TRACKING
#   NAME   INTERFACE  MAC-ADDRESS        VRID  PRIORITY  INTERVAL  V  V3-P  SY
0 B vrrp1  bridge1    00:00:5E:00:01:33    51       100  1s        2  ipv4  no
[chongchong@Gateway] > /interface vrrp export

/interface vrrp
add authentication=simple interface=bridge1 name=vrrp1 version=2 vrid=51
[ROS@Gateway] >



OP的VRRP通过安装luci-app-keepalived软件包即可,重点是在设置VRRP Instance。设置的图片在下面,用文字表示:
名称:随便填写
状态:选择主设备
接口:选择br-lan或者自己的指定接口
Virtual Router Id:必须和ROS的vrid保持一致,默认51即可。
优先级:这个必须要比ROS的值高,ROS默认值是100,只要大于100即可,我设置的是110。
Virtual IP Address:在前面IP Address页面创建一个192.168.88.8的虚拟IP地址,在此进行关联即可
其他选项可以使用默认值。

vrrp设置

vrrp设置
2024-01-03 01 57 49.png
2024-01-03 01 58 09.png
发表于 2024-1-2 12:47 | 显示全部楼层
挺好的。。。。。。。
发表于 2024-1-2 13:01 | 显示全部楼层
也有同样需求,具体怎么配置VRRP Instance呢?
还有两个问题
1. 如何配置魔法上网不走ipv6,直连双栈呢,因为魔法ipv6有些网站会无法登录,比如网飞... 但因为是移动宽带,只有ipv6能走公网,目前用的魔法是pw,dns是smartdns
2.有网游需求,多一跳就多一个延迟
发表于 2024-1-2 13:04 | 显示全部楼层
牛了!
ikuai不知道能不能支持?
另外请教个openwrt的问题,openwrt能做WINS服务器么?
发表于 2024-1-2 13:14 来自手机 | 显示全部楼层
单臂高可靠性怎么也是VLAN吧
我是一直用vlan的,什么指定dns的关闭dh什么的用不来
发表于 2024-1-2 13:18 | 显示全部楼层
如果是家庭PPPoE接入,那么拨号容易成为SPOF,而拨号不易做类似保活探测之类的。硬要做类似PPPoE断开就改变VRRP优先级这种不是不可以,就是不那么好用。基于这些考虑,我用pfSense做拨号/主路由,存在SPOF。OpenWrt做旁挂,并将OpenWrt设置为pfSense里面的一个gateway,并勾选“Skip rules when gateway is down”。然后增加一条防火墙规则,将需要kx的流量指到OpenWrt上。pfSense会使用ICMP/PING一直探测gateway,当gatway能探测到时,防火墙规则生效,将流量发送至OpenWrt。当openwrt维护/升级时,pfSense探测不到openwrt,自动禁用相关防火墙规则,流量走WAN。该方法的问题是pfSense探测有窗口,在窗口内ping包丢失到一定量才判定为gateway down,所以做不到一秒之内切换,但规则启用/禁用好歹是自动,无需干预,也不是不能用。
发表于 2024-1-2 13:31 | 显示全部楼层
后续如果有可靠的实施过程可以的话也想学习下,我也有这需求
发表于 2024-1-2 13:34 | 显示全部楼层
思路学习
 楼主| 发表于 2024-1-2 14:04 | 显示全部楼层
nidrbingge 发表于 2024-1-2 13:31
后续如果有可靠的实施过程可以的话也想学习下,我也有这需求

晚上我把具体的配置截图发上来
 楼主| 发表于 2024-1-2 14:09 | 显示全部楼层
ghwwx 发表于 2024-1-2 13:04
牛了!
ikuai不知道能不能支持?
另外请教个openwrt的问题,openwrt能做WINS服务器么? ...

ikuai私有,不确定是否有keepalived这个包,如果可以编译源码,可以下载keepalived源码进行编码。之前我在OP下也是这么干的。
OP下搞WINS服务器没干过,搜了一下软件包没找到,估计够呛
发表于 2024-1-2 14:25 | 显示全部楼层
事实是op不去折腾它,稳定性和ros有的一拼
发表于 2024-1-2 20:55 | 显示全部楼层
目前只是简单的ip分流至op,adguard分流,没啥的了。。。
发表于 2024-1-3 14:45 | 显示全部楼层
单臂旁挂路由这样的操作,当你下载的时候不就同时占用上传?太不合理了。

我感觉你这个高可用更多的只是心理作用,还不如单路由。
发表于 2024-1-3 14:52 | 显示全部楼层
之前跟你一样折腾过rb5009和软op之间的vrrp,后来换成mac mini surge做旁了就没继续折腾了
发表于 2024-1-3 14:53 | 显示全部楼层
目前也在用软路由ROS+OP的方案,晚上试一下看看这个方案效果如何

LZ能否提供一下ROS的详细图形配置说明
发表于 2024-1-3 15:10 | 显示全部楼层
小希来啦 发表于 2024-1-3 14:45
单臂旁挂路由这样的操作,当你下载的时候不就同时占用上传?太不合理了。

我感觉你这个高可用更多的只是心 ...

常见的千兆网卡是能同时跑上传 下载 千兆的
不是只能跑到1000/2
发表于 2024-1-3 15:43 | 显示全部楼层
magiclu 发表于 2024-1-3 15:10
常见的千兆网卡是能同时跑上传 下载 千兆的
不是只能跑到1000/2

这样操作就是不合理,假设一种情况就是一台设备全速下载,那么上下行不就都挤爆了,还不如光猫---路由---路由---交换机呢
发表于 2024-1-3 16:33 | 显示全部楼层
小希来啦 发表于 2024-1-3 15:43
这样操作就是不合理,假设一种情况就是一台设备全速下载,那么上下行不就都挤爆了,还不如光猫---路由--- ...

相比传统方案 是存在挤爆的的可能的 不过能把千兆跑满的情况很少见的

我是下载的电脑 里同时跑着软路由虚拟机 单网卡 实际上网卡的总进出没那么高 因为基本都在内部的虚拟交换机里

目前还没有遇到下载的时候 玩游戏网络卡的问题

如果我要完全解决这个问题 用2.5g的网卡即可 我是几年前买的主板上有2.5g的网卡 不过当时2.5g的交换机比较贵 就一直跑在千兆
现在2.5g的交换机便宜了 都懒得换了
发表于 2024-1-3 17:51 | 显示全部楼层
sillencehitman 发表于 2024-1-2 14:25
事实是op不去折腾它,稳定性和ros有的一拼

的确如此,不知道很多人都说OP不稳定的都装了那些插件,我的OP软路由般除了更新系统版本,可以几个月都不重启的
发表于 2024-1-3 22:58 | 显示全部楼层
直接ROS ip-route里 设置 check-gateway=ping就行了。
发表于 2024-1-4 08:35 | 显示全部楼层
OP、pfSense这类对多线路相对没那么友好,不如爱快之流用着舒服,不然用用还是不错
 楼主| 发表于 2024-1-4 09:10 来自手机 | 显示全部楼层
zsecsqawdx 发表于 2024-1-3 22:58
直接ROS ip-route里 设置 check-gateway=ping就行了。

这种方案是只能设置不同的gateway?所有的客户端要再次DHCP分配
发表于 2024-1-4 10:01 | 显示全部楼层
本帖最后由 zsecsqawdx 于 2024-1-4 10:19 编辑
ImRuYi 发表于 2024-1-4 09:10
这种方案是只能设置不同的gateway?所有的客户端要再次DHCP分配


防OP挂,ROS主路由,DHCP到ROS,ROS控制路由和DNS劫持就行了。
如果需要ROS做目标地址分流呢?
 楼主| 发表于 2024-1-5 09:31 来自手机 | 显示全部楼层
op做类似功能是不是更方便一些
发表于 2024-1-5 09:56 | 显示全部楼层
ros rb5009 + Openwrt @极空间虚拟机路过
你这么复杂干啥
我双线 电信+移动
ros 默认全家设备走移动,不走OP
然后指定设备比如我的电脑 电视机 几个盒子,Ros指定网关走OP

这样的好处是OP挂了也不影响全家其他人和设备上网,只影响我指定的几个设备(处理方式 我登录下OP切换下节点或重启OP)
发表于 2024-1-5 13:15 | 显示全部楼层
本帖最后由 leviz 于 2024-1-5 13:21 编辑
Glamour 发表于 2024-1-5 09:56
ros rb5009 + Openwrt @极空间虚拟机路过
你这么复杂干啥
我双线 电信+移动


我和你差不多
ros+op
双线 电信+联通
默认有线无线都走电信,联通开了个新路由表,ros指定终端走联通或op
切换很方便,winbox设置即可,终端都是dhcp获取ip

op稳定靠不折腾
发表于 2024-1-5 14:21 | 显示全部楼层
leviz 发表于 2024-1-5 13:15
我和你差不多
ros+op
双线 电信+联通

ros支持 dhcp可以给不同的设备指定不同的网关  
还是挺方便的  
发表于 2024-1-5 14:34 | 显示全部楼层
牛, 这个可以参考下
发表于 2024-1-7 19:23 | 显示全部楼层
请问,ros +op,op是旁路由,可以用这个方案吗
 楼主| 发表于 2024-1-7 21:52 | 显示全部楼层
415793633 发表于 2024-1-7 19:23
请问,ros +op,op是旁路由,可以用这个方案吗

可以啊,我在帖子写的就是OP是旁路由场景,和你的一样
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-4-26 20:20 , Processed in 0.016913 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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