如何使用 systemd-resolved 在 Fedora 上配置 DNS over TLS
導讀 | 現代計算機用來在網際網路種查詢資源的 域名系統(DNS) 是在 35 年前設計的,沒有考慮使用者隱私。它會面臨安全風險和攻擊,例如 DNS 劫持。它還能讓 ISP 攔截查詢。 |
幸運的是,現在有 DNS over TLS 和 DNSSEC 兩種技術。DNS over TLS 和 DNSSEC 允許建立從計算機到它配置的 DNS 伺服器之間的安全且加密的端到端隧道。在 Fedora 上,部署這些技術的步驟很容易,並且所有必要的工具也很容易獲得。
本指南將演示如何使用 systemd-resolved 在 Fedora 上配置 DNS over TLS。有關 systemd-resolved 服務的更多資訊,請參見文件。
類似於下面所示修改 /etc/systemd/resolved.conf。確保啟用 DNS over TLS 並配置要使用的 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:以空格分隔的 IPv4 和 IPv6 地址列表,用作後備 DNS 伺服器。
- Domains:在解析單標籤主機名時,這些域名用於搜尋字尾。 ~. 代表對於所有域名,優先使用 DNS= 定義的系統 DNS 伺服器。
- DNSOverTLS:如果啟用,那麼將加密與伺服器的所有連線。請注意,此模式要求 DNS 伺服器支援 DNS-over-TLS,並具有其 IP 的有效證照。
注意:上面示例中列出的 DNS 伺服器是我個人的選擇。你要確定要使用的 DNS 伺服器。要注意你要向誰請求 IP。
在 /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-resolved 服務預設處於禁用狀態,是可選使用的。[有計劃][33]在 Fedora 33 中預設啟用systemd-resolved。
現在,你應該在使用 DNS over TLS。檢查 DNS 解析狀態來確認這一點:
$ resolvectl status MulticastDNS setting: yes DNSOverTLS setting: yes DNSSEC setting: yes DNSSEC supported: yes Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 9.9.9.9 Fallback DNS Servers: 8.8.8.8 1.0.0.1 8.8.4.4
/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 \)' State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=10410,fd=18))
若要進行安全查詢,請執行:
$ resolvectl query fedoraproject.org fedoraproject.org: 8.43.85.67 -- link: wlp58s0 8.43.85.73 -- link: wlp58s0 [..] -- Information acquired via protocol DNS in 36.3ms. -- Data is authenticated: yes
首先,安裝並執行 Wireshark:
$ sudo dnf install wireshark $ sudo wireshark
它會詢問你在哪個裝置上捕獲資料包。在我這裡,因為我使用無線介面,我用的是 wlp58s0。在 Wireshark 中設定篩選器,tcp.port == 853(853 是 DNS over TLS 協議埠)。在捕獲 DNS 查詢之前,你需要重新整理本地 DNS 快取:
$ sudo resolvectl flush-caches 現在執行:
$ nslookup fedoramagazine.org
你應該會看到你的計算機和配置的 DNS 伺服器之間的 TLS 加密交換:
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2711566/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [譯] DNS over TLS:端到端加密的 DNSDNSTLS加密
- 在 Fedora 上使用 SSH 埠轉發
- 在 Fedora 上使用 GIMP 輕鬆編輯影像
- 在 Fedora 上使用 GIMP 輕鬆編輯影象
- 使用 Eclipse 在 Fedora 上進行 PHP 開發EclipsePHP
- 如何在 Firefox 中啟用 DNS-over-HTTPS(DoH)FirefoxDNSHTTP
- 如何在Firefox中啟用DNS-over-HTTPS(DoH)FirefoxDNSHTTP
- Mozilla Firefox 預設在美國啟用 DNS over HTTPS(DoH)FirefoxDNSHTTP
- 如何在 Elasticsearch 中配置 SSL / TLS ?ElasticsearchTLS
- .NET Core如何配置TLS Cipher(套件)?TLS套件
- 在 Fedora 系統上設定 zsh
- 在 Fedora 上優化 bash 或 zsh優化
- 把Discord安裝在Fedora Linux上Linux
- 在 Fedora 中使用私人助理 Mycroft
- 使用unbound在RHEL7上搭建DNS服務DNS
- Akash Angle:你如何使用 Fedora?
- Fedora 中如何使用 Firefox Send?Firefox
- 在 Fedora 上安裝 MongoDB 伺服器MongoDB伺服器
- 在國產處理器伺服器上配置DNS 輪詢伺服器DNS
- 在 Fedora 中利用 ffsend 使用 Firefox SendFirefox
- 使用 k3s 在 Fedora IoT 上執行 K8SK8S
- Mozilla 公佈 DNS over HTTPS 實驗結果DNSHTTP
- 谷歌宣佈 DNS Over HTTPS 服務普遍可用谷歌DNSHTTP
- Install Google Chrome on Fedora 28/27, CentOS/RHEL 7.5 (在 fedora 28 等 上 安裝 chrome)GoChromeCentOS
- 如何在 Fedora 上開始 Java 開發Java
- 在 Fedora 中結合權能使用 Podman
- 在 Fedora 上為 SSH 設定雙因子驗證
- 在Linux中,如何管理SSL/TLS證書?LinuxTLS
- 在 Fedora 中使用 Cockpit 建立虛擬機器KPI虛擬機
- Linux---DNS域名解析如何配置LinuxDNS
- DNS在架構中的使用DNS架構
- 在 Fedora 上搭建 Jupyter 和資料科學環境資料科學
- 電腦dns配置錯誤無法上網怎麼辦 dns配置錯誤不能上網DNS
- 在Linux中,如何配置和使用Xen?Linux
- Fedora配置fcitx5-rime
- 在Mac 上如何使用替代文字?Mac
- 如何在 Fedora 上建立一個 TFTP 伺服器FTP伺服器
- 如何下載Junit並在eclipse上配置JunitEclipse