这里是我 dns 的配置(四个主策略 1111 优先、8888 兜底、国内域名走阿里,apple 走本地)
"dns": {
"fakeip": {
"enabled": true,
"inet4_range": "198.18.0.0/15",
"inet6_range": "fc00::/18"
},
"servers": [
{
"tag": "google",
"address": "tls://8.8.8.8",
"detour": "Proxy"
},
{
"tag": "remote",
"address": "tls://1.1.1.1",
"detour": "Proxy"
},
{
"tag": "china",
"address": "https://223.5.5.5/dns-query",
"detour": "direct"
},
{
"tag": "system",
"address": "local",
"detour": "direct"
},
{
"tag": "fakeip",
"address": "fakeip"
}
],
"rules": [
{
"outbound": "any",
"server": "china"
},
{
"clash_mode": "direct",
"server": "china"
},
{
"clash_mode": "global",
"server": "remote"
},
{
"query_type": "HTTPS",
"rule_set": "geosite-geolocation-!cn",
"server": "remote"
},
{
"query_type": "HTTPS",
"rule_set": "geosite-cn",
"action": "reject"
},
{
"ip_is_private": true,
"server": "system"
},
{
"rule_set": [
"geosite-apple",
"geosite-microsoft"
],
"server": "system"
},
{
"rule_set": [
"geosite-bilibili",
"geosite-cn"
],
"server": "china"
},
{
"type": "logical",
"mode": "and",
"rules": [
{
"rule_set": "geosite-geolocation-!cn",
"invert": true
},
{
"rule_set": "geoip-cn"
}
],
"server": "china",
"client_subnet": "114.114.114.114/24"
},
{
"query_type": [
"A",
"AAAA"
],
"rule_set": "geosite-geolocation-!cn",
"server": "fakeip"
}
],
"final": "google",
"independent_cache": true,
"strategy": "prefer_ipv4"
},
1
NG6 61 天前
这是我的,用着感觉还行,不过我的用途是给不支持 proxy 的容器做代理用
``` { "log": { "level": "info", "timestamp": true }, "experimental": { "cache_file": { "enabled": true, "store_fakeip": true, "store_rdrc": true } }, "dns": { "independent_cache": true, "disable_cache": false, "strategy": "ipv4_only", "servers": [ { "tag": "ali", "type": "https", "server": "223.5.5.5", "detour": "direct" }, { "tag": "ali-h3", "type": "h3", "server": "xxxxxx.alidns.com", "detour": "direct", "domain_resolver": "ali" }, { "tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18" } ], "rules": [ { "rule_set": "geosite-cn", "server": "ali-h3" }, { "query_type": [ "A", "AAAA" ], "server": "fakeip" } ] }, "route": { "default_domain_resolver": "ali-h3", "auto_detect_interface": true, "rules": [ { "action": "sniff" }, { "protocol": "dns", "action": "hijack-dns" }, { "ip_is_private": true, "outbound": "direct" }, { "rule_set": [ "geosite-cn", "geoip-cn" ], "outbound": "direct" }, { "protocol": "quic", "port": 443, "action": "reject", "method": "default", "no_drop": false }, { "inbound": "tun", "outbound": "clash" } ], "rule_set": [ { "tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://raw.github.com/lyc8503/sing-box-rules/rule-set-geosite/geosite-cn.srs", "download_detour": "clash" }, { "tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://raw.github.com/lyc8503/sing-box-rules/rule-set-geoip/geoip-cn.srs", "download_detour": "clash" } ] }, "inbounds": [ { "type": "tun", "tag": "tun", "address": [ "172.18.0.1/30" ], "auto_route": true, "strict_route": true } ], "outbounds": [ { "type": "direct", "tag": "direct", "connect_timeout": "5s" }, { "type": "socks", "tag": "clash", "server": "192.168.1.92", "connect_timeout": "5s", "server_port": 17891 } ] } ``` |
![]() |
2
chunchu 61 天前
能否提供一个完整配置文件参考一下,谢谢
|
3
liaohongxing 61 天前
请教一下 dns 的 query_type 为什么可以填 https
|
4
daisyfloor 61 天前
和你用没用 tun 有一些关系。
1 、如果你没用 tun ,其实 fakeip 没什么作用,可能还带来额外的问题。因为 mix 进来的流量会至今进入路由而不会进行 dns 解析,singbox 的路由机制和 clash 也不一样,默认不进行 dns 解析去匹配 ip 规则,所以走代理的都去了远端代理解析,走直连的,才会在域名方式进入 direct 后,调用"default_domain_resolver"指定的那个 server 直接进行解析(不走 DNS 里的规则)。 2 、如果你用了 tun ,那么所有进入 tun 的的流量,都会先进行 dns 解析,这个时候正确的做法是让 fakeip 直接接管(目的是避免本地 dns 解析的额外开销+dns 泄露和污染的风险),这样带着 fakeip 的流量进入路由后,回到步骤 1 的流程。用最快的方式进行分流和出站。 如果你路由的 ip 规则需要进行本地域名解析进行匹配,则需要在 ip 规则之前加入解析 action ,这里也是直接指定 dns server { "action": "resolve", "server": "google" }, 所以,最终还是看你怎么用,我使用 mix+tun 进站,并且启用了 fakeip ,于是我只在 dns 路由规则里放了 reject 广告规则(其实也可以不放,放在后面的路由里也是可以的,只是放在这里某些情况下这会快一些)、之后是 fakeip 接管所有 dns 解析请求。 快的飞起。 我用的是 1.12 。 你应该根据自己的实际用况,结合 sing-box 的的逻辑(时尚 1.11 和 1.12 在某些地方还是有有差别的)进合理配置。 |
![]() |
5
chanChristin PRO |
![]() |
6
wuxkwnjjwoxk 61 天前
分流国内外 dns 没有任何意义
|
7
ylx 61 天前 via iPhone
|
8
vokins 61 天前
dns 还不如系统默认,试过各种 dns ,会出现各种各样的小问题
|
![]() |
9
NASK 60 天前
|
10
radeon019 60 天前 via iPhone
@wuxkwnjjwoxk #6 怎么理解?
|
12
a66243766 OP 先回复一些简单的问题,复杂问题在分步回答
@NG6 牛学习中 @chunchu 可能有些敏感的配置不太适合而且文件太大了 @vokins 是的我也有这样的感觉,但是经验告诉我一般是自己专业性的的问题,学习好了就可以解决 @liaohongxing 有些 dns 请求是加密的 DoH 、tls 而很多国产的地址并不需要这个过程,毕竟开代理 dns 服务是绕开运行商的采集,走公开的会比较好。 |
13
a66243766 OP @wuxkwnjjwoxk 怎么说呢如果你为了加速更快的境外体验、避免 dns 过程泄露(为何要 dns 解析并且防止泄露就要知道泄露的主体是谁)一定是有用的
|
14
a66243766 OP @NASK https://github.com/vincenty1ung/sing-box-subscribe fork 过来 ,定期我会执行一次 py 脚本更新一下代理列表,希望可以帮到你
|
15
a66243766 OP @daisyfloor
2.我是 tun 接管所以用了 fakeip ,但是不想 apple 和国内的很多 ip 走 fakeip 想减少转换开销,所以做了!cn a 、aaaa 才走 fakeip 1.我起初还以为 fakeip 在转换 domain 后到,路由规则后,选择对应的代理配置,然后走 dns 设置好的 final dns server 做 dns 解析然后转换成 ip 给到代理端 ip+port ,原来是直接交给代理服务做了 dns ? 想问一下这个 有点看不太懂,看了 singbox 官方的文档对这个也没有太多的解释。 { "action": "resolve", "server": "google" }, |
![]() |
16
wuxkwnjjwoxk 60 天前 via iPhone
@radeon019 以 lz 的配置为例,判断 dns 是否分流的规则和直接用域名规则/geoip 分流然后交给 remote server 处理并没有区别,何必多此一举。况且 remote server 也未必使用 lz 指定的 dns ,这可以用自建 vps 配和能看见解析记录的 dns 验证一下。不如直接使用一个可信的 dns 或者干脆就用公共 dns ,毕竟就解析个 dns 也不会把人抓了。
|
17
a66243766 OP @wuxkwnjjwoxk 可是你用公共的或者 114 国外的域名会被返回错误的 ip 地址 ,错误的 ip 地址交给 remote server 并不可用啊
|
![]() |
18
wuxkwnjjwoxk 60 天前 via iPhone
@a66243766 这就是第二点,机场会使用自己的的 dns ,你在 client 里面指定是不起效的
|
19
daisyfloor 59 天前
@a66243766
比如你的逻辑规则是这样 geosite-globle ,proxy geosite-cn ,direct geoip-cn ,direct final ,proxy 如果没有 { "action": "resolve", "server": "google" }, 假如有一个域名,qishishichina.com 不在上述任何一个域名规则集里,那么在 singbox 的逻辑中里是不会进行域名解析得到 ip 地址去匹配那个 ip 规则的,而是直接交给 final 了。 这样做也没有问题,但 qishishichina.com 如果是一个国内域名它对应的 ip 也是国内的,那走 proxy 就绕路了,这我们希望更准确一点,在 geoip-cn 这条规则之前加入 { "action": "resolve", "server": "google" }, 就会在两条域名规则都不匹配之后,进行域名解析,去匹配 ip 规则,发现是一个 cn 的 ip ,走 direct 出去。 如果你用过 clash 应该就知道区别在哪里。clash 默认会进行域名解析去匹配 ip 规则,而 sing-box 不会。 |
20
Richared 59 天前
你整这么复杂干啥,一个国内一个国外,国内域名走国内,剩下的 final 走国外。其实 dns 无所谓,机场都会开,忘了叫啥了,他不用你的 dns 解析,他会自己解析。你自己搭建也可以开,肯定用 vps 自己的 dns 最好。
|
21
Siefy1983 9 天前
@daisyfloor 大佬,能分享一下配置文件么
|