在当今互联网环境中,用户的隐私和安全越来越受到重视。传统的DNS查询以明文方式传输,容易被监听、劫持甚至篡改。而DNS over HTTPS(DoH)通过将DNS请求封装在HTTPS协议中,有效防止中间人攻击,保护用户隐私。本文将详细讲解如何在CentOS系统中配置DNS over HTTPS,即使是Linux新手也能轻松上手。
什么是 DNS over HTTPS(DoH)?
DNS over HTTPS(简称 DoH)是一种通过 HTTPS 协议加密 DNS 查询的协议。相比传统 DNS(端口53,UDP/TCP),DoH 使用标准的 HTTPS 端口(443),使 DNS 请求无法被轻易识别和拦截,从而提升CentOS网络安全水平。
准备工作
一台运行 CentOS 7/8/9 的服务器或桌面系统 具有 sudo 权限的用户账户 网络连接正常方法一:使用 systemd-resolved(适用于 CentOS 8/9)
从 CentOS 8 开始,系统默认包含
systemd-resolved服务,它原生支持 DoH。我们可以通过以下步骤启用:
1. 启用并启动 systemd-resolved
sudo systemctl enable --now systemd-resolved
2. 编辑 resolved.conf 配置文件
sudo vi /etc/systemd/resolved.conf
在文件中添加或修改以下内容:
[Resolve]DNS=https://cloudflare-dns.com/dns-query# 或者使用 Google 的 DoH:# DNS=https://dns.google/dns-queryFallbackDNS=8.8.8.8 1.1.1.1Domains=~.DNSOverTLS=yes
3. 重启服务并验证
sudo systemctl restart systemd-resolvedresolvectl status
如果看到
DNS Servers: https://cloudflare-dns.com/dns-query,说明配置成功。
方法二:使用 Stubby(适用于 CentOS 7/8/9)
如果你使用的是 CentOS 7,或者希望使用更灵活的 DoH 客户端,可以安装 Stubby。Stubby 是一个支持 DNS over TLS(DoT)和部分 DoH 的本地解析器。
1. 安装 EPEL 仓库和 Stubby
sudo yum install -y epel-releasesudo yum install -y stubby
2. 配置 Stubby 使用 DoH
编辑配置文件
/etc/stubby/stubby.yml:
resolution_type: GETDNS_RESOLUTION_STUBupstream_recursive_servers: - address_data: 1.1.1.1 tls_auth_name: "cloudflare-dns.com" tls_port: 853 - address_data: 8.8.8.8 tls_auth_name: "dns.google" tls_port: 853listen_addresses: - 127.0.0.1@53 - 0::1@53idle_timeout: 10000
注意: Stubby 原生支持 DNS over TLS(DoT),若需完整 DoH 支持,建议升级到 CentOS 8+ 并使用 systemd-resolved,或搭配 dnscrypt-proxy。
3. 启动 Stubby 并设置系统 DNS
sudo systemctl enable --now stubby
然后将系统 DNS 指向 127.0.0.1:
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
验证 DoH 是否生效
你可以使用以下命令测试 DNS 是否走加密通道:
dig @127.0.0.1 example.com
同时,可访问 https://1.1.1.1/help 查看是否显示 “Using DNS over HTTPS (DoH)”。
总结
通过本教程,你已经学会了在 CentOS 系统中配置 DNS over HTTPS 的两种主流方法。无论是使用 systemd-resolved 还是 Stubby,都能显著提升你的加密DNS设置水平,增强网络隐私保护。对于追求更高安全性的用户,推荐优先使用 systemd-resolved(CentOS 8/9)方案。
掌握这些技能后,你的 CentOS DNS over HTTPS 配置就不再是难题。赶快动手试试吧!
关键词回顾:CentOS DNS over HTTPS, DoH配置教程, CentOS网络安全, 加密DNS设置
