mosdns缓存dns服务器配置记录

https://irine-sistiana.gitbook.io/mosdns-wiki参考配置

使用内置执行器cache

复制代码
[root@localhost ~]# cat /etc/mosdns/config.yaml 
log:
  level: debug
  file: /tmp/mosdns.log
plugins:
  - tag: main
    type: sequence
    args:
      - exec: cache 10000     #查找 cache。
      - matches:             # 如果
          - has_resp         # 有应答了(上一步 cache 找到应答)
        exec: accept         # 结束。

      # 上一步没有找到缓存,就会到这一步,转发至阿里云获取应答。
      - exec: forward https://dns.alidns.com/dns-query?
      # sequence 结束(被 reject,accept,或者运行到末尾)后就会返回调用者。在这个配置文件中
      # 调用者是下面的服务器。服务器就会返回应答至客户端。


  # 启动 udp 和 tcp 服务器。
  - type: udp_server
    args:
      entry: main # 收到的请求会执行上面的逻辑
      listen: 0.0.0.0:53
  - type: tcp_server
    args:
      entry: main
      listen: 0.0.0.0:53

使用自定义lazy_cache插件

复制代码
[root@localhost 100trust]# cat /etc/mosdns/config.yaml 
log:
  level: debug
  file: /tmp/mosdns.log
plugins:
  - tag: lazy_cache
    type: cache
    args:
      size: 10240
      lazy_cache_ttl: 86400
      dump_file: /tmp/mosdns.dump

  - tag: main
    type: sequence
    args:
      - exec: $lazy_cache
      - matches: has_resp
        exec: accept

      # 上一步没有找到缓存,就会到这一步,转发至360获取应答。
      - exec: forward https://doh.360.cn/dns-query
      # sequence 结束(被 reject,accept,或者运行到末尾)后就会返回调用者。在这个配置文件中
      # 调用者是下面的服务器。服务器就会返回应答至客户端。


  # 启动 udp 和 tcp 服务器。
  - type: udp_server
    args:
      entry: main # 收到的请求会执行上面的逻辑
      listen: 0.0.0.0:53
  - type: tcp_server
    args:
      entry: main
      listen: 0.0.0.0:53

[root@localhost 100trust]# cat /etc/mosdns/config.yaml 
log:
  level: debug
  file: /tmp/mosdns.log
plugins:
  - tag: lazy_cache
    type: cache
    args:
      size: 10240
      lazy_cache_ttl: 86400
      dump_file: /tmp/mosdns.dump


  - tag: "remote_forward"
    type: forward
    args:
      concurrent: 2
      upstreams: 
        - addr: "https://doh.360.cn/dns-query"
          idle_timeout: 86400
        - addr: "https://dns.alidns.com/dns-query?"
          idle_timeout: 86400
  - tag: main
    type: sequence
    args:
      - exec: $lazy_cache
      - matches: has_resp
        exec: accept

      # 上一步没有找到缓存,就会到这一步,转发至remote_forward获取应答。
      - exec: $remote_forward
      # sequence 结束(被 reject,accept,或者运行到末尾)后就会返回调用者。在这个配置文件中
      # 调用者是下面的服务器。服务器就会返回应答至客户端。


  # 启动 udp 和 tcp 服务器。
  - type: udp_server
    args:
      entry: main # 收到的请求会执行上面的逻辑
      listen: 0.0.0.0:53
  - type: tcp_server
    args:
      entry: main
      listen: 0.0.0.0:53
[root@localhost 100trust]# 
相关推荐
阿里云大数据AI技术3 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
你好潘先生9 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
SkyWalking中文站1 天前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
小猿姐2 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
SkyWalking中文站2 天前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站3 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控