选项1

选项1

Kubuntu 允许为连接设置 DNS。

每次我连接到一个新连接时,我都必须为其设置 DNS。

有没有办法全局设置 DNS?

答案1

您尚未指出您使用的是哪个 Kubuntu 版本。我在以下说明中使用了 Kubuntu 22.04,但这也适用于 20.04 及更新版本。

您有几种选择,dhclient或者nmcli,我会让您决定您认为哪一个更简单。使用这两个选项,您只需执行一次,因为这些配置设置在重新启动后仍会保留。


选项1

用于dhclient定义 DNS 服务器并忽略从 DHCP 服务器推送给您的 DNS 服务器。

  1. 打开控制台并编辑/etc/dhcp/dhclient.conf

    • 添加以下行;根据您的 DNS 服务器进行相应调整。

      supersede domain-name-servers 8.8.8.8, 1.1.1.1;
      
    • 删除关键字domain-name-servers后的request内容。

    • 我的文件的完整输出是:

      $ cat /etc/dhcp/dhclient.conf 
      # Configuration file for /sbin/dhclient.
      #
      # This is a sample configuration file for dhclient. See dhclient.conf's
      #       man page for more information about the syntax of this file
      #       and a more comprehensive list of the parameters understood by
      #       dhclient.
      #
      # Normally, if the DHCP server provides reasonable information and does
      #       not leave anything out (like the domain name, for example), then
      #       few changes must be made to this file, if any.
      #
      
      option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
      
      supersede domain-name-servers 8.8.8.8, 1.1.1.1;
      
      send host-name = gethostname();
      request subnet-mask, broadcast-address, time-offset, routers,
              domain-search, host-name,
              dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
              netbios-name-servers, netbios-scope, interface-mtu,
              rfc3442-classless-static-routes, ntp-servers;
      
      timeout 300;
      
  2. 默认情况下,网络管理器使用其内部 DHCP 客户端。因此,为了覆盖此设置并使用dh客户端,它将确认中的更改/etc/dhcp/dhclient.conf,创建一个名为的新文件/etc/NetworkManager/conf.d/dhcp-client.conf并向其中添加以下内容:

    [main]
    dhcp=dhclient
    
  3. 重启网络管理器

    sudo systemctl restart NetworkManager
    
  4. 释放当前的 DHCP 租约:

    sudo dhclient -r
    
  5. 获取新的 DHCP 租约:

    sudo dhclient
    
  6. 通过查看输出来确认您的 DNS 服务器resolvectl

    $ resolvectl
    Global
           Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
    
    Link 2 (enp0s3)
        Current Scopes: DNS
             Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
    Current DNS Server: 8.8.8.8
           DNS Servers: 8.8.8.8 1.1.1.1
    
  7. 重新启动并使用 再次确认 DNS 服务器resolvectl

  8. dhclient您可以通过运行以下命令来确认网络管理器正在使用:

    journalctl -b0 | grep dhclient
    

    然后查找如下行:

    Mar 05 20:44:05 Kubuntu-22 NetworkManager[412]: <info>  [1709700245.8453] dhcp-init: Using DHCP client 'dhclient'
    

选项 2

用于nmcli定义 DNS 服务器并忽略从 DHCP 服务器推送给您的 DNS 服务器。

  1. 找到连接的“名称”。打开控制台并输入nmcli connection

    $ nmcli connection
    NAME                UUID                                  TYPE      DEVICE 
    Wired connection 1  eb3986c1-a90b-30d2-8f1d-1aedde7d9b16  ethernet  enp0s3
    

    在上面的输出中,该连接被命名为“有线连接1“。我将在下面的例子中使用它。请相应地调整您的连接名称。

  2. 忽略您的 DHCP 服务器推送给您的 DNS 服务器:

    nmcli connection modify 'Wired connection 1' ipv4.ignore-auto-dns yes
    
  3. 将 DNS 服务器添加到您的连接:

    nmcli connection modify 'Wired connection 1' ipv4.dns "8.8.8.8,1.1.1.1"
    
  4. 重新加载您的连接:

    sudo nmcli connection reload
    
  5. 重新启动网络管理器:

    sudo systemctl restart NetworkManager
    

此时,您的 DNS 服务器已为您的连接设置完毕。查看 的输出resolvectl。请注意,我定义的 DNS 服务器8.8.8.81.1.1.1已设置为 Link 2 (enp0s3),它与“有线连接1“。

$ resolvectl
Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

Link 2 (enp0s3)
Current Scopes: DNS
     Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
   Current DNS Server: 8.8.8.8
          DNS Servers: 8.8.8.8 1.1.1.1

通过实施这些更改,将在中创建一个配置文件/etc/NetworkManager/system-connections/。查看上述命令创建的文件:

$ sudo cat /etc/NetworkManager/system-connections/'Wired connection 1.nmconnection' 
[connection]
id=Wired connection 1
uuid=eb3986c1-a90b-30d2-8f1d-1aedde7d9b16
type=ethernet
autoconnect-priority=-999
interface-name=enp0s3
timestamp=1709695374

[ethernet]

[ipv4]
dns=8.8.8.8;1.1.1.1;
ignore-auto-dns=true
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[proxy]

了解更多信息:


相关内容