您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何使用DNS over TLS”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用DNS over TLS”這篇文章吧。
類似于下面所示修改 /etc/systemd/resolved.conf
。確保啟用 DNS over TLS 并配置要使用的 DNS 服務器的 IP 地址。
$ cat /etc/systemd/resolved.conf[Resolve]DNS=1.1.1.1 9.9.9.9DNSOverTLS=yesDNSSEC=yesFallbackDNS=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 statusMulticastDNS 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.9Fallback 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 NetworkManagersearch lannameserver 127.0.0.53
若要查看 systemd-resolved
發送和接收安全查詢的地址和端口,請運行:
$ sudo ss -lntp | grep '\(State\|:53 \)'State Recv-Q Send-Q Local Address:Port Peer Address:Port ProcessLISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=10410,fd=18))
若要進行安全查詢,請運行:
$ resolvectl query fedoraproject.orgfedoraproject.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 加密交換:
以上是“如何使用DNS over TLS”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。