Posted in: 折腾记录

为 Technitium DNS Server 开启 DoH3 和 DoQ 支持

之前分享了搭建 Technitium DNS Server 并用 acme.sh 申请证书,你可能也发现了,它是支持 DoH3/DoQ 的。不过当你想启用它时发现打不开,提示需要安装 libmsquic

DNS-over-QUIC protocol support is not available on all platforms. On Windows, it is available only on Windows 11 (build 22000 or later) and Windows Server 2022. On Linux, it requires libmsquic to be installed.

但是在我使用的 Ubuntu 20.04 上并不能直接通过 apt install libmsquic 来安装这个软件包,因此我们需要自行从源码构建。

Technitium 官方给了一种安装 libmsquic 的方法,无需自己构建。先安装微软软件存储库 (Microsoft Software Repository) ,然后就能直接安装 libmsquic 了。Configuring DNS-over-QUIC and HTTPS/3 For Technitium DNS Server 这比自己编译方便得多,下面内容不用看了。😅


以下是 ChatGPT 的提示的构建过程,实测可行,记录如下,一行一行执行,默认 root 用户。

# 克隆源码
git clone https://github.com/microsoft/msquic.git
cd msquic

apt update
apt install -y cmake clang ninja-build libssl-dev libkrb5-dev

# 初始化 Git 子模块
cd ~/msquic
git submodule update --init --recursive

# 创建构建目录并构建
mkdir build
cd build
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release
ninja

构建好的文件在 ~/msquic/build/bin/Release/libmsquic.so

# 安装到系统路径
cp ~/msquic/build/bin/Release/libmsquic.so /usr/local/lib/

# 刷新动态链接器缓存
ldconfig

重启 Technitium DNS Server

systemctl restart dns.service

然后去后台开启 Enable DNS-over-HTTP/3Enable DNS-over-QUIC,也可以自定端口,如果有防火墙需要开启对应端口的 UDP 入站。
截屏2025-04-25 19.35.36.avif

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Back to Top