Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.9.7版,按域名分流无效 #11

Open
dickding opened this issue Apr 4, 2023 · 18 comments
Open

3.9.7版,按域名分流无效 #11

dickding opened this issue Apr 4, 2023 · 18 comments

Comments

@dickding
Copy link

dickding commented Apr 4, 2023

3.9.7版,"域名地址IPv4流量动态分流",分别在2个文件中填入客户端ip地址,以及域名,但分流无效。

@larsonzh
Copy link
Owner

larsonzh commented Apr 4, 2023

按照设计,当域名被DNS解析后返回的是IPv6地址时,该流量会走IPv6出口(华硕路由器上只能有一个IPv6出口,一般是第一WAN口),此时域名分流无效。

再一种情况是,若返回的是IPv4地址,但更高优先级的分流中包含了该地址,则会走更高优先级的分流出口。

同一域名同时设置到第一WAN口和第二WAN口的域名分流时,第二WAN口域名分流优先级高于前者,相关流量走第二WAN口。

还有就是填入的域名格式是否正确,正确的如:qq.com,google.cm,www.asus.com.cn,否则可能无法被系统的dnsmasq正确捕获。

若方便,可将相关域名用邮件发给我检测一下。

@dickding
Copy link
Author

dickding commented Apr 5, 2023 via email

@larsonzh
Copy link
Owner

larsonzh commented Apr 6, 2023

总会有些不可思议的意外,事出不一定有因。建议国内其它走第一WAN口电信,不走移动,效果会更好些。

@xinbinhan
Copy link

xinbinhan commented Jun 1, 2023

我是出口一联通、出口二电信,用的静态模式,Custom-1 走出口一 ,其它都走出口二,用了DomainNmLst-1填加了1个域名走出口一,tracert 解析的IP是走的出口一但就是80端口不通,打不开网页,重启路由器也不管用。

@xinbinhan
Copy link

这个问题是不是在修复中?

@larsonzh
Copy link
Owner

larsonzh commented Jun 1, 2023

我是出口一联通、出口二电信,用的静态模式,Custom-1 走出口一 ,其它都走出口二,用了DomainNmLst-1填加了1个域名走出口一,tracert 解析的IP是走的出口一但就是80端口不通,打不开网页,重启路由器也不管用。

现在很多运营商出于安全原因可能会屏蔽80端口,再有就是将该域名走出口二试试,还有就是修改分流模式,域名分流更适合动态分流。

@xinbinhan
Copy link

xinbinhan commented Jun 1, 2023

动态分流就不能把按路由区分出口了,我是出网不能访问三方域名(比如百度),域名分流就打不开百度页面了。去掉走默认的出口二就可以正常访问了(因为所有路由都让走出口二)

我的路由器是华硕AX86Upro,梅林388.1,静态分流,所有路由走出口二,自定义的内网地址(10.0.0.0/8)走出口一,开启了梅林clash插件

还有就是正常单出口一是可以访问百度的

@larsonzh
Copy link
Owner

larsonzh commented Jun 1, 2023

动态分流就不能把按路由区分出口了,我是出网不能访问三方域名(比如百度),域名分流就打不开百度页面了。去掉走默认的出口二就可以正常访问了(因为所有路由都让走出口二)

我的路由器是华硕AX86Upro,梅林388.1,静态分流,所有路由走出口二,自定义的内网地址(10.0.0.0/8)走出口一,开启了梅林clash插件

还有就是正常单出口一是可以访问百度的

是的,动态分流时,路由器主机本身应用软件,如你安装的插件,访问外网流量使用哪个出口是不可控的,分流只对内网终端访问外网时有效。很早以前还能控制路由器主机内部应用的流量出口,之后随着固件升级,控制权被华硕收回了,所以现在做不到。

调整一下出口参数试试。

联通网段出口参数指向第一WAN口,电信网段出口参数指向第二WAN口。

另外就是改变一下流量控制方式,如按照优先级顺序使用脚本的客户端直通WAN口功能等。

@larsonzh
Copy link
Owner

larsonzh commented Jun 1, 2023

动态分流就不能把按路由区分出口了,我是出网不能访问三方域名(比如百度),域名分流就打不开百度页面了。去掉走默认的出口二就可以正常访问了(因为所有路由都让走出口二)

我的路由器是华硕AX86Upro,梅林388.1,静态分流,所有路由走出口二,自定义的内网地址(10.0.0.0/8)走出口一,开启了梅林clash插件

还有就是正常单出口一是可以访问百度的

还有就是关掉clash插件,试一下静态分流模式下域名分流是否正常。

如正常,则先启动脚本,再启动clash,看是否正常。

@xinbinhan
Copy link

xinbinhan commented Jun 2, 2023

尝试了一下关掉clash这方案还是不行,我改成动态分流目前看按域名分流正常了,感谢。

但遇到了一个BUG,我是访问10.0.0.0/8网段走WAN1,就是走WAN1时,在电脑客户端上tracert -d 10.0.0.1时走的是WAN2,但还能正常访问(走的肯定是WAN一,走WAN二路由是不通的)。

@larsonzh
Copy link
Owner

larsonzh commented Jun 2, 2023

尝试了一下关掉clash这方案还是不行,我改成动态分流目前看按域名分流正常了,感谢。

但遇到了一个BUG,我是访问10.0.0.0/8网段走WAN1,就是走WAN1时,在电脑客户端上tracert -d 10.0.0.1时走的是WAN2,但还能正常访问(走的肯定是WAN一,走WAN二路由是不通的)。

在路由器上执行:
ip r
ip r sh ta 100
ip r sh ta 200
看一下结果

@xinbinhan
Copy link

admin@RT-AX86U-0848:/tmp/home/root# ip r
default
nexthop via 10.20.63.1 dev eth0 weight 1
nexthop via 192.168.0.1 dev eth5 weight 1
10.20.63.0/24 dev eth0 proto kernel scope link src 10.20.63.117
10.20.63.1 dev eth0 scope link
10.184.1.12 via 10.20.63.1 dev eth0
101.36.169.181 via 10.20.63.1 dev eth0 metric 1
127.0.0.0/8 dev lo scope link
192.168.0.0/24 dev eth5 proto kernel scope link src 192.168.0.186
192.168.0.1 dev eth5 scope link
192.168.50.0/24 dev br0 proto kernel scope link src 192.168.50.1
221.122.98.76 via 10.20.63.1 dev eth0 metric 1
239.0.0.0/8 dev br0 scope link
admin@RT-AX86U-0848:/tmp/home/root#

@xinbinhan
Copy link

admin@RT-AX86U-0848:/tmp/home/root# ip r sh ta 100
default via 10.20.63.1 dev eth0
10.20.63.0/24 dev eth0 proto kernel scope link src 10.20.63.117
10.20.63.1 dev eth0 proto kernel scope link
10.184.1.12 via 10.20.63.1 dev eth0
101.36.169.181 via 10.20.63.1 dev eth0 metric 1
127.0.0.0/8 dev lo scope link
192.168.0.0/24 dev eth5 proto kernel scope link src 192.168.0.186
192.168.0.1 dev eth5 scope link
192.168.50.0/24 dev br0 proto kernel scope link src 192.168.50.1
221.122.98.76 via 10.20.63.1 dev eth0 metric 1
239.0.0.0/8 dev br0 scope link
admin@RT-AX86U-0848:/tmp/home/root#

@xinbinhan
Copy link

admin@RT-AX86U-0848:/tmp/home/root# ip r sh ta 200
default via 192.168.0.1 dev eth5
10.20.63.0/24 dev eth0 proto kernel scope link src 10.20.63.117
10.20.63.1 dev eth0 scope link
10.184.1.12 via 10.20.63.1 dev eth0
101.36.169.181 via 10.20.63.1 dev eth0 metric 1
127.0.0.0/8 dev lo scope link
192.168.0.0/24 dev eth5 proto kernel scope link src 192.168.0.186
192.168.0.1 dev eth5 proto kernel scope link
192.168.50.0/24 dev br0 proto kernel scope link src 192.168.50.1
221.122.98.76 via 10.20.63.1 dev eth0 metric 1
239.0.0.0/8 dev br0 scope link
admin@RT-AX86U-0848:/tmp/home/root#

@xinbinhan
Copy link

比如我访问10.186.1.224,tracert -d 10.186.1.224 走的是WAN二,理论是如果走WAN没路由应该是不通的,但它的确可以打开,应该是走WAN一去访问的

@larsonzh
Copy link
Owner

larsonzh commented Jun 2, 2023

比如我访问10.186.1.224,tracert -d 10.186.1.224 走的是WAN二,理论是如果走WAN没路由应该是不通的,但它的确可以打开,应该是走WAN一去访问的

没太搞明白你的网络构型。

从路由表中看到,两条宽带都是采用dhcp方式接入,未采用桥接,不是路由器拨号,即都是光猫pppoe拨号接入互联网。

要达到好的网络效果,充分发挥路由器的性能优势,建议最好都采用桥接模式。

第一WAN口的接入的联通啥设备?地址看起来有些怪。
第二WAN口的电信设备地址正常,与一般光猫无异。

路由器内网192.168.50.0/24,内网设备应该都在该地址段,分流脚本仅对该地址段设备有效。

那个10.186.1.224似乎不是公网地址,或是被墙,也不在第一WAN口所连上一级设备的本地网络内,一种可能是上一级联通运营商内网的设备地址,需要系统中指定路由后才能找到。如果不在脚本中的运营商网段数据范围内,tracert会到定义为国外运营商网段出口(例如,该网段出口已设置为第二WAN口)的网络中寻找。

所有未被系统定义路由和脚本运营商网段数据中未包含的地址,作为未知地址,脚本最终会按照国外运营商网段出口路由处理。

刚按照你10.0.0.0/8网段走第一WAN口的设置,custom_data_wan_port_1=0,在路由器内网终端上traceroute 10.186.1.224,未发现你那种问题,一切正常,你再检查一下脚本相关参数设置是否正确。

@xinbinhan
Copy link

WAN一是公司内网,WAN二是5G盒子,接口都是动态获取,脚本里那11种网络类型我都指定走WAN二了,只有10.0.0.0/8走公司的WAN一,那个10.18X.X.X的地址是公司内网地址,也就是我指定其中一个公网域名(比如www.baidu.com)走WAN一时会打不开,但看解析和tracer都是正常的,就是无法ping通,也有可能是你说的被识别成了未知地址,我再研究研究

@larsonzh
Copy link
Owner

larsonzh commented Jun 3, 2023

WAN一是公司内网,WAN二是5G盒子,接口都是动态获取,脚本里那11种网络类型我都指定走WAN二了,只有10.0.0.0/8走公司的WAN一,那个10.18X.X.X的地址是公司内网地址,也就是我指定其中一个公网域名(比如www.baidu.com)走WAN一时会打不开,但看解析和tracer都是正常的,就是无法ping通,也有可能是你说的被识别成了未知地址,我再研究研究

在动态分流模式下,还可以不用“用户自定义IPv4目标网址/网段(1)流量出口”功能指定访问“10.0.0.0/8”网段出口,可通过“第一WAN口客户端至预设IPv4目标网址/网段流量静态直通路由”功能设置独立的双向静态路由:
wan_1_src_to_dst_addr=0
wan_1_src_to_dst_addr_file="/jffs/scripts/lz/data/wan_1_src_to_dst_addr.txt"
在上述列表数据文件中填入:
0.0.0.0/0 10.0.0.0/8
10.0.0.0/8 0.0.0.0/0

@larsonzh larsonzh reopened this Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants