在 Ubuntu 18.04 桌面中可靠地应用 DHCP 提供的所有设置(包括 NTP 服务器)

在 Ubuntu 18.04 桌面中可靠地应用 DHCP 提供的所有设置(包括 NTP 服务器)

总结:我想找到一种方法,使我的有线网络连接能够正确使用我的 dhcp 服务器提供的所有信息,同时仍允许 gnome 意识到存在活动网络连接。此请求的详细信息在此公认的长描述中提供:

我在一台物理主机(称为 Host1)上运行 Ubuntu 18.04.4 桌面。在我的网络上,我设置了两台服务器(N1 和 N2,均运行 Ubuntu 18.04 服务器),并安装了以下守护进程:isc-bind9、isc-dhcp-server 和 chrony。它们在我的 LAN 上提供 DNS、DHCP 和 NTP 服务。

我将 Host1 设置为 IPv4 DHCP 客户端。我希望 DHCP 客户端接受我的 DHCP 服务器提供的信息。此信息包括保留的 IP 地址、我的本地 DNS 服务器(本地权威服务器和其他所有服务器的解析器)以及我的 NTP 服务器。不幸的是,NetworkManager 显然有一个长期存在的错误(自 2009 年以来),它忽略了来自 DHCP 服务器的几乎所有信息,除了 IP 地址、默认路由和 DNS 服务器。请参阅这是 2009 年 7 月的错误报告

我做了一些研究,发现从 18.04 开始,关于 Ubuntu 上的网络设置方式似乎存在很多错误信息/混淆。根据我的研究,netplan 将网络连接的设置作为一个抽象来处理,可以使用 NetworkManager 或 systemd-networkd 作为给定连接的“渲染器”(设置网络实现的实际服务)。

由于 NetworkManager 没有执行我需要的操作(或者我认为它应该执行的操作),我切换到 networkd 以通过 dhcp 设置到 Host1 的有线网络连接。networkd 中的默认设置是使用 dhcp 服务器提供的所有信息。我遵循了 netplan 示例这里使用 dhcp4 通过 networkd 设置以太网连接。这是我的 01-config-networkd.yaml 文件:

# use networkd to setup the wired ethernet
network:
  version: 2
  renderer: networkd
  ethernets:
    enp8s0:
      dhcp4: true
# assuming networkd dhcp4 defaults
#   such as the following default to true:
#   use-dns, use-ntp, send-hostname, use-mtu, use-routes

运行良好(NTP 服务器已正确列出),但有一个主要问题:gnome 桌面现在认为有线网络连接不受管理。这不会成为问题,只是软件更新程序认为没有连接,不会下载待处理更新的描述。它仍然更新了软件包,但我喜欢查看详细信息,我不确定可能还存在什么其他问题。这个帖子看起来相关,但并不完全相同。这个帖子这正是使用 networkd 作为渲染器时发生的情况,但提出并使用的解决方案是返回 NetworkManager。除非 NTP 问题(以及其他未来问题)能够得到解决,否则这对我来说不是一个选择。这似乎也是将 gnome 桌面安装到 Ubuntu 18.04 服务器上的人的常见问题。请参阅本论坛例如。

这个 askUbuntu 帖子如何在 ubuntu 18.04 桌面上使用 neworkd 代替 NetworkManager似乎正是我要找的,但实际的问题是如何配置静态 IP(而不是标题所示的)。一个答案描述了如何将 NetworkManager 保留为通用渲染器,但让 networkd 专门渲染有线连接。我试过这个,它所做的与上面的没有什么不同。每当 networkd 接管适配器时,NetworkManager 都会认为它是不受管理的,并且显然会告诉 gnome 没有连接(基于软件更新程序),即使 gnome 应用程序使用了一个活动连接。以下是此设置的 netplan 配置:

# Let Network Manager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
# use networkd to setup the wired ethernet
    enp8s0:
      renderer: networkd
      dhcp4: true
# assuming networkd dhcp4 defaults
#   such as the following default to true:
#      use-dns, use-ntp, send-hostname, use-mtu, use-routes

最终,我发现没有办法让 networkd (正确) 呈现有线以太网连接,同时又不让桌面认为网络连接不可用。任何不需要对 dhcp 提供的信息进行硬编码的帮助都将不胜感激。

编辑于2020年5月10日:

猫/等/网络/接口

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

sudo lshw -C 网络

  *-network                 
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:08:00.0
       logical name: enp8s0
       version: 15
       serial: a8:a1:59:15:2b:9c
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 duplex=full firmware=rtl8168h-2_0.0.2 02/26/15 ip=192.168.1.89 latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
       resources: irq:38 ioport:d000(size=256) memory:f7504000-f7504fff memory:f7500000-f7503fff

猫/等/默认/ntpdate

cat: /etc/default/ntpdate: No such file or directory

猫/etc/ntp.conf

cat: /etc/ntp.conf: No such file or directory

ls -al /etc/systemd/network

total 8
drwxr-xr-x 2 root root 4096 Oct  4  2017 .
drwxr-xr-x 5 root root 4096 Feb 22 11:20 ..

知识产权

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether a8:a1:59:15:2b:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.89/24 brd 192.168.1.255 scope global dynamic enp8s0
       valid_lft 34882sec preferred_lft 34882sec
    inet6 fe80::aaa1:59ff:fe15:2b9c/64 scope link 
       valid_lft forever preferred_lft forever

使用图像编辑:

这是 gnome 下拉菜单:

这是 gnome 下拉菜单

这是软件更新程序设置,显示它认为没有互联网连接。这是在它更新了所有存储库之后。由于没有更新,它不会显示主窗口,指示没有互联网连接(在它更新列表之后)。

这是软件更新程序设置

答案1

对于 netplan...

network:
  version: 2
  renderer: networkd
  ethernets:
    enp8s0:
      dhcp4: true

对于网络管理器...

network:
  version: 2
  renderer: NetworkManager

sudo netplan --debug generate

sudo netplan apply

reboot

相关内容