上回:
https://www.v2ex.com/t/784894ipset 的脚本能够用了. 但是分流还是不行.
我的需求要根据一个 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 走另一个口.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/786130
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.