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]# 
相关推荐
_dindong32 分钟前
Linux网络编程:进程间关系和守护进程
linux·运维·服务器·网络·c++·学习
Jtti1 小时前
如何通过检查MySQL与系统日志以找出服务器CPU占用源
服务器·mysql·adb
想名字好难啊竟然不止我一个1 小时前
清除 Pip 缓存, 释放磁盘空间
python·缓存·pip
zt1985q1 小时前
本地部署消息中间件 RabbitMQ 并实现外网访问 (Linux 版本)
linux·运维·服务器·windows·分布式·rabbitmq
tb_first1 小时前
Linux入门2(1/3)
linux·运维·服务器
鼓掌MVP2 小时前
通过MCP协议结合腾讯云Lighthouse
大数据·运维
久曲健的测试窝2 小时前
Jenkins Share Library教程 —— 企业级 Jenkins Shared Library 实战示例
运维·jenkins
要站在顶端2 小时前
Jenkins Pipeline 多job依赖、触发多Job、并行执行及制品下载
运维·servlet·jenkins
Ghost Face...2 小时前
深入解析U-Boot命令系统
linux·运维·服务器
心灵宝贝2 小时前
申威服务器安装Nacos 2.0.3 RPM包详细步骤(Kylin V10 sw_64架构)附安装包
服务器·架构·kylin