DNS-over-HTTPS - Arch Linux 中文维基

跳至內容

# DNS-over-HTTPS

出自 Arch Linux 中文维基

翻譯狀態：

- 本文（或部分內容）譯自 DNS-over-HTTPS，最近一次同步於 2024-01-25，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- 網絡配置
- 域名解析

DNS-over-HTTPS是 DNS over HTTPS 的一個實現。它可以作為一個本地解析器。

## 安裝

安裝dns-over-https包包。

## 客戶端啟動

### 禁用任何綁定到53埠的服務

為了查看是否有程序在使用53埠，運行：

    $ ss -lp 'sport = :domain'

如果輸出超過了一行，你需要禁用任何使用53埠的服務。一旦以上命令只輸出以下內容，您就可以繼續操作了：

    Netid State   Recv-Q  Send-Q   Local Address:Port     Peer Address:Port Process

### 更改系統DNS伺服器

將系統的DNS伺服器更改為配置文件`listen =` 中的地址。如果你不知道自己在做什麼，建議使用`127.0.0.1`。

這可以通過Network Manager或編輯/etc/resolv.conf來完成。

### 啟動

啟動或啟用 `doh-client.service`。

### 測試配置

要測試你系統的DNS是否有效，請在命令行輸入`nslookup www.baidu.com`。假定您在安裝之前有配置好DNS，這會在配置好DNS over HTTPS之前成功執行。

## 客戶端配置

客戶端配置文件默認是`/etc/dns-over-https/doh-client.conf`。

### 選擇首選的上游DNS伺服器

要選擇首選DNS伺服器，請取消注釋其中一個配置文件。

如果你使用的DNS伺服器未列出，你可以在`[upstream]` 部分使用此模板：

    /etc/dns-over-https/doh-client.conf

    [[upstream.upstream_ietf]]
        url = "https://[IP or web address]/dns-query"
        weight = 20

## 故障排除

### 服務在有線連接中無法正常啟動

正如開發者所說:

  ArchLinux沒有默認的網絡管理器，因此systemd沒有預先配置的在線檢測。
  如果你用Wi-Fi,我建議確保systemd的在線檢測能正常運行。我相信你的系統已經安裝網絡管理器，例如NetworkManager。以幫助你管理Wi-Fi密碼。
  或者，如果你用有線網絡，簡單地修改.service文件以禁用在線檢測將是最簡單的解決方案。為非移動機器安裝NetworkManager可能違反K.I.S.S.原則，我們不希望這樣做。

上游建議對服務文件使用附加配置片段：

    /etc/systemd/system/doh-client.service.d/override.conf

    [Unit]
    After=multi-user.target

    [Service]
    Type=idle

分類：​

- 網絡

DNS-over-HTTPS
新增話題