Files
smartdns/docs/config/ipset-nftset.md
2023-12-01 21:00:43 +08:00

2.1 KiB
Raw Blame History

hide
hide
toc

使用ipset和nftset

和Dnsmasq类似smartdns支持ipset和nftset可以将特定的域名通过TPROXY进行透明转发透明转发涉工具模式对比如下

  1. 工具iptablenftable

    iptable成熟的路由规则配置工具。
    nftable更加强大的规则配置工具正在成为主流。

ipset配置

  1. 基本配置

    通过如下参数可以配置指定域名的NFTSet规则

    ipset /domain/ipset
    ipset /domain/[#4:ipsetv4,#6:ipsetv6]
    
  2. 超时

    SmartDNS设置IPSet支持设置是否启用超时功能这样可以避免NFTSet中过多IP地址网关性能下降。启用方式为

    ipset-timeout yes
    
  3. 测速失败后自动添加到IPSet

    SmartDNS可以将测速失败的IP地址加入IPSet再由相关IP规则转发

    ipset-no-speed ipsetname
    

nftset配置

  1. 基本配置

    通过如下参数可以配置指定域名的IPSet规则

    nftset /domain/[#4:ip#table#set,#6:ipv6#table#setv6]
    
  2. 超时

    SmartDNS设置IPSet支持设置是否启用超时功能这样可以避免IPSet中过多IP地址网关性能下降。启用方式为

    nftset-timeout yes
    
  3. 测速失败后自动添加到IPSet

    SmartDNS可以将测速失败的IP地址加入IPSet再由相关IP规则转发

    nftset-no-speed ipsetname
    
  4. DEBUG调试

    如需要Debug调试可以开启nftset的调试功能。

    nftset-debug yes
    

对特定的服务端口设置ipset和nftset

smartdns的bind参数支持设置ipset和nftset当设置了ipset和nftset的端口接收到请求后将对此端口的查询请求设置ipset和nftset。

通过如下配置可以将对于端口的查询请求全部设置到ipset中比如将第二DNS的所有查询结果放入ipset。

bind [::]:6053 -ipset [ipset] -nftset [nftset]
  • -ipset参数选项参考ipset选项。
  • -nftset选项参考nftset。