Skip to content
This repository has been archived by the owner on Mar 17, 2024. It is now read-only.

关于DNS

e1732a364fed edited this page Dec 5, 2022 · 4 revisions

配置示例

[dns]
# 只要dns模块存在并给出了servers,则所有域名请求都会被先解析成ip
# dns解析仅仅是为了能够精准分流, 如果你不需要分流, 没有自定义dns需求,则不需要dns模块

# dns解析的默认方式是先查A记录,没有A再查AAAA记录 (先查4后查6)

# strategy = 60
# strategy 为 dns查询时 针对ipv4 和 v6 到底先查谁 的一个策略配置。
# 0表示默认, 4表示先查ip4后查ip6, 6表示先查6后查4; 40表示只查ipv4, 60 表示只查ipv6。
# 在只查 ipv6时, 有可能查无结果, 此时将依然会把域名原封不动发送到节点, 而不是断开连接.

# ttl_strategy = 1
# ttl_strategy 为缓存过期时间的配置,小白暂时可以不管. 0表示默认(记录永不过期), 1表示严格按照dns查询到的TTL, 其他值则为自定义的秒数,然后程序会按这个时间周期性清理缓存。 (不可为负)


servers = [
	"udp://114.114.114.114:53",      # 如果把该url指向我们dokodemo监听的端口,就可以达到通过节点请求dns的目的.
	#"udp://127.0.0.1:63782",      # 如这一行 就是通过我们节点请求dns
	
	#{ addr = "udp://8.8.8.8:53", domain = [ "google.com" ] },	# 还可以为特定域名指定特定服务器
	#{ addr = "tls://223.5.5.5:853", domain = [ "twitter.com" ] }	# 还可以 用 dns over tls
]

# servers 列表中的 第一项 将被作为 默认 dns 服务器, 必须保证能连上,所以建议填写确实能连上的dns服务器,否则可能出问题

[dns.hosts]     # 自己定义的dns解析
"www.myfake.com" = "11.22.33.44"
"www.myfake2.com" = "11.222.33.44"

对比

vs的DNS逻辑 和 v2ray的区别:

v2ray的DNS逻辑,可以参考

https://tachyondevel.medium.com/%E6%BC%AB%E8%B0%88%E5%90%84%E7%A7%8D%E9%BB%91%E7%A7%91%E6%8A%80%E5%BC%8F-dns-%E6%8A%80%E6%9C%AF%E5%9C%A8%E4%BB%A3%E7%90%86%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8-62c50e58cbd0

而我们vs中,暂时并没有 分 dial(即v2ray的outbound)的 "AsIS, UseIP, UseIPv4,UseIPv6"(分别对应 0, 4/6, 40, 60) 这几个配置。

目前我们vs的DNS配置是全局的,只要配置了DNS模块,就表示 所有的 dial 都不 使用 AsIS,然后通过全局的 dns 的 strategy 的值来确定到底如何 查询dns。

作为 very simple 的东西,我们就是要简化某些地方。如果日后遇到需要,再细分。

Clone this wiki locally