Linux 服务器启用 DNS 加密

DNS 加密的常用协议包括 DNS over HTTPS (DoH) 、DNS over TLS (DoT) 和 DNSCrypt。以下是实现这些加密的步骤和工具建议:


1. 使用 DoH (DNS over HTTPS)

工具推荐:
  • cloudflared(Cloudflare 提供的客户端)
  • doh-client(轻量级 DoH 客户端)
  • coredns(可配置 DoH 服务)
配置步骤:
  1. 安装工具 :

    例如,使用 cloudflared:

    bash 复制代码
    sudo apt update
    sudo apt install cloudflared
  2. 配置 DNS 服务 :

    修改 /etc/cloudflared/config.yml:

    yaml 复制代码
    proxy-dns: true
    proxy-dns-port: 5053
    proxy-dns-upstream:
      - https://1.1.1.1/dns-query
      - https://8.8.8.8/dns-query
  3. 启动服务:

    bash 复制代码
    sudo systemctl enable cloudflared
    sudo systemctl start cloudflared
  4. 更改系统 DNS :

    编辑 /etc/resolv.conf,将本地解析器指向 127.0.0.1:5053。


2. 使用 DoT (DNS over TLS)

工具推荐:
  • Stubby
  • Unbound
配置步骤(以 Stubby 为例):
  1. 安装 Stubby:

    bash 复制代码
    sudo apt install stubby
  2. 配置 Stubby :

    编辑 /etc/stubby/stubby.yml:

    yaml 复制代码
    resolution_type: GETDNS_RESOLUTION_STUB
    dns_transport_list:
      - GETDNS_TRANSPORT_TLS
    tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
    upstream_recursive_servers:
      - address_data: 1.1.1.1
        tls_port: 853
        tls_auth_name: "cloudflare-dns.com"
      - address_data: 8.8.8.8
        tls_port: 853
        tls_auth_name: "dns.google"
  3. 启动服务:

    bash 复制代码
    sudo systemctl enable stubby
    sudo systemctl start stubby
  4. 更改系统 DNS :

    将 /etc/resolv.conf 配置为:

    text 复制代码
    nameserver 127.0.0.1

3. 使用 DNSCrypt

工具推荐:
  • dnscrypt-proxy
配置步骤:
  1. 安装 dnscrypt-proxy :

    从官方 GitHub 页面下载并安装:

    bash 复制代码
    sudo apt install dnscrypt-proxy
  2. 配置 dnscrypt-proxy :

    编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml:

    toml 复制代码
    server_names = ['cloudflare', 'google']
    listen_addresses = ['127.0.0.1:5353']
  3. 启动服务:

    bash 复制代码
    sudo systemctl enable dnscrypt-proxy
    sudo systemctl start dnscrypt-proxy
  4. 更改系统 DNS :

    修改 /etc/resolv.conf,指向 127.0.0.1:5353。


4. 验证 DNS 加密是否启用

使用以下工具检查 DNS 请求是否加密:

  • dig(检查解析是否通过加密服务)
  • tcpdump(捕获网络流量,验证是否走加密端口)

例如:

bash 复制代码
dig @127.0.0.1 -p 5053 google.com

如果需要进一步优化或解决问题,可以告诉我具体的场景或需求。 😊

相关推荐
weixin_403810138 分钟前
EasyClick iOS 免越狱自动化脚本怎么写:从环境判断到跑通第一个脚本
运维·ios·自动化
程序猿老A20 分钟前
GPU云服务器怎么安装AI
运维·服务器·人工智能
小白的码BUG之路21 分钟前
Docker -- No space left on device
运维·docker·容器
‎ദ്ദിᵔ.˛.ᵔ₎22 分钟前
linux 进程间通信
linux·网络
Ruiery29 分钟前
Linux 6.6内核 CPU 深度解析(八):percpu 变量 — 每个 CPU 一份数据,无锁访问
linux·运维·服务器
91刘仁德34 分钟前
传输层协议深度拆解:端口寻址、UDP 报文与 TCP 可靠性机制全解析
linux·网络·c++·网络协议·tcp/ip·udp·c
AIgorithmGEEK42 分钟前
[Linux]HTTP 应用层协议全解(中篇)
linux·网络·网络协议·http
玖石书1 小时前
linux 安装uv(python虚拟环境管理)
linux·python·uv
皓月盈江1 小时前
Hexo博客Butterfly5.7.0主题网站信息:本站访客数和本站总浏览量的数据一直加载不显示的解决方法
linux·hexo·butterfly·busuanzi·vercount·本站访客数·本站总浏览量
程序猿老A1 小时前
云服务器怎么配置视频存储?
运维·服务器·音视频