本文将演示如何使用systemd-resolved在Fedora操作系统上通过TLS配置DNS。

前言

现代计算机用来在Internet上查找资源的域名系统(DNS)是很旧以前设计的,没有考虑用户隐私,它面临安全风险和DNS劫持之类的攻击,它还允许ISP拦截查询。

幸运的是,可以使用基于TLS的DNS和DNSSEC。TLS和DNSSEC上的DNS允许创建从计算机到其配置的DNS服务器的安全且加密的端到端隧道,在Fedora操作系统上,实现这些技术的步骤很容易,并且所有必要的工具也很容易获得。

步骤1:设置systemd-resolved

修改/etc/systemd/resolved.conf,使其类似于以下所示,确保启用基于TLS的DNS并配置要使用的DNS服务器的IP地址:

$ cat /etc/systemd/resolved.conf

[Resolve]

DNS=1.1.1.1 9.9.9.9

DNSOverTLS=yes

DNSSEC=yes

FallbackDNS=8.8.8.8 1.0.0.1 8.8.4.4

#Domains=~.

#LLMNR=yes

#MulticastDNS=yes

#Cache=yes

#DNSStubListener=yes

#ReadEtcHosts=yes

关于选项的简要说明:

DNS:以空格分隔的IPv4和IPv6地址列表,用作系统DNS服务器。

FallbackDNS:用作后退DNS服务器的IPv4和IPv6地址的空格分隔列表。

Domains:解析单标签主机名~时,这些域用作搜索后缀,代表使用DNS= 定义的系统DNS服务器,最好用于所有域。

DNSOverTLS:如果为true,则将加密与服务器的所有连接。请注意,此模式要求DNS服务器支持TLS上的DNS,并具有其IP的有效证书。

注意:上面示例中列出的DNS服务器是我个人的选择,您应该确定要使用的DNS服务器。

步骤2:使NetworkManager将信息推送到systemd-resolved

在/etc/NetworkManager/conf.d中创建一个名为10-dns-systemd-resolved.conf的文件:

$ cat /etc/NetworkManager/conf.d/10-dns-systemd-resolved.conf

[main]

dns=systemd-resolved

上面显示的设置(dns=systemd-resolved)使NetworkManager将从DHCP获得的DNS信息推送到systemd-resolved服务,这将覆盖在步骤1中配置的DNS设置,这在受信任的网络上很好,但是可以设置dns=none来使用/etc/systemd/resolved.conf中配置的DNS服务器。

第三步:启动和重启服务

要使前面步骤中配置的设置生效,请启动并启用systemd-resolved,然后重新启动NetworkManager。

注意:重新启动NetworkManager时,这将导致失去连接几秒钟:

$ sudo systemctl start systemd-resolved

$ sudo systemctl enable systemd-resolved

$ sudo systemctl restart NetworkManager

注意:当前,默认情况下禁用systemd解析的服务,并且该服务的使用是可选的,不过在Fedora 33中有计划默认启用systemd-resolved。

步骤4:检查一切是否正常

现在,您应该使用基于TLS的DNS,通过使用以下方法检查DNS解析状态来确认这一点:

$ resolvectl status

如下图所示:

/etc/resolv.conf应指向127.0.0.53:

$ cat /etc/resolv.conf

# Generated by NetworkManager

search lan

nameserver 127.0.0.53

要查看systemd-resolved正在发送和接收安全查询的地址和端口,请运行:

$ sudo ss -lntp | grep '\(State\|:53 \)'

要进行安全查询,请运行:

$ resolvectl query fedoraproject.org

步骤5:使用Wireshark验证配置

首先,安装并运行Wireshark:

$ sudo dnf install wireshark

$ sudo wireshark

它将询问您必须在哪个链接设备上开始捕获数据包,就我而言,因为我使用无线接口,所以我将继续使用wlp58s0,在Wireshark中设置一个过滤器,例如tcp.port == 853(853是TLS协议端口上的DNS),您需要先刷新本地DNS缓存,然后才能捕获DNS查询:

$ sudo resolvectl flush-caches

现在运行:

$ nslookup fedoramagazine.org

您应该在计算机和配置的DNS服务器之间看到经过TLS加密的交换,如下图:

相关主题

linux通过resolve配置dns,使用systemd-resolved在Fedora上通过TLS配置DNS的方法相关推荐

  1. linux弹性网卡,将弹性网卡附加到 ECS 实例上之后如何配置弹性网卡

    本文在介绍将弹性网卡附加到 ECS 实例上之后如何配置弹性网卡的基础上,重点探讨了其具体步骤,本文内容很紧凑,希望大家耐心学习. 配置 ECS 实例的弹性网卡 如果您的实例使用以下几种镜像,您不需要手 ...

  2. centos 配置证书_如何在CentOS 8上设置和配置证书颁发机构(CA)

    centos 配置证书 介绍 (Introduction) A Certificate Authority (CA) is an entity responsible for issuing digi ...

  3. ubuntu 启动dns 字符界面_在ubuntu上使用DNSCrypt加密DNS

    1.安装DNSCrypt. sudo apt install dnscrypt-proxy 2.修改配置文件/etc/dnscrypt-proxy/dnscrypt-proxy.toml,修改serv ...

  4. linux 配置sftp日志,在CentOS 7.5上为SFTP配置ProFTPd

    这是有关如何为SFTP会话配置ProFTPd的指南. 安全文件传输协议(SFTP)是FTP的安全版本,它通过SSH协议传输文件. 与使用默认FTP协议相比,可以重新配置ProFTPD以服务SFTP会话 ...

  5. Linux驱动在arm运行,如何在嵌入式ARM-Linux平台上进行编译 配置和运行使用

    这篇文章你将会看到嵌入式ARM-Linux上的常用应用程序wpa_supplicant(以及wpa_supplicant依赖的libnl和openssl)的编译.配置和运行使用,iw.hostapd等 ...

  6. Linux7最小化安装 简书,在Proxmox VE上安装与配置Rocky Linux 8.3 RC1

    文章声明:此文基于木子实操撰写 生产环境:Rocky Linux release 8.3 问题关键字:在Proxmox VE上安装与配置Rocky Linux 8.3 RC1 前述 很久很久没有上51 ...

  7. windows7安dns服务器_在Windows 7 上安装DNS服务器bind9方法详解

    本文主要介绍在WIN7上安装bind9 DNS服务器的方法,非常详细希望对大家有所帮助 本文主要介绍在WIN7上利用ntbind部署DNS服务器的方法.ntbind是Bind的Windows版本, 1 ...

  8. 【安装win7 64位系统】- 出现《Windows安装程序无法将Windows配置为在此计算机的硬件上运行》错误-解决方法

    安装win7 64位系统出现<Windows安装程序无法将Windows配置为在此计算机的硬件上运行>错误的解决方法 出现的原因 解决办法 分割线:以下为查找的资料 博主用U盘安装台式wi ...

  9. Linux运维之网络的配置,四种ip方式的设定,网关,dns的设定及物理机的网络连接

    一.什么是ip地址(IP ADDRESS) 1.internet protocol ADDRESS                              网络协议地址 2.ipv4 interne ...

最新文章

  1. NSOperation的使用细节 [1]
  2. 搬家后第一次缴电费,查询客户编号的解决办法
  3. 同一解决方案内的多个项目之间如何引用?
  4. 数组名不等于指针---sizeof()函数求数组大小错误问题
  5. 【LeetCode】 Best Time to Buy and Sell Stock I II III IV 解题报告
  6. ichartjs android,在android上动态实现ichartjs的3D柱形图
  7. 【bzoj4443】[Scoi2015]小凸玩矩阵 二分+二分图最大匹配
  8. 为什么有 HTTPS?因为 HTTP 不安全!
  9. 自学几小时,斯坦福AI推测并复现了元素周期表 | 华裔团队研究
  10. 开源小程序商城源码-来客电商
  11. MongoDB下载、安装和配置教程
  12. java导出dbf_java 导出dbf格式
  13. windows和linux共用蓝牙鼠标,Ubuntu和Windows双系统蓝牙设备共享配对
  14. win10一直显示无网络连接到服务器,win10的网络为什么会有时显示无法连接到internet...
  15. Github优秀Android开源项目,值得引用与学习(图文结合~~~)
  16. 练习---打印出电影天堂中电影的下载链接
  17. 解决Typora笔记在另一台电脑上无法显示图片的问题
  18. 都2021年了,不会还有人连深度学习都不了解吧(二)- 卷积篇
  19. 【智能优化算法】基于寄生捕食优化算法求解单目标优化问题(Parasitism Predation algorithm,PPA)含Matlab源码
  20. 宜宾市中小学足球调研现状

热门文章

  1. 德鑫锯末三筒烘干机是变废为宝的高效烘设备
  2. Python爬虫:煎蛋网图片URL解密处理
  3. 一些好用的Azure存储管理工具
  4. 生成器,生成器表达式及各种推导式
  5. pytorch实践08(刘二大人)
  6. 云南水运统计数据及未来规划设计
  7. calendar前推n天_java日期前推一个月
  8. 找出微信把你删除的好友
  9. 浅析ERP市场与其应用的现状
  10. wampserver是不是比mysql好_wampserver