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]# 
相关推荐
0+1111 小时前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋1 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
桌面运维家2 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890752 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻2 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_949847754 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906944 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗5 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB5 小时前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
codezzzsleep5 小时前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint