被op下无法域名分流的问题困扰很久了 直到昨天看到一篇很久之前的科学上网分流文章
参考:https://www.keepwn.com/howto/route-traffic-selectively-by-domain-on-openwrt/

准备工作

先配置好mwan3运营商分流
可以参考:
https://www.right.com.cn/forum/thread-2659746-1-1.html
https://www.right.com.cn/forum/thread-2670532-1-1.html

安装以下三个软件(如果安装了ShadowSocksR Plus+的话直接跳过 这些它都有依赖)
(lede固件安装可能会报内核不兼容错误 没有很好的解决办法 建议在编译时直接加入)
opkg install dnsmasq-full ipset iptables-mod-extra

开始配置

Tips: 我这边使用命令行操作 你也可以使用WinSCP来操作

配置dnsmasq-full
修改/etc/dnsmasq.conf
nano /etc/dnsmasq.conf
在末尾加上以下配置
conf-dir=/etc/dnsmasq.d

建立配置文件目录并进入
mkdir /etc/dnsmasq.d
cd /etc/dnsmasq.d

建立域名分流文件(以后有要分流的域名就写在这里面)
我这里分别对应电信和移动(有更多的运营商可以建更多个)
touch force_ct.conf force_cmcc.conf

将需要分流的域名加入配置文件
nano force_ct.conf
格式:
ipset=/域名/ipset名(对应运营商放进配置文件)
例:
ipset=/bilibili.com/force_ct

配置防火墙规则(这里在web页面上操作)
网络-防火墙-自定义规则
加入ipset规则创建命令 并重启防火墙
格式:
ipset create ipset名 hash:net
例:
ipset create force_ct hash:net
ipset create force_cmcc hash:net

重启dnsmasq
/etc/init.d/dnsmasq restart

配置mwan3规则(这里在web页面上操作)
网络-负载均衡-规则
新建对应出口规则
规则名字随意 我这里是force_ct
IPset填上面配置的 我这里是force_ct
分配的策略选对应出口 我这里是frist_wan1
其他选项全部默认即可

优先级参考下图(放在默认分流规则上面)

配置完毕 保存并应用后即可实现域名分流

发表评论

电子邮件地址不会被公开。 必填项已用*标注