2024-11-21

2024-11-21

  • FlyPie
  • PL
  • 林博仁 Buo-ren Lin
  • Mat
  • 哲佑
  • Shawn
  • Johnny Sung
  • Kanru
  • hychen(tyson)
  • Timothy_Su
  • Marty
  • Pellaeon
  • Shelandy
  • Jimmylin
  • RJ

Kanru

brlin

Marty

Mat

Issue: systemd-resolved and /etc/resolv.conf

FlyPie 問到:

最近在自己的 LAN 架 DNS,原本以為是 pi-hole 的問題,但是查到的資料不是停用 systemd-resolved ;就是不要讓 /etc/resolv.conf link 到 /run/systemd/resolve/stub-resolv.conf ,剛剛照著做確實也解決問題了,不過這給我了疑問: systemd-resolved 是什麼壞東西嗎?如果是壞東西為什麼我的 Ubuntu 上跑著它?

RJ:

systemd-resolved 就是個…不會設就很容易炸掉的東西吧 我之前設置 WireGuard Server 時有設定 DNS 項目的話也會卡在這邊 Systemd-resolved 就是 Systemd 大禮包中官方指定負責 DNS resolve 的元件,理論上的官方作法…實務上要更改 DNS resolve 時,如果沒有去研究 Systemd-resolved 的話就會被卡住…像我就懶得沒空研究所以直接放棄去增加 WireGuard 的 DNS resolve 設定

Mat:

之前 RPi 裝 NetworkManager 也是為 systemd-resolved 所苦。查了一下筆記,找到一些先進們曾發表過的內容,提供給大家參考:

  • 2017-07-21 , https://blog.longwin.com.tw/2017/07/linux-network-interface-dn-server-query-status-2017/

  • 2022-12-11 , https://nyllep.wordpress.com/2022/12/11/pihole-conflict-systemdresolved/

  • 2024-01-08 , https://blog.gslin.org/archives/2024/01/08/11570/systemd-%e7%9a%84%e5%95%8f%e9%a1%8c/

kyli:

以自身在 Ubuntu 上跟 systemd-resolved 打交道經驗得到的結論是:盡量把網路的設定集中交給 NetworkManager,包含 WireGuard 在內。不要混用多種網路設定的機制(如 wg-quick),且設定時最好用官方 interface(nmtui、nmcli),不要手改設定檔。尤其是到了 24.04,因為 netplan 的關係,是多個 modules 協作,手改設定檔行為會更加無法預測。

https://netplan.io/#how-does-it-work

NetworkManager 身為唯二 netplan 支援的 renderers,如果再考慮 WireGuard 支援度,大概就變成了唯一選項。

systemd-resolved 是那些東西的下游,只是多包一層,上游還是 NetworkManager 裡面設定的 resolver。管好上游,除非必要,不要去動官方下游水管的接法。