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]# 
相关推荐
小饼干在学嘎瓦1 小时前
本地缓存和分布式缓存如何选择?
分布式·缓存
zyl837212 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry3 小时前
MGRE实验
运维·服务器
博客-小覃3 小时前
Zabbix之华为交换机的日志记录信息操作详细教程
服务器·网络·华为·zabbix
stolentime3 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
向量引擎3 小时前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
z200509304 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
bush45 小时前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao6 小时前
软硬链接
linux·运维·服务器
TOWE technology6 小时前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd