当没有 netplan 配置时如何在 Ubuntu 22.04 上设置 DNS?

Jea*_*ana 23 dns 22.04

我将 16.04 Ubuntu 服务器升级到 22.04。迁移到 18.04 和 20.04 效果良好。然而,升级到 22.04 破坏了我的 DNS 配置。

\n

我找到了很多使用配置整个网络的教程netplan,但我对它们感觉不太舒服(我担心我会破坏一切)。我的服务器上有很多网络接口,但没有/etc/netplan.

\n

我想知道我是否必须创建一个netplan包含所有网络接口的文件或仅包含损坏的网络接口的文件。

\n

这是结果nmcli device show

\n
GENERAL.DEVICE:                         docker0\nGENERAL.TYPE:                           bridge\nGENERAL.HWADDR:                         02:42:99:76:F4:CE\nGENERAL.MTU:                            1500\nGENERAL.STATE:                          10 (non-g\xc3\xa9r\xc3\xa9)\nGENERAL.CONNECTION:                     --\nGENERAL.CON-PATH:                       --\nIP4.ADDRESS[1]:                         172.17.0.1/16\nIP4.GATEWAY:                            --\nIP4.ROUTE[1]:                           dst = 172.17.0.0/16, nh = 0.0.0.0, mt = 0\nIP6.GATEWAY:                            --\n\nGENERAL.DEVICE:                         docker_gwbridge\nGENERAL.TYPE:                           bridge\nGENERAL.HWADDR:                         02:42:FA:EB:F8:75\nGENERAL.MTU:                            1500\nGENERAL.STATE:                          10 (non-g\xc3\xa9r\xc3\xa9)\nGENERAL.CONNECTION:                     --\nGENERAL.CON-PATH:                       --\nIP4.ADDRESS[1]:                         172.18.0.1/16\nIP4.GATEWAY:                            --\nIP4.ROUTE[1]:                           dst = 172.18.0.0/16, nh = 0.0.0.0, mt = 0\nIP6.ADDRESS[1]:                         fe80::42:faff:feeb:f875/64\nIP6.GATEWAY:                            --\nIP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256\n\nGENERAL.DEVICE:                         enp2s0f0\nGENERAL.TYPE:                           ethernet\nGENERAL.HWADDR:                         D8:D3:85:B9:34:20\nGENERAL.MTU:                            1500\nGENERAL.STATE:                          10 (non-g\xc3\xa9r\xc3\xa9)\nGENERAL.CONNECTION:                     --\nGENERAL.CON-PATH:                       --\nWIRED-PROPERTIES.CARRIER:               marche\nIP4.ADDRESS[1]:                         10.231.226.41/23\nIP4.GATEWAY:                            10.231.227.254\nIP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 10.231.227.254, mt = 0\nIP4.ROUTE[2]:                           dst = 10.231.226.0/23, nh = 0.0.0.0, mt = 0\nIP6.ADDRESS[1]:                         fe80::dad3:85ff:feb9:3420/64\nIP6.GATEWAY:                            --\nIP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256\n\nGENERAL.DEVICE:                         enp2s0f1\nGENERAL.TYPE:                           ethernet\nGENERAL.HWADDR:                         D8:D3:85:B9:34:22\nGENERAL.MTU:                            1500\nGENERAL.STATE:                          10 (non-g\xc3\xa9r\xc3\xa9)\nGENERAL.CONNECTION:                     --\nGENERAL.CON-PATH:                       --\nWIRED-PROPERTIES.CARRIER:               arr\xc3\xaat\nIP4.GATEWAY:                            --\nIP6.GATEWAY:                            --\n\nGENERAL.DEVICE:                         vethdcb1995\nGENERAL.TYPE:                           ethernet\nGENERAL.HWADDR:                         C2:05:F6:52:3F:61\nGENERAL.MTU:                            1500\nGENERAL.STATE:                          10 (non-g\xc3\xa9r\xc3\xa9)\nGENERAL.CONNECTION:                     --\nGENERAL.CON-PATH:                       --\nWIRED-PROPERTIES.CARRIER:               marche\nIP4.GATEWAY:                            --\nIP6.ADDRESS[1]:                         fe80::c005:f6ff:fe52:3f61/64\nIP6.GATEWAY:                            --\nIP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256\n\nGENERAL.DEVICE:                         lo\nGENERAL.TYPE:                           loopback\nGENERAL.HWADDR:                         00:00:00:00:00:00\nGENERAL.MTU:                            65536\nGENERAL.STATE:                          10 (non-g\xc3\xa9r\xc3\xa9)\nGENERAL.CONNECTION:                     --\nGENERAL.CON-PATH:                       --\nIP4.ADDRESS[1]:                         127.0.0.1/8\nIP4.GATEWAY:                            --\nIP6.ADDRESS[1]:                         ::1/128\nIP6.GATEWAY:                            --\nIP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256\n
Run Code Online (Sandbox Code Playgroud)\n

问题是enp2s0f0设备没有定义 DNS。

\n

我的问题是:

\n
    \n
  1. 如何安全地添加我的 DNS 记录?也许有一个比 更简单的干净解决方案netplanresolvconfClean 排除由like生成的黑客文件/etc/resolvconf/resolv.conf.d/head
  2. \n
  3. 如果我必须在文件中创建所有接口,是否有办法netplan从当前设置创建文件以减少错误风险?
  4. \n
\n

PS:我不知道它是否重要,但它systemd-resolve没有安装在机器上,并且/etc/resolv.conf.d包含对它的以下引用:

\n
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)\n#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN\n# 127.0.0.53 is the systemd-resolved stub resolver.\n# run "systemd-resolve --status" to see details about the actual nameservers.\n\nnameserver 127.0.0.53\nsearch DOMAINS\n
Run Code Online (Sandbox Code Playgroud)\n

Jea*_*ana 43

我终于在这里找到了解决方案: https: //serverok.in/systemd-resolved

万一链接将来失效:创建一个文件:

sudo mkdir /etc/systemd/resolved.conf.d/
sudo nano /etc/systemd/resolved.conf.d/dns_servers.conf
Run Code Online (Sandbox Code Playgroud)

在此文件中添加我的 dns:

[Resolve]
DNS=8.8.8.8 1.1.1.1
Run Code Online (Sandbox Code Playgroud)

然后重新启动systemd-resolved

sudo systemctl restart systemd-resolved
Run Code Online (Sandbox Code Playgroud)

即使重新启动后它仍然有效:-)

PS:不知道为什么我的 DNS 配置在从 20.04 升级到 22.04 的过程中丢失了。