V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrGba2z
V2EX  ›  宽带症候群

RouterOS dhcp 下发的网关信息可以做 failover 吗

  •  
  •   MrGba2z · 2023-03-21 14:22:37 +08:00 · 1269 次点击
    这是一个创建于 611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如主路由 ROS 是 192.168.0.1 局域网里有个透明网关是 192.168.0.2

    主路由下发 192.168.0.2 实现透明梯子,但如果 192.168.0.2(这个是 pve 虚拟的,考虑可能会把 pve 折腾炸) 挂了能有办法自动 failover 到 192.168.0.1 吗?

    或者大家有啥更好的方案么

    现有的设备是 硬路由 ROS ( 5009 )
    一个 R730 装了 PVE

    需求:默认透明翻,PVE 炸了的话能快速切回直连的模式

    另一个想法是 PVE 里虚拟出来的路由直通 730 的 10G 网口 然后接一个交换机 连接到这个交换机的都走 192.168.0.2 ,连接 5009 的都直连。PVE 炸了直接切换交换机的网线就好。。(但好像这个和进 ROS 改一下下发网关也差距不大)
    24 条回复    2023-03-24 19:46:56 +08:00
    yanyanjia
        1
    yanyanjia  
       2023-03-21 14:29:08 +08:00 via Android   ❤️ 1
    走 ospf 分流呀
    ZGLHHH
        2
    ZGLHHH  
       2023-03-21 14:37:41 +08:00   ❤️ 1
    用 VRRP 协议。
    用虚拟 IP 作为网关,PVE Host 高优先级,Router 为低优先级,且设置抢占模式来实现 PVE Host 恢复后自动把流量切换回去。
    fastcache
        3
    fastcache  
       2023-03-21 14:42:25 +08:00
    @ZGLHHH 考虑一个问题,PVE 科学挂了,内网没断,VRRP 还是不会切
    ZGLHHH
        4
    ZGLHHH  
       2023-03-21 14:45:31 +08:00
    @fastcache PVE Host 作为 Linux 主机,可以搭配 keepalived 的自定义脚本功能来实现动态调整优先级
    MrGba2z
        5
    MrGba2z  
    OP
       2023-03-21 14:55:32 +08:00
    感谢各类老哥们提供关键字 正在光速学习中 (感谢已送上)

    @yanyanjia
    @ZGLHHH
    JoeoooLAI
        6
    JoeoooLAI  
       2023-03-21 15:39:06 +08:00
    偶遇一个同样用 rb5009 的 op ,进来学习一下
    我目前在用 dhcp option 让部分设备走梯子的网关,不知道这种情况不知道有没有办法也能做到 failover.
    fs20
        7
    fs20  
       2023-03-21 15:48:20 +08:00
    家里是 PVE 里面一个 ROS x86 ( 172.16.1.2 )拨号,一个 Openwrt ( 172.16.1.9 )跑梯子服务
    起 VRRP ,ros 下发的虚拟网关为 172.16.1.1
    Openwrt 高优先级,默认正常是全网翻,Openwrt 炸了或者我折腾到重启了,网关会指到 ROS
    ych8398527
        8
    ych8398527  
       2023-03-21 15:51:07 +08:00
    好像有次在 youtube 看到一个方法

    用 firewall 创建规则转发所有流量到 pve 的虚拟路由

    用 Scheduler 定时 ping 虚拟路由,如果超时 5 次就禁用规则,复活了就启用规则
    MrGba2z
        9
    MrGba2z  
    OP
       2023-03-21 16:00:51 +08:00
    @fs20 暂时看下来似乎 VRRP 比较方便 打算今晚折腾下
    terrancesiu
        10
    terrancesiu  
       2023-03-21 16:14:36 +08:00
    按一楼说的,ospf ,一劳永逸。
    eijnix
        11
    eijnix  
       2023-03-21 16:33:22 +08:00
    学习到了
    noahzh
        12
    noahzh  
       2023-03-21 18:26:34 +08:00   ❤️ 1
    目前最简单方法,就是使用 clash fake ip ,监控到 clash 下线,直接自动 disable fakeip 路由就完了
    neroxps
        13
    neroxps  
       2023-03-21 19:05:11 +08:00 via iPhone   ❤️ 1
    neroxps
        14
    neroxps  
       2023-03-21 19:07:14 +08:00 via iPhone
    更多的是需要防止应用层( dnsmasq ? clash ?)等程序炸了,但 op 还活着的情况。这种情况 ospf 不能切换的。但是 dns 炸了
    sentivcn
        15
    sentivcn  
       2023-03-22 01:33:25 +08:00
    都有 routeros 了,直接 mangle 分流啊
    xiaoke
        16
    xiaoke  
       2023-03-22 08:18:44 +08:00 via Android
    我也是担心这个问题。n1 做透明网关,然后通过 ros 下发不同的网关给客户端,但目前来看已经两年,还没遇到旁路由挂的情形。
    MrGba2z
        17
    MrGba2z  
    OP
       2023-03-22 11:19:34 +08:00
    @noahzh 监控到 clash 下线这一步是像 13 楼那样的 ros 脚本么?
    MrGba2z
        18
    MrGba2z  
    OP
       2023-03-22 11:20:20 +08:00
    @neroxps 你这么一说好像这种情况 vrrp 也没法切换 ( op 活着但是 clash 炸了的情况)
    gearfox
        19
    gearfox  
       2023-03-22 11:34:21 +08:00
    我也是硬件 ros+低功耗破烂搭的 openwrt ,其实并没有那么容易掉
    neroxps
        20
    neroxps  
       2023-03-22 12:17:17 +08:00 via iPhone   ❤️ 1
    @MrGba2z 我以前遇到的情况是 openclash 刷新订阅失败后,下载空白的 yaml 文件,导致 clash 启动失败。然后 dns 就炸了。所以我脚本只检查 dns 查询情况,查不到就是炸了,炸了立刻切 ros 的 dns ,简单粗暴。

    也不需要防火墙分流了,吃性能,用路由表直接分。

    fake-ip ,国内域名拿真 ip ,ros 直接出去,国外域名 fake-ip 走 op 舒服一批,
    MrGba2z
        21
    MrGba2z  
    OP
       2023-03-22 14:33:34 +08:00
    @neroxps

    能请教下 ros 的 firewall 里 mangle 那条规则是怎么写的么?
    mrzx
        22
    mrzx  
       2023-03-22 17:05:29 +08:00
    vrrp 是最佳解决方案

    弄一个虚拟 ip 出来 192.168.0.3 平时 0.3 在 PVE 上,PVE 挂了,0.3 的 IP 会自动切换到 routeros 5009 上。
    mrzx
        23
    mrzx  
       2023-03-22 17:07:22 +08:00
    @MrGba2z vrrp 是网络层的,怎么能管得了应用层的事情。。。chash 是应用层的问题,只能通过脚本解决。大致是监控 chash 挂了,让 PVE 里的 OP 直接关闭接口就行。
    thereone
        24
    thereone  
       2023-03-24 19:46:56 +08:00   ❤️ 1
    openwrt 的 Keepalived 的配置监控啊,一旦翻墙的挂了自动降低优先级。keepalived 配合其它脚本也行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:41 · PVG 21:41 · LAX 05:41 · JFK 08:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.