xjx0524

请教关于「旁路由」的使用

  •  
  •   xjx0524 · Sep 23, 2023 · 7774 views
    This topic created in 1137 days ago, the information mentioned may be changed or developed.
    我理解的现在旁路由的设置方式应该是有两种:
    1 、主路由、旁路由互相将网关指向对方,这样整个局域网内设备都会经过旁路由
    2 、只有旁路由网关指向主路由,局域网内设备需要手动配置网关才可以使用旁路由

    想问的是,如果使用 1 的方案,有没有可能在旁路由 挂了 或 瞎配置网络不通 的情况下,主路由自动的不再使用旁路由。有什么比较成熟的方案达到这种效果吗?
    Supplement 1  ·  Sep 24, 2023
    方案一描述有误,实际应为主路由下发 dhcp 配置网关指向旁路由。
    因为目前是单主路由,没有实际操作过旁路由的设置,只是看了些乱七八糟的教程,所以理解不是很正确。

    通过大家的讨论和搜索,了解到 vrrp 或策略路由等新知识,也打算学习下 ROS 、pfsense 、opnsense 这些系统,生命在于折腾(狗头
    31 replies  •  2023-09-28 18:45:14 +08:00
    Alwaysonline
    Alwaysonline
    Sep 23, 2023
    1
    我认知中,旁路由只有第 2 种,

    第 1 种不是正常方式,也会出现你现在担忧的问题。
    chronos
    chronos
    Sep 23, 2023❤️1
    2
    我有个想法,需要主路由和旁路由都是软路由。

    1. 首先让主路由负责 DHCP ,并让 DHCP 分配的网关 IP 指向一个 VIP 。
    2. 旁路由的路由网关 IP 指向主路由。
    3. 主路由写一个检测脚本监控旁路由的上网,如果成功就将 VIP 指向软路由,失败就将 VIP 指向主路由。
    xjx0524
    xjx0524
    OP
    Sep 23, 2023
    3
    @chronos 搜了下有 vrrp 协议和 keepalived 这个工具,打算研究一下
    leonshaw
    leonshaw
    Sep 23, 2023 via Android
    4
    PBR + track
    zhy0216
    zhy0216
    Sep 23, 2023 via Android
    5
    你用第二种 然后主路由分配地址的时候网关指向旁路由就好了 不需要手动设置
    dream0689
    dream0689
    Sep 23, 2023 via iPhone
    6
    目前用的第二种方案,实际上也没必要所有设备都过旁路由吧,毕竟会多一次转发,增加延迟。
    ik0r
    ik0r
    Sep 23, 2023❤️1
    7
    目前在用第二种,用的是 RouterOS 。
    下发 DHCP 配置的时候,部分 MAC 地址下发网关指向旁路由,其余设备仍然下发网关指向主路由。
    主路由配置定时任务,定时检查旁路由是否在线,如果旁路由离线,就把下发的旁路由改为下发主路由。
    uses090
    uses090
    Sep 23, 2023 via iPhone
    8
    第一和第二种没有任何区别,网关互指是 dhcp 层面的事情,无非就是全走旁路了而已,并没有多增加一次转发
    uses090
    uses090
    Sep 23, 2023 via iPhone❤️1
    9
    另外可以通过 sdwan 实现可编程的网络设计,只是设备很贵
    xjx0524
    xjx0524
    OP
    Sep 23, 2023
    10
    @Jeremial 请教下,下发网关配置具体是怎么做到的呢? openwrt 上只看到有静态地址分配
    dream0689
    dream0689
    Sep 23, 2023 via iPhone
    11
    @uses090 我今天发现主路由如果设置出口策略选路,旁路由会影响使用效果。假设针对局域网的指定 ip 段(如 192.168.0.10-19)做仅使用出口 WAN1 ,那么对应设备(如 192.168.0.14)的网关 ip 就不能指向旁路由(如 192.168.0.2),要指向主路由(如 192.168.0.1),否则只会执行针对旁路由 ip(192.168.0.2)的选路,而不会执行设备本身(192.168.0.14)的仅使用 WAN1 出口。
    实际上设备(如 192.168.0.14)网关指向访问旁路由(如 192.168.0.2)访问外网时,trace 时第一跳是 192.168.0.2 ,第一跳是 192.168.0.1 。
    bjzhou1990
    bjzhou1990
    Sep 23, 2023❤️1
    12
    策略路由,非国内 IP 走旁路网关,默认走主网关,同时对旁路网关开启 gateway check ,掉线自动禁用,这是我现在 ROS 的策略,openwrt 也有策略路由的功能,应该也能实现这个逻辑
    y1y1
    y1y1
    Sep 23, 2023
    13
    也不知道是哪个小天才想出来的这个叫法,主路由的网关又不是旁路由,只不过是把主路由 dhcp 下发的网关从主路由 ip 修改为旁路由 ip 。
    你说的这俩其实没啥区别,无非是第二种需要在设备上手动修改网关罢了。
    ik0r
    ik0r
    Sep 23, 2023
    14
    @xjx0524 #10 我不太清楚 openwrt 怎么选择性下发 dhcp option.
    主路由只用过 routeros, 配置分配静态 IP 的时候,可以配置这个 IP 接收不同的 dhcp option, 包含 DSN server ip, gateway ip.
    cslive
    cslive
    Sep 23, 2023 via Android
    15
    我选择方法 2 ,局域网内手动指定网关,旁路由坏掉不会影响主路由
    lo0pback
    lo0pback
    Sep 23, 2023
    16
    我是做了 vrrp
    bao3
    bao3
    Sep 24, 2023
    17
    第一种如果互指,有没有形成路由环路……一个 arp ,从主路由广播到旁路由,再从旁路由广播回主路由…… vrrp 也并不能解决问题,还是跟前面朋友提到的,在主路由 dhcp 里把网关设定为旁路由吧。
    xixiv5
    xixiv5
    Sep 24, 2023
    18
    我用第一种 因为我是 all in boom 要挂一起挂
    neroxps
    neroxps
    Sep 24, 2023 via iPhone
    19
    这种拓扑,不知道为什么必须要分 2 个路由,随便一方炸了都出问题,何不合在一起?
    neroxps
    neroxps
    Sep 24, 2023 via iPhone
    20
    @bao3 是路由环路,不是 arp 。得做路由策略防止路由环路。不是简单的所谓“网关互指”
    bao3
    bao3
    Sep 24, 2023
    21
    @neroxps 你说得我懂,但我说得你不懂。arp 只是举一个广播域的例子。做路由策略我当然懂,楼主并没有提这个。楼主能这样互指,应该他并不熟悉路由,所以他也不知道 vrrp ,谈路由策略,似乎对方案一没有帮助。更好的方式就是方案二,省心。
要说路由策略,连城网核心 bgp 我都要设计调试,但没必要和楼主去做讨论,拿原子弹解决旁路由,可能你会觉得有意义,我觉得就是空气
    neroxps
    neroxps
    Sep 24, 2023 via iPhone
    22
    @bao3 emmm 拿 L2 的协议去讨论 L3 的场景,我挺担心你家的城域网。
    bao3
    bao3
    Sep 24, 2023
    23
    @neroxps 抱歉,原来 arp 是 Layer 2 ,我一直以为它是 layer2 和 layer 3 之间的协议。是我的锅
    nieccyyy
    nieccyyy
    Sep 24, 2023 via iPhone
    24
    方案 2 比较好,也可以拓展一下,主路由 dhcp 下发网关和 dns 指定到旁路由。
    chinni
    chinni
    Sep 24, 2023❤️1
    25
    还有第三种
    主力出口路由器 A
    代理服务器所在设备 B
    局域网其他设备 CDE
    B 网关是 A, CDE 网关是 A
    在 A 设备的 mangle 表 来区分 CDE 或者其他 把他的 next hop 设置为 B
    这样也可以的. 另外 A 设备还能根据 dst ip 来设置是否 next hop 为 B 或者 从 A 直接出去.
    以上描述 就是 policy based route (pbr)
    HOOC
    HOOC
    Sep 24, 2023 via iPhone❤️2
    26
    @xjx0524 routeros 在 winbox 下可以设置 dhcp option set 为某些设备分配特殊网关和 dns ,openwrt 需要修改/etc/dnsmasq.conf ,在里面添加 dhcp-host 和 dhcp-option 实现类似的功能。
    Sn00w
    Sn00w
    Sep 24, 2023
    27
    方案 1 与方案 2 本质上大体是一样的
    要说明的是,在方案 1 中主路由设置旁路由为网关,并不是说把主路由的网关设置成旁路由,而是告诉主路由下面的设备应该使用旁路由地址作为其网关。主路由所使用的网关是不会被更改的,比如在我的场景下,我的主路由的网关依然是光猫。
    这也就是为什么主路由旁路由网关”互指“没有造成循环的原因
    lj0014
    lj0014
    Sep 25, 2023❤️1
    28
    vrrp 可以实现自动故障转移网关,我有发贴分享过。
    我现在主路由是爱快,使用分流模块的下一跳网关来指向旁路由,也能实现自动故障转移。
    Ipsum
    Ipsum
    Sep 25, 2023
    29
    为啥搞这么复杂?直接 dns 分流器,需要扶墙的域名转发到 clash 的 dns ,其他走正常 dns 。配上 clash 的 fakeip ,主路由设置 fakeip 的静态路由到 clash 网关不就行了?
    gunner168
    gunner168
    Sep 28, 2023 via iPhone
    30
    padavan 可以用脚本自动检测旁路由状态,如果旁路由在线就将 dhcp 设为旁路由,反之如果检测不到旁路由就自动改回来,openwrt 不太清楚,理论上应该还是可以实现的
    windrun
    windrun
    Sep 28, 2023❤️1
    31
    @xjx0524 #10 openwrt 可以参考我之前写的 https://www.haoyizebo.com/posts/d461b93f/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3269 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 04:25 · PVG 12:25 · LAX 20:25 · JFK 23:25
    ♥ Do have faith in what you're doing.