-
Notifications
You must be signed in to change notification settings - Fork 190
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
--no-ipv6
修改: 不过滤、过滤所有、按域名tag过滤、按ip测试结果过滤
#157
Comments
因为新增了 tag,同时考虑到之前的 no-AAAA 逻辑有些许复杂,决定对 no-AAAA(ipv6) 功能进行重写。
不过滤、过滤所有:
rules 格式修改:
按 tag 过滤,有以下 rule:
按 ip test 结果过滤,有以下 rule:
|
--no-ipv6
修改: 不过滤、过滤所有、按域名tag过滤、过滤非大陆ip
的响应。--no-ipv6
修改: 不过滤、过滤所有、按域名tag过滤、按ip测试结果过滤。
--no-ipv6
修改: 不过滤、过滤所有、按域名tag过滤、按ip测试结果过滤。--no-ipv6
修改: 不过滤、过滤所有、按域名tag过滤、按ip测试结果过滤
这个设计初衷的使用方法是什么。比如先加载chn 地址到ipset组里,然后chinadns-ng用这个组实现防污染, 并且把解析后的IP打标放到新的ipset组里,然后透明代理转发这个新的组流量到代理服务器? |
你是问新增的6组tag?还是新的no-aaaa规则? |
设计的初衷就是为了对 域名列表 进行细分,方便某些需求,比如你说的 公司域名、腾讯域名 走特定的上游dns。至于要不要 add to set,看需求,这个是可选的(对于内置tag、自定义tag都是如此)。 因为默认情况下,只有两组(chn和gfw),对应的上游dns也是两组(china-dns、trust-dns)。 如果我没记错的话,你在 #144 里面讨论过一个情景,就是腾讯系域名想走腾讯的DNS服务器,防止微信转圈之类的。以及公司域名走公司自己的DNS(比如某些公司域名并未在互联网上注册,仅内部可见)。 优先级 自定义的域名tag(域名列表)的优先级 高于内置tag(gfwlist/chnlist),内置tag的优先级规则没变,默认gfwlist优先,可使用 若相同的域名(后缀)存在于多个自定义tag的域名列表内,则优先级规则是:
这 8 组 tag 的上游组可以不同(大部分情况下),当然也允许有相同的。ipset/nftset也是同理。 具体用途看你们的需求,怎么组合都行,要不要 add ip to set(以及 add 到哪个 set)都是可配置的。 总之,核心逻辑并没有发生本质上的变化(也就是你说的“防污染”、分流等功能),只是允许更加细微的控制:
|
见最新版本。 |
先说一些背景信息:
正在开发的 chinadns-ng 2.0 可配置最多 8 组【域名tag, 上游group, ipset/nftset.group】。
每个“组”都有 3 个可配置的信息,即:
域名列表.txt
、将查询转发给什么上游
、将ip添加到哪个set
(可选)。若还不理解,可将这 3 个信息与 dnsmasq 的
--server=/domain/dns_server
、--ipset=/domain/setname
做类比。其中 2 组先前就已存在:
--chnlist-file
,上游group是--china-dns
,ipset.group是--add-tagchn-ip
。--gfwlist-file
,上游group是--trust-dns
,ipset.group是--add-taggfw-ip
。注意,tag:none 并不在这 8 组内,因为 tag:none 域名是未匹配任何列表的域名,此类域名有不同的处理逻辑:
--china-dns
和--trust-dns
(没有verdict缓存时,同时转发,有verdict缓存时,转发给特定group)ip test
操作(chnroute/chnroute6,决定是否采纳china上游的结果,并记录verdict缓存)剩下的 6 个“组”是 2.0 新增的,每个“组”都有 3 个信息可配置,具体的:
域名tag
:给“组”起一个名字,不能是chn
、gfw
、none
。域名(后缀)从用户提供的txt文件加载。上游group
:这“组”域名 要转发给什么上游 DNS,允许配置多个,格式同--china/trust-dns
。ipset.group
:若未空,则表示不需要收集ip;不为空则表示需要将ip添加到给定的ipset/nftset。额外的这 6 个自定义“组”,可用于某些特殊需求,比如:
The text was updated successfully, but these errors were encountered: