Linux 服务器启用 DNS 加密

news2025/1/8 3:54:07

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


1. 使用 DoH (DNS over HTTPS)

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

    sudo apt update
    sudo apt install cloudflared
    
  2. 配置 DNS 服务
    修改 /etc/cloudflared/config.yml

    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. 启动服务

    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

    sudo apt install stubby
    
  2. 配置 Stubby
    编辑 /etc/stubby/stubby.yml

    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. 启动服务

    sudo systemctl enable stubby
    sudo systemctl start stubby
    
  4. 更改系统 DNS
    /etc/resolv.conf 配置为:

    nameserver 127.0.0.1
    

3. 使用 DNSCrypt

工具推荐:
  • dnscrypt-proxy
配置步骤:
  1. 安装 dnscrypt-proxy
    从官方 GitHub 页面下载并安装:

    sudo apt install dnscrypt-proxy
    
  2. 配置 dnscrypt-proxy
    编辑 /etc/dnscrypt-proxy/dnscrypt-proxy.toml

    server_names = ['cloudflare', 'google']
    listen_addresses = ['127.0.0.1:5353']
    
  3. 启动服务

    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(捕获网络流量,验证是否走加密端口)

例如:

dig @127.0.0.1 -p 5053 google.com

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2272401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue】分享一个快速入门的前端框架以及如何搭建

先上效果图: 登录 菜单: 下载地址: 链接:https://pan.baidu.com/s/1m-ZlBARWU6_2n8jZil_RAQ 提取码:ui20 … 主要是可以自定义设置token,更改后端请求地址较为方便。 应用设置: 登录与token设置: 在这里设置不用登录,可以请求的接口: request.js i…

【Linux】RPMSG通讯协议介绍

RPMSG协议通讯协议介绍 RPMSG,全称Remote processor Messaging。是一种核间通讯协议。在Linux Kernel中,已经内置了RPMSG。 Linux RPMSG基于共享内存,利用RPMSG可以高效的实现核间通信。比如Linux与FreeRTOS、Linux与Android,都可…

【51单片机-零基础chapter1】

安装软件(配套的有,不多赘述) 1.管理员身份运行keil和破解软件kegen 将CID代码复制粘贴到 一定要管理员方式,不然会error 插入板子 我的电脑,管理 1.如果是拯救者,查看端口,如果没有则显示隐藏 2.苹果不知道,好像不可以 3.其他电脑在"其他设备找" (注:本人在校已…

计算机网络-数据链路层(CSMA/CD协议,CSMA/CA协议)

2.2 ppp协议 点对点协议ppp是目前使用最广泛的点对点数据链路层协议。 2.3 媒体接入控制基本概念 共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC。 2.3.1 静态划分信道 频分复用 时分复用 波分复用 码分复…

JMeter + Grafana +InfluxDB性能监控 (二)

您可以通过JMeter、Grafana 和 InfluxDB来搭建一个炫酷的基于JMeter测试数据的性能测试监控平台。 下面,笔者详细介绍具体的搭建过程。 安装并配置InfluxDB 您可以从清华大学开源软件镜像站等获得InfluxDB的RPM包,这里笔者下载的是influxdb-1.8.0.x86_…

李宏毅机器学习笔记-Transformer

目录 1. Seq2seq 2. encoder Transformer 中的 Block 结构 3. Decoder 4.Encoder和Decoder间的信息传递 5.Training 6.Tips 1. Seq2seq Transformer 是一个seq2seq的model。Seq2seq指的是input是一个序列,输出也是一个序列,输出的长度是由机器自己…

【AWS SDK PHP】This operation requests `sigv4a` auth schemes 问题处理

使用AWS SDK碰到的错误,其实很简单,要装个扩展库 保持如下 Fatal error: Uncaught Aws\Auth\Exception\UnresolvedAuthSchemeException: This operation requests sigv4a auth schemes, but the client currently supports sigv4, none, bearer, sigv4-…

Qt 5.14.2 学习记录 —— 일 新项目

文章目录 1、创建2、查看代码 ---- main.cpp3、查看代码 ---- widgt.h4、查看代码 ---- widgt.cpp和widget.ui5、查看代码 ---- Empty.pro6、运行产生的中间文件 1、创建 左上角的文件,新建文件或项目。如果要写一个GUI程序,应当选择Application&#x…

Spring MVC和servlet

1.Spring MVC是Spring框架的一个扩展 2.Spring MVC工作流程 1、用户发送请求至前端控制器DispatcherServlet。 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及…

蓝牙架构介绍

架构1:hostcontroller双芯片标准架构 这个标准把蓝牙协议栈分成host和controller两部分,其中host跑在AP上,controller跑在蓝牙模块上,两者之间通过HCI协议进行通信,AP芯片厂商一般会直接采用开源的Bluez来实现Host功能…

MySQL(二)MySQL DDL数据库定义语言

1. MySQL DDL数据库定义语言 1.1. MySQL定义语言 进入MySQL mysql -u root -p(回车后输入密码,即可进入mysq1)1.1.1. 数据库操作 (1)查看数据库 mysql>show databases;注:MySQL语句分隔符为“;”   mysql库很重要它里面有…

决定系数(R²分数)——评估回归模型性能的一个指标

目录 1.定义 2.计算举例 3. 结果分析 1.定义 R(R平方)分数,也称为决定系数,是用来评估回归模型性能的一个指标。它表示自变量解释因变量变异性的比例。R分数的取值范围通常在0到1之间,其值越接近1,说明…

node.js内置模块之---stream 模块

stream 模块的作用 在 Node.js 中,stream 模块是一个用于处理流(stream)的核心模块。流是一种处理数据的抽象方式,允许程序处理大量数据时不会一次性将所有数据加载到内存中,从而提高性能和内存效率。通过流&#xff0…

音视频入门基础:MPEG2-PS专题(5)——FFmpeg源码中,解析PS流中的PES流的实现

一、引言 从《音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介》中可以知道,PS流由一个个pack(包装)组成。一个pack 一个pack_header 一个或多个PES_packet。pack_header中还可能存在system header…

ElasticSearch05-集群搭建

零、文章目录 ElasticSearch05-集群搭建 1、Windows集群 (1)安装节点 就是把下载的压缩包解压之后复制三个副本 (2)配置节点 每个文件夹的配置文件config/elasticsearch.yml修改如下node-01 配置如下 cluster.name: myclust…

【服务器项目部署】✈️将本地项目部署到服务器(二)!

目录 👋前言 👀一、功能调整 🌱二、服务部署 💞️三、代码调整 🍻四、章末 👋前言 小伙伴们大家好,上篇文章本地实践了如何将本地项目部署到服务器上,从服务器的选择、服务器环境…

挖掘建模之分类与预测

根据挖掘目标和数据形式可以建立分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等模型,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。 1.分类与预测 就餐饮企业而言,经常会碰到这样的问题: 1&…

安卓入门十三 常用功能模块一RxJava

响应式编程RxJava 响应式编程:使用RxJava库实现响应式编程范式,提供更简洁、易于维护的异步编程方式。 异步编程的简洁性:响应式编程提供了一种简洁、流畅的方式来处理异步任务。通过使用操作符和线程调度器,可以将异步操作串联…

【LeetCode】:最长乘积等价子数组【简单】

https://leetcode.cn/problems/maximum-subarray-with-equal-products/description/ 以下是解决这道题的详细思路: 一、理解题目要求 题目给定一个由正整数组成的数组 nums,需要找出其中最长的“乘积等价子数组”的长度。一个数组 arr 被称为“乘积等…

Android使用DataBinding和Merge引发的血案

Android使用DataBinding和Merge引发的血案 1.前言: 相信Databinding和Merge大家都不陌生,今天讲解的是Databinding和Merge一起使用遇到的问题,在父布局使用,引用的布局使用Merge会导致id找不到,运行时直接崩溃了&…