iKuai爱快流控路由

标题: 第三方代理DNS存在问题 [打印本页]

作者: weiecn    时间: 2023-9-18 23:17
标题: 第三方代理DNS存在问题
目前版本是3.7.5。
当使用第三方DNS服务器时,将dhcp分配dns设置为路由器的ip,下面设备可以拿到设置的dns也就是网关地址,理想下能够正常的解析。


但是,如果有设备在使用dns时,没有使用dhcp下发下dns地址,就会得到超时的结果(某些小米的物联网设备,他会使用114.114.114.114 UDP 请求dns解析)


历经了好几个月追踪有些物联网设备为什么不能升级的原因得出结果,此时将模式设置成非第三方代理模式,一切就正常了。在我的两台设备上能够复现。


这个问题挺严重的,目前无法使用第三方代理功能了,希望爱快重视下。

作者: 爱快技术支持01    时间: 2023-9-19 09:08
楼主您好,除去开启了爱快的DNS代理模式之外不建议将DHCP中DNS填写网关地址,您描述的问题是否让DHCP分配正常DNS后对比测试?
作者: linnan2004    时间: 2023-9-19 09:14
本帖最后由 linnan2004 于 2023-9-19 09:15 编辑

勾选强制代理
每个城市运营商自己的DNS非常好用,解析速度又快

作者: weiecn    时间: 2023-9-19 11:23
linnan2004 发表于 2023-9-19 09:14勾选强制代理
每个城市运营商自己的DNS非常好用,解析速度又快

第三方代理下,不可以使用强制。
为什么不用运营商dns?
1.运营商抢答DNS,干扰正常域名解析;
2.部分域名一刀切解析成127.0.0.1、
3.挟持js中的域名向网页中插广告、挟持不存在域名跳转私人导航页刷流量等等。

只有自建dns服务解决ipv4 ipv6解析才能把这些地方运营商那些行为完全解决掉。
作者: weiecn    时间: 2023-9-19 11:24
爱快技术支持01 发表于 2023-9-19 09:08楼主您好,除去开启了爱快的DNS代理模式之外不建议将DHCP中DNS填写网关地址,您描述的问题是否让DHCP分配正 ...

如果dhcp中的dns不填写网关地址,那么全部都是超时了,只有网关作为dns才能完成解析。

注意看我说的 ,我说的是第三方代理模式下存在问题。

作者: weiecn    时间: 2023-9-19 11:33
爱快技术支持01 发表于 2023-9-19 09:08楼主您好,除去开启了爱快的DNS代理模式之外不建议将DHCP中DNS填写网关地址,您描述的问题是否让DHCP分配正 ...

再给你补充下实验:

网络设置 > DNS设置 > DNS设置
首选DNS:223.5.5.5
备选DNS:223.6.6.
DNS加速服务:启用
DNS加速模式:第三方代理模式
第三方DNS服务器:10.0.18.200

网络设置 > DHCP设置 > DHCP服务端
服务接口 lan1
客户端地址 10.0.15.1-10.0.15.254       
子网掩码 255.255.240.0
网关 10.0.0.1
首选DNS 10.0.0.1
备选DNS 10.0.0.1
租期 120

在10.0.0.100这台设备上测试:

nslookup www.baidu.com 解析成正常
nslookup www.baidu.com 10.0.18.200 解析正常
nslookup www.baidu.com 10.0.0.1 解析正常
ping 114.114.114.114 正常
ping 223.5.5.5 正常
nslookup www.baidu.com 114.114.114.114 超时
nslookup www.baidu.com 223.5.5.5 超时

以上超时结果将第三方代理模式改回UDP代理或DOH代理模式,一切全部正常。
可得出第三方代理模式将出口的DNS 53 UDP 全部拦截了。
作者: linnan2004    时间: 2023-9-19 11:52
weiecn 发表于 2023-9-19 11:23第三方代理下,不可以使用强制。
为什么不用运营商dns?
1.运营商抢答DNS,干扰正常域名解析;

什么年代了,怎么还相信是运营商劫持DNS,没有的事,相信下他们。
作者: linnan2004    时间: 2023-9-19 11:55
(, 下载次数: 37)

我就是地方运营商,你知道工信部对这个管控有多严格不。发现直接约谈分公司一把手

作者: weiecn    时间: 2023-9-19 16:08
爱快技术支持01 发表于 2023-9-19 09:08楼主您好,除去开启了爱快的DNS代理模式之外不建议将DHCP中DNS填写网关地址,您描述的问题是否让DHCP分配正 ...

看样子爱快不想解决这个bug了,我不知道这个功能的意义在哪里,开启后非网关ip的53 UDP 的dns都没法使用。
作者: 纳兰翔鹭    时间: 2023-9-19 19:55
linnan2004 发表于 2023-9-19 11:52什么年代了,怎么还相信是运营商劫持DNS,没有的事,相信下他们。

运营商确实劫持啊,我这河北联通很长一段时间劫持蓝奏云的域名,阿里和百度的公共DNS就没问题
作者: linnan2004    时间: 2023-9-20 21:29
纳兰翔鹭 发表于 2023-9-19 19:55运营商确实劫持啊,我这河北联通很长一段时间劫持蓝奏云的域名,阿里和百度的公共DNS就没问题 ...

那个叫DNS污染,在递归查询的时候被污染了

作者: weiecn    时间: 2023-9-20 22:24
爱快技术支持01 发表于 2023-9-19 09:08楼主您好,除去开启了爱快的DNS代理模式之外不建议将DHCP中DNS填写网关地址,您描述的问题是否让DHCP分配正 ...

爱快这边不愿意处理这个问题吗?有些项目就没办法用爱快的设备了。
作者: 最东风    时间: 2023-9-21 03:12
功能机制:强制内网客户端使用此处填写“第三方DNS服务器”(一般为内网自搭建DNS服务器)的DNS值进行解析,并防止第三方DNS服务器本身进行解析动作时,被跳转回自身进行解析逻辑(排除此处填写的DNS服务器解析时不被强制代理,实现此DNS服务器自身递归查询获取新的DNS结果)
本身开这个功能就是强制代理了,也就是这个页面所有设置的dns只有这个第三方代理dns服务器地址有效,其他主选次选都无效,强制局域网内(排除了设置的第三方代理服务器地址10.0.18.200端发出的递归查询)所有客户端的dns53查询都被拦截,这不就是功能说明么,114不可能回复的,因为都没请求到114,访问114:53到达路由器lan口的时候已经被拦截到设置的第三方代理dns服务器(即10.0.18.200)查询了


消息来自爱快e云

作者: 最东风    时间: 2023-9-21 03:29
如果你的10.0.0.100dns设置的是114的话,你的第一个请求是向10.0.18.200发出请求并得到回复的,第2个是还是这个10.0.18.200发出请求并得到回复的,第3个是客户端先请求到10.0.0.1:53,这个不会被设置的第三方代理DNS服务器拦截,因为是本地DNS服务器,lan内网关,不受这里设置的dns服务器限制,然后10.0.0.1去请求首选次选223.5.5.5获取答案再回复的,第4个是通过114去请求百度的地址,但是到路由器的lan口收到访问114:53的请求时,这个请求是要从lan口发到wan口的,因为他知道是局域网内客户端10.0.0.100请求到114:53,就会被设置的第三方DNS服务器代理给拦截,转换成请求10.0.18.200:53通过wan口获取答案,因为都没有访问114,所以不可能从114获取地址,自然114dns查询失败同理223也是


消息来自爱快e云

作者: 最东风    时间: 2023-9-21 03:35
你想通过公有DNS服务器去解析,就不能在路由器里设置这种带有拦截属性强制代理的DNS服务器代理,第三方DNS服务器就带有拦截属性强制代理。


消息来自爱快e云

作者: 最东风    时间: 2023-9-21 03:43
还有就是如果你想把所有DNS解析设置为自己的自建DNS服务器,以达到你所谓的防劫持之类的功能,你可以把dhcp里面设置DNS服务器地址全部更换为你的自建DNS地址,这样局域网内dhcp客户端就会自动获取这个自建DNS服务器去解析IP,可以手动设置DNS服务器的直接手动设置DNS服务器,为你的自建DNS服务器不就行了,何必把自建DNS服务器设置为第三方代理DNS服务器,然后再把客户端的DNS服务器设置为网关的IP呢。。。多此一举


消息来自爱快e云

作者: weiecn    时间: 2023-9-23 21:48
最东风 发表于 2023-9-21 03:35你想通过公有DNS服务器去解析,就不能在路由器里设置这种带有拦截属性强制代理的DNS服务器代理,第三方DNS ...

你没看明白,我的意思是如果开启第三方代理,爱快不会强制代理,而是会拦截除了设置的第三方代理DNS以及网关的地址。

如果我需要保证内网的dns不被挟持,我必然要开启强制代理,但是目前爱快强制代理的情况下只可以开启代理外网的dns。

现在爱快有了第三方代理,如果我开启这个功能,将dhcp中下发也设置成这个第三方代理,自然是可以用的,但是,如果客户端不按dhcp下发的dns来解析域名就会出问题,因为爱快在开启这个功能下,只可以用这个本地的dns。其他第三方的dns全都是超时的。



作者: weiecn    时间: 2023-9-23 21:58
最东风 发表于 2023-9-21 03:43还有就是如果你想把所有DNS解析设置为自己的自建DNS服务器,以达到你所谓的防劫持之类的功能,你可以把dhc ...
然后再把客户端的DNS服务器设置为网关的IP呢


客户端千奇百怪,程序员有时候不会按套路出牌,不会用dhcp下发的dns,而是喜欢自己用一个固定的时候就会出问题。
目前已知出问题的有:小米物联网产品,根据我的抓包,他们喜欢先请求114.114.114.114来获取小米自己的doh,然后用doh来解析自己的mqtt的域名。

如果开启第三方代理,由于这个功能并没有强制用户使用代理dns(也就是没有挟持dns),客户端设备在使用114.114.114.114去解析时,就是超时,导致设备出现奇怪问题。


我认为爱快要在这里仍然要设置一个强制客户端DNS代理的选项功能,开启了,就转发请求的任意dns数据,没有开启就不要去拦截任意dns请求,以免设备出现dns无法解析的问题。
作者: 最东风    时间: 2023-9-25 13:14
weiecn 发表于2023-09-23 21:58:52

客户端千奇百怪,程序员有时候不会按套路出牌,不会用dhcp下发的dns,而是喜欢自己用一个固定的时候就会出问题。
目前已知出问题的有:小米物联网产品,根据我的抓包,他们喜欢先请求114.114.114.114来获取小米自己的doh,然后用doh来解析自己的mqtt的域名。

如果开启第三方代理,由于这个功能并没有强制用户使用代理dns(也就是没有挟持dns),客户端设备在使用114.114.114.114去解析时,就是超时,导致设备出现奇怪问题。


我认为爱快要在这里仍然要设置一个强制客户端DNS代理的选项功能,开启了,就转发请求的任意dns数据,没有开启就不要去拦截任意dns请求,以免设备出现dns无法解析的问题。
可以开启代理模式UDP  开强制代理,然后把DNS设置的首选备选设置为内网自建DNS  然后内网自建的DNS服务器使用DOH的DNS服务器(如阿里云的)作为自建DNS服务器上游DNS,样内网设备发起查询会先拦截到爱快网关,然后爱快向内网自建DNS服务器查询,内网的自建DNS服务器通过DOH对公共DNS服务器查询就可以了,这样回环查询时就不会再次被爱快的代理模式(UDP拦截),会直接到wan口向公网查询了


消息来自爱快e云

作者: 最东风    时间: 2023-9-25 13:22
这个强制代理也只是针对UDP查询的,DOH就拦截不到,所以这个强制并没有想象中那么大的作用。有点我没搞懂的是,你说的这种在DHCP的情况下是没问题的,那你为什么会让内网的设备在你开启了第三方代理DNS服务器的情况下,都能手动设置DNS了,还要设置114为DNS服务器呢?或者说哪种网络设备这么沙雕,就只把DNS服务器设置为114了,写死了?即便不能更改,他也会通过dhcp去获取DNS吧。


消息来自爱快e云

作者: 最东风    时间: 2023-9-25 13:25
你再自建DNS服务器,最终也还是要通过网络上的公共DNS服务器去获取IP的,不如直接就用个DOH公网服务器,不一样能防劫持吗?


消息来自爱快e云

作者: weiecn    时间: 2023-9-25 13:53
最东风 发表于 2023-9-25 13:22这个强制代理也只是针对UDP查询的,DOH就拦截不到,所以这个强制并没有想象中那么大的作用。有点我没搞懂 ...

我都说了,不是我用114dns

是有些设备他就是不按dhcp的dns去解析,而是用它自己认为的dns

爱快这边其实只需要把这个强制拦截超时给放开就好了,就不会出这些奇怪的问题了,否则这个第三方代理,就只能改名为"只允许使用本地dns地址:"

作者: 最东风    时间: 2023-9-26 23:45
兄弟,你再仔细看看,你说   你认为爱快要在这里    那段回复的想法是不是问题?如果设置了这种第三方代理服务器,本意是应该想把内网的所有DNS请求都拦截到自建的DNS服务器去查询,如果这种情况下,你可以通过udp 53端口的公网DNS服务器直接去公网查询,那这样你这个DNS查询不就在链路中被漏掉了吗?这还谈什么安全性?就像你建了一座固若金汤的堡垒,然后还留了一条地道可以从外面直通堡垒内,这还安全?可控?那你建堡垒保护什么,还有啥用?
这个第三方DNS服务器不一定是你自建的本地服务器,也可以填公网DNS服务器,所以你那个   只允许使用本地DNS服务器的说法       也不全面,第三方DNS服务器才算是比较全面。
至于你的功能建议你是说在开启了第三方DNS服务器的情况下,加一个是否强制代理的开关,如果选上就代表转发局域网设备的DNS请求,如果取消就代表不拦截局域网设备的DNS请求。
如果你同时开启第三方代理DNS服务器和强制代理,那就和现在的功能没有任何区别啊,依然会拦截所有局域网内对公网DNS发起的udp 53端口的DNS查询。
如果你开启了第三方DNS服务器,同时又取消了强制代理,这就说明这既想要所有DNS请求通过设置的第三方DNS服务器去查询,然后又让这个网关不拦截局域网内所有的DNS的udp53请求,试问爱快怎么确保把局域网内设备的所有DNS请求传递给设置的第三方DNS服务器去解析,这不自相矛盾么?这原本的功能定义也实现不了呀。


消息来自爱快e云

作者: weiecn    时间: 2023-9-27 09:41
如果设置了这种第三方代理服务器,本意是应该想把内网的所有DNS请求都拦截到自建的DNS服务器去查询

目前爱快设置后白不是拦截到自建的,而是让所有非网关/设置的dns全部超时

你试试就知道了,目前开启这个功能,爱快并没有强制代理,而是超时.

我说的很清楚了,如果开启第三方代理,目前本质上和拦截所有的dns无异(除了设定的第三方代理dns和网关)

另外,普通代理模式下,开启强制代理,内网自建的dns会被爱快强制代理导致出错.
自然要设计一个第三方代理,本质上是普通代理模式下的放行内网某个自建dns服务器的dns 53 udp请求.
但是目前版本来说爱快的确放行了该本地dns服务器的放行,却将所有的非爱快网关地址 及 该本地dns服务器的dns请求全部拦截并超时(注意我说的,目前第三方代理并没有强制代理,而是真正的拦截)

我现在并不是说我需要开启第三方代理并同时关闭强制代理 ,相反我正需要这个功能,相当于是普通代理模式的增强功能.

作者: weiecn    时间: 2023-9-27 10:00
最东风 发表于 2023-9-26 23:45兄弟,你再仔细看看,你说   你认为爱快要在这里    那段回复的想法是不是问题?如果设置了这种第三方代理 ...

如果你还没有懂我得需求,我可以跟你说一下:

1.内网自建DNS(方便控制IPV4/IPV6解析过滤等特殊需求);
2.内网强制代理(内网所有的明文53UDP的dns必须被强制代理);

如果忽略1,可以直接使用爱快的代理模式(UDP或DOH),设置强制客户端dns代理,然后上游设定外网的dns即可;
如果需要实现1,以前爱快没有第三方代理模式功能时,如果直接将上游dns设置为本地自建dns服务器,并开启强制客户端dns代理.此时内网自建DNS也会被爱快强制代理,导致解析不了.
爱快随后加入了第三方代理功能,也就是说设定第三方代理的地址会放行,不再强制代理使用爱快设定的上游dns地址.这些都没有问题,问题就在于一旦开启这个功能,内网就只能用爱快网关或这个自建DNS.外网的dns全部都是超时,也就是说爱快对其拦截了并没有强制代理.
这样是不合理的,爱快这样直接拦截超时就会导致很多设备出问题,因为不是所有的设备都是使用dhcp中分配的dns,也就是我前面所说的.

作者: xiaohhl    时间: 2023-9-27 14:00
有些设备自己内定了DNS信息。我的做法是NAT下,目标114.114.114.114端口53,nat到自己要的DNS服务器53上即可
作者: mimi163    时间: 2023-9-27 14:41
爱快的DNS模块一直以来就是个大诟病。连最基本的缓存模式增加个缓存时间调整而取代smartDNS跟adguard(毕竟想避免大量DNS解析直接被block。事件可以去B看海南弱电小胡的视频)的建议,疫情前提的,3年了到现在都没改善。更不要提第三方DNS这个模式的诟病。大家以为设置第三方DNS,就相当于所有内网除第三方DNS外的DNS数据都会强制发到这个第三方DNS,而第三方DNS作为递归解析服务器承担整个内网的解析工作。结果并不是。有时候连第三方自己的DNS都解析不了。整个内网完全上不了网。寄~
作者: 最东风    时间: 2023-10-12 21:44
你这里的需要实现1,我已经提供给你过方法了,建议看看前面的回复,这个实现1不用第三方代理并非不能实现



消息来自爱快e云





欢迎光临 iKuai爱快流控路由 (https://bbs.ikuai8.com/) Powered by Discuz! X3.3