pfSense、OPNsense安装配置MosDNS

MosDNS是一款高性能且轻量级的DNS服务器,主要用于提供DNS-over-HTTPS (DoH) 和DNS-over-TLS (DoT) 功能,以保障用户的网络隐私和安全。MOSDNS的设计注重简洁、易配置和高效性能,适用于各种网络环境中,尤其是在需要增强DNS安全性的情况下。

MosDNS可以在FreeBSD系统上安装和使用,本文介绍在pfSense和OPNsense上安装配置MosDNS的方法。为减化安装过程,我制作了一键脚本,简化安装过程。

安装MosDNS

请参阅以下教程:

安装完成以后,如下图所示:

OPNsensen的MosDNS控制界面

pfSense的MosDNS控制界面

配置MosDNS

MosDNS的配置文件存放在/usr/local/etc/mosdns/下,所有与配置文件有关联的其他配置也必须存放在该目录。使用MosDNS做DNS分流,建议禁用防火墙自带的DNS解析,以避免端口冲突。Clash和Sing-Box配置文件当中的DNS必须指向MosDNS。

假设MosDNS运行在本地,监听地址为 127.0.0.1:53。

Clach配置

Clash配置文件DNS部分建议写法:

dns:
  enable: true
  listen: 0.0.0.0:1053 
  enhanced-mode: fake-ip 
  fake-ip-range: 198.18.0.1/16 
  use-hosts: true 
  nameserver:
    - 127.0.0.1:53 
  fallback:
    - 1.1.1.1 
    - 8.8.8.8
  fallback-filter:
    geoip: true 
    ipcidr:
      - 240.0.0.0/4
  default-nameserver:
    - 127.0.0.1:53

参数说明:

  • enable: true:启用Clash 的内置DNS 服务。
  • listen: 0.0.0.0:1053:设置Clash的DNS 服务监听地址,若不需要监听所有接口,可以改为127.0.0.1:1053。
  • enhanced-mode: fake-ip:DNS增强模式。
    • fake-ip 模式:适用于需要IP映射的场景。
    • redir-host 模式:更适合分流或需要准确域名的场景。
  • nameserver:指定用于解析的主要DNS 服务器,配置为MosDNS的监听地址。
  • fallback:备用DNS,当MosDNS无法解析时生效。
  • fallback-filter:配置GeoIP和IP CIDR筛选规则,用于过滤非公网IP等。
  • default-nameserver:默认使用的DNS服务器。

Sing-Box配置

Sing-Box配置文件DNS部分建议写法:

{
  "dns": {
   "servers": [
     {
       "tag": "mosdns",
       "address": "127.0.0.1",
       "port": 53,
       "strategy": "prefer_ipv4",
       "detour": "direct"
    }
   ],
   "disable_cache": false,
   "disable_expire": false,
   "disable_fallback": true
  }
}

参数说明

  • servers:
    • 配置一个指向MosDNS的DNS服务器。
    • tag: 标识该服务器为mosdns,方便扩展和调试。
    • address: 指定MosDNS的监听地址(通常是 127.0.0.1)。
    • port: 指定MosDNS的监听端口(例如 53)。
    • strategy: 设置查询策略,prefer_ipv4优先返回 IPv4 地址,prefer_ipv6优先返回IPv6地址。
    • detour: 设置网络出口为direct,表示直连查询。
  • disable_cache:
    • 是否禁用DNS缓存。建议设置为false以提升性能。
  • disable_expire:
    • 是否禁用缓存过期处理。设置为false以允许缓存自动过期。
  • disable_fallback:
    • 是否禁用回退机制。设置为true,避免在MosDNS无响应时切换到其他DNS。

MosDNS配置

确保MosDNS的配置已设置为支持DNS分流,例如根据域名或IP使用不同的上游DNS服务器。示例如下:

servers:
  - label: "国内DNS"
    address: "223.5.5.5:53"
  - label: "国外DNS"
    address: "8.8.8.8:53"

rules:
  - suffix: ".cn"
    server: "国内DNS"
  - default: "国外DNS"

listeners: 
  - address: "127.0.0.1" 
    port: 53 
    protocol: "udp" 
  - address: "127.0.0.1" 
    port: 53 
    protocol: "tcp"

注意事项

  • 确保MosDNS和Clash、Sing-Box的监听地址及端口不冲突。
  • 调试时,可以使用工具如dig或nslookup检查DNS查询结果是否符合预期。

通过这种方式,MosDNS负责分流逻辑,而Clash、Sing-Box的DNS功能主要用于配合代理。

OPNsense上的MosDNS配置可以参考:techprober/mosdns-opnsense-install

附件下载

评论

  1. kvncyx
    2 周前
    2025-1-10 18:34:55

    安装成功也运行得很好,非常感谢,但是WebGUI的日志不会刷新,一直停留在安装时的那几条信息

    • Avatar photo
      博主
      kvncyx
      2 周前
      2025-1-11 15:53:36

      OPNsense受防火墙安全限制,通过WAN接口远程查看状态会显示不正常,如果是本地(包含VPN)就没有问题。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇