ER-X: IP 列表似乎是放进去了, 但是分流还没有实现

2021-06-28 03:06:47 +08:00
 ca1123
上回: https://www.v2ex.com/t/784894
ipset 的脚本能够用了. 但是分流还是不行.

我的需求要根据一个 IP 列表来导流. 我有:
1. IP 网段列表, 国内 IP 的网段.
2. WAN 国内线路, DHCP 的, 没有公网 IP. 在 eth4 上
3. WAN 国际线路, DHCP 的, 也没有公网 IP. 在 eth3 上
4. ER-X 路由一个, 版本 2.09
我需要让 IP 流量默认走 eth3 的国际线路, 如果请求的目标 IP 在 IP 网段列表中, 则走 eth4.

下面是我尝试了的方法, 不成功, 没有办法进行分流. 所有流量都在 eth3 上, 除非我把网线拔下来.
我首先创建 network-group chnroute, 然后用 ipset 把 ip 网段列表导入进去.
然后创建静态路由表, 表示导流国内线路.
set protocols static table 13 interface-route 0.0.0.0/0 next-hop-interface eth4
之后使用 failover-only 的 flag 标记 eth4.
然后用 PBR 规则将目标 IP 地址在 chnroute 这个 network-group 中的请求都打到 eth4 上.
set firewall modify PBR rule 90 action modify
set firewall modify PBR rule 90 description chnroute
set firewall modify PBR rule 90 destination group network-group chnroute
set firewall modify PBR rule 90 modify table 13

这样不行, failover-only 的 flag 似乎比 PBR 规则强.

我应该怎么做呢? 默认走一个口, 属于特定范围的 IP 走另一个口.
2040 次点击
所在节点    宽带症候群
6 条回复
TerenceRust
2021-06-28 12:06:34 +08:00
用 load-balance,然后把 load-balance 的表清空,加入默认规则和分流规则试试
ca1123
2021-06-28 12:14:17 +08:00
@TerenceRust 最早的时候, 看到的是要准备两个 IP 规则表, 符合表内容的就有导流, 否则就是 50-50 的默认规则. 就是 50-50 的默认规则很头疼, 试过 100-0 的默认规则, 当时不管用. 我应该再试一下, 因为当时不一定是这个规则导致的不管用. 我应该再试一下, 100-0 的规则和 PBR 的规则谁大. 应该是 PBR 的大. 你说的 load-balance 表清空是什么意思呢? 是设置成 100-0 的规则么? 主要是默认规则也不知道怎么实现. 我认为是应该有个默认规则的, 默认走国际线么.
TerenceRust
2021-06-28 18:08:59 +08:00
@ca1123 我以前用的 USG,系统应该和 ERX 差不多,现在换 UDMP 了。load-balance 模式应该也是用 iptables 的一个链实现的,清空以后把自己的默认规则加进去就行,具体 cli 命令忘了
set firewall modify LOAD_BALANCE tab 一下看看后面是 delete 还是 remove
然后
set interfaces ethernet ethx firewall in modify PBR

ethx 是 LAN 所在接口
ericbize
2021-06-28 19:03:11 +08:00
路由优先级设置一下就完事,不需要防火墙这么高级
nbsn
2021-06-30 23:32:31 +08:00
@ca1123 你挺执着的。看下这个 https://bgp.space/,中国主要运营商 IP 地址库,
基于分析 BGP/ASN 数据生成的 IP 地址库, 看样子不错
ca1123
2021-07-01 15:16:42 +08:00
@nbsn 我觉得 IP 库的问题应该已经解决了, 但现在是路由器系统的设置问题. 我要找一个比较软的把流量导流到国际口的策略, 然后把国内 IP 都导流到国内口去.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/786130

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX