DNS hosts无法作用于节点服务器地址
预期行为
在dns hosts中填写节点服务器的域名-ip对,应该正常解析
实际行为
总是没有解析成功,另外用于解析节点服务器的dns地址是在境内DNS里填写吗,没有同v2rayN一样的outbound 地址解析设置。
复现方法
安卓14,软件版本1.10.4
截图中没有看到你填写。 你填写后点击到处完整配置文件,然后看配置文件是否有你填写的值?
解析节点服务器是用设备默认解析的,不会用这里设置的 dns
截图中没有看到你填写。 你填写后点击到处完整配置文件,然后看配置文件是否有你填写的值?
配置文件有填写的值(填写的是节点服务器域名-ip对),但似乎解析节点服务器的时候不会匹配填写的hosts列表
解析节点服务器是用设备默认解析的,不会用这里设置的 dns
是否可以像v2rayN一样增加自定义解析节点服务器的dns,由于我的网络环境,需要设置指定的dns才能正常解析节点域名
从技术上可以用设置的 dns 来解析一次。 你说你的设备无法解析成功,在启动的时候会失败吗?
截图中没有看到你填写。 你填写后点击到处完整配置文件,然后看配置文件是否有你填写的值?
配置文件有填写的值(填写的是节点服务器域名-ip对),但似乎解析节点服务器的时候不会匹配填写的hosts列表
应该会使用填写的 hosts 列表,我专门写了这部分逻辑的代码
https://github.com/2dust/v2rayNG/blob/72194252583b863aa17d4079704c9fb779167b2e/V2rayNG/app/src/main/java/com/v2ray/ang/handler/V2rayConfigManager.kt#L831
实测也确实使用了
从技术上可以用设置的 dns 来解析一次。 你说你的设备无法解析成功,在启动的时候会失败吗?
是的,根本无法连接上节点服务器,提示io:read/write on closed pipe
实测也确实使用了
我这里填写的hosts是节点服务器的域名-ip,连接不上节点服务器
截图中没有看到你填写。 你填写后点击到处完整配置文件,然后看配置文件是否有你填写的值?
配置文件有填写的值(填写的是节点服务器域名-ip对),但似乎解析节点服务器的时候不会匹配填写的hosts列表
应该会使用填写的 hosts 列表,我专门写了这部分逻辑的代码
v2rayNG/V2rayNG/app/src/main/java/com/v2ray/ang/handler/V2rayConfigManager.kt
Line 831 in 7219425
if (newHosts.containsKey(domain)) continue
看了一下这里的逻辑,应该是判断我现有的hosts如果有对应域名的记录,就不做额外解析,这么看应该没问题,但我实际上还是无法连接上节点服务器,提示“失败:io:read/write on closed pipe ”
你先不要用域名,直接用 IP 填地址,然后测试下是否能正常用否? 另外自己看下 log
另外如果用域名的情况下,一般会有 dns 的日志的,比如
[Info] app/dns: returning 1 IP(s) for domain 域名 -> [你的 ip ]
实测也确实使用了
我这里填写的hosts是节点服务器的域名-ip,连接不上节点服务器
填写 域名:ip
实测也确实使用了
我这里填写的hosts是节点服务器的域名-ip,连接不上节点服务器
填写 域名:ip
是这个格式 无误,域名:ip
节点协议和传输层是?
节点协议和传输层是?
shadowsocks , tcp
如果可以增加 自定义节点地址解析的DNS,那问题就解决了,就不知道技术上好不好实现,(我用 flclash 测试了一下,覆写节点解析dns 地址就可以正常工作)
你可以用自定义配置自己先测试下。 你导出完整配置,然后再导入,编辑中,在 dns 中增加类似下面的配置,注意逗号什么的
{
"address": "223.5.5.5",
"domains": [
"你的域名"
],
"skipFallback": true
}
确实有问题,没生成 sockopt.domainStrategy
哦哦,if (newHosts.containsKey(domain)) continue 在 item.ensureSockopt().domainStrategy = if (preferIpv6) "UseIPv6v4" else "UseIPv4v6" 前面
https://github.com/2dust/v2rayNG/actions/runs/15699163548 试一试?
https://github.com/2dust/v2rayNG/actions/runs/15699163548 试一试?
修复后,我测试可以正常连接,应该没问题。
另外自定义节点服务器解析DNS这点考虑吗
暂时不考虑自定义
@dianxin623 你好,能否试下,使用旧版本的v2rayNG,服务器地址处填写服务器的IP,最底下http host/SNI处填写你的服务器域名(清空DNS hosts)能否连接你的服务器,谢谢!
@dianxin623 你好,能否试下,使用旧版本的v2rayNG,服务器地址处填写服务器的IP,最底下http host/SNI处填写你的服务器域名(清空DNS hosts)能否连接你的服务器,谢谢!
可以连接,服务器地址处填写ip就可以连接了,不需要在http host填写域名(清空了DNS hosts)