1
Alwaysonline 2023-09-23 15:48:48 +08:00
我认知中,旁路由只有第 2 种,
第 1 种不是正常方式,也会出现你现在担忧的问题。 |
2
chronos 2023-09-23 17:08:30 +08:00 1
我有个想法,需要主路由和旁路由都是软路由。
1. 首先让主路由负责 DHCP ,并让 DHCP 分配的网关 IP 指向一个 VIP 。 2. 旁路由的路由网关 IP 指向主路由。 3. 主路由写一个检测脚本监控旁路由的上网,如果成功就将 VIP 指向软路由,失败就将 VIP 指向主路由。 |
4
leonshaw 2023-09-23 18:08:44 +08:00 via Android
PBR + track
|
5
zhy0216 2023-09-23 19:06:36 +08:00 via Android
你用第二种 然后主路由分配地址的时候网关指向旁路由就好了 不需要手动设置
|
6
dream0689 2023-09-23 20:23:09 +08:00 via iPhone
目前用的第二种方案,实际上也没必要所有设备都过旁路由吧,毕竟会多一次转发,增加延迟。
|
7
Jeremial 2023-09-23 20:46:22 +08:00 1
目前在用第二种,用的是 RouterOS 。
下发 DHCP 配置的时候,部分 MAC 地址下发网关指向旁路由,其余设备仍然下发网关指向主路由。 主路由配置定时任务,定时检查旁路由是否在线,如果旁路由离线,就把下发的旁路由改为下发主路由。 |
8
uses090 2023-09-23 20:56:14 +08:00 via iPhone
第一和第二种没有任何区别,网关互指是 dhcp 层面的事情,无非就是全走旁路了而已,并没有多增加一次转发
|
9
uses090 2023-09-23 21:02:01 +08:00 via iPhone 1
另外可以通过 sdwan 实现可编程的网络设计,只是设备很贵
|
11
dream0689 2023-09-23 21:13:04 +08:00 via iPhone
@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 。 |
12
bjzhou1990 2023-09-23 21:40:37 +08:00 1
策略路由,非国内 IP 走旁路网关,默认走主网关,同时对旁路网关开启 gateway check ,掉线自动禁用,这是我现在 ROS 的策略,openwrt 也有策略路由的功能,应该也能实现这个逻辑
|
13
y1y1 2023-09-23 21:43:24 +08:00
也不知道是哪个小天才想出来的这个叫法,主路由的网关又不是旁路由,只不过是把主路由 dhcp 下发的网关从主路由 ip 修改为旁路由 ip 。
你说的这俩其实没啥区别,无非是第二种需要在设备上手动修改网关罢了。 |
14
Jeremial 2023-09-23 21:49:37 +08:00
@xjx0524 #10 我不太清楚 openwrt 怎么选择性下发 dhcp option.
主路由只用过 routeros, 配置分配静态 IP 的时候,可以配置这个 IP 接收不同的 dhcp option, 包含 DSN server ip, gateway ip. |
15
cslive 2023-09-23 22:37:49 +08:00 via Android
我选择方法 2 ,局域网内手动指定网关,旁路由坏掉不会影响主路由
|
16
lo0pback 2023-09-23 23:11:35 +08:00
我是做了 vrrp
|
17
bao3 2023-09-24 01:36:19 +08:00
第一种如果互指,有没有形成路由环路……一个 arp ,从主路由广播到旁路由,再从旁路由广播回主路由…… vrrp 也并不能解决问题,还是跟前面朋友提到的,在主路由 dhcp 里把网关设定为旁路由吧。
|
18
xixiv5 2023-09-24 05:13:59 +08:00
我用第一种 因为我是 all in boom 要挂一起挂
|
19
neroxps 2023-09-24 09:28:35 +08:00 via iPhone
这种拓扑,不知道为什么必须要分 2 个路由,随便一方炸了都出问题,何不合在一起?
|
21
bao3 2023-09-24 09:42:05 +08:00
@neroxps 你说得我懂,但我说得你不懂。arp 只是举一个广播域的例子。做路由策略我当然懂,楼主并没有提这个。楼主能这样互指,应该他并不熟悉路由,所以他也不知道 vrrp ,谈路由策略,似乎对方案一没有帮助。更好的方式就是方案二,省心。
要说路由策略,连城网核心 bgp 我都要设计调试,但没必要和楼主去做讨论,拿原子弹解决旁路由,可能你会觉得有意义,我觉得就是空气
|
23
bao3 2023-09-24 12:11:33 +08:00
@neroxps 抱歉,原来 arp 是 Layer 2 ,我一直以为它是 layer2 和 layer 3 之间的协议。是我的锅
|
24
nieccyyy 2023-09-24 12:21:25 +08:00 via iPhone
方案 2 比较好,也可以拓展一下,主路由 dhcp 下发网关和 dns 指定到旁路由。
|
25
chinni 2023-09-24 14:55:42 +08:00 1
还有第三种
主力出口路由器 A 代理服务器所在设备 B 局域网其他设备 CDE B 网关是 A, CDE 网关是 A 在 A 设备的 mangle 表 来区分 CDE 或者其他 把他的 next hop 设置为 B 这样也可以的. 另外 A 设备还能根据 dst ip 来设置是否 next hop 为 B 或者 从 A 直接出去. 以上描述 就是 policy based route (pbr) |
26
HOOC 2023-09-24 20:03:07 +08:00 via iPhone 2
@xjx0524 routeros 在 winbox 下可以设置 dhcp option set 为某些设备分配特殊网关和 dns ,openwrt 需要修改/etc/dnsmasq.conf ,在里面添加 dhcp-host 和 dhcp-option 实现类似的功能。
|
27
Sn00w 2023-09-24 20:46:32 +08:00
方案 1 与方案 2 本质上大体是一样的
要说明的是,在方案 1 中主路由设置旁路由为网关,并不是说把主路由的网关设置成旁路由,而是告诉主路由下面的设备应该使用旁路由地址作为其网关。主路由所使用的网关是不会被更改的,比如在我的场景下,我的主路由的网关依然是光猫。 这也就是为什么主路由旁路由网关”互指“没有造成循环的原因 |
28
lj0014 2023-09-25 11:31:56 +08:00 1
vrrp 可以实现自动故障转移网关,我有发贴分享过。
我现在主路由是爱快,使用分流模块的下一跳网关来指向旁路由,也能实现自动故障转移。 |
29
Ipsum 2023-09-25 21:50:42 +08:00
为啥搞这么复杂?直接 dns 分流器,需要扶墙的域名转发到 clash 的 dns ,其他走正常 dns 。配上 clash 的 fakeip ,主路由设置 fakeip 的静态路由到 clash 网关不就行了?
|
30
gunner168 2023-09-28 14:05:03 +08:00 via iPhone
padavan 可以用脚本自动检测旁路由状态,如果旁路由在线就将 dhcp 设为旁路由,反之如果检测不到旁路由就自动改回来,openwrt 不太清楚,理论上应该还是可以实现的
|
31
windrun 2023-09-28 18:45:14 +08:00 1
@xjx0524 #10 openwrt 可以参考我之前写的 https://www.haoyizebo.com/posts/d461b93f/
|