在Ubuntu 18.04/20.04 LTS设置静态DNS服务器

要在Ubuntu 18.04/20.04 LTS上设置静态DNS服务器,需遵循特定的配置过程,这个过程因为Ubuntu系统中网络管理组件的不同而有所区别。

Ubuntu 18.04 (使用netplan)

Ubuntu 18.04 默认使用netplan来代替之前的 /etc/network/interfaces方式配置网络。以下是设置流程。

  1. 打开终端。

  2. 定位到netplan配置文件,通常在 /etc/netplan/目录下。使用文本编辑器打开该YAML配置文件,它可能名为 01-netcfg.yaml50-cloud-init.yaml或其他类似名称。

    复制代码
    sudo nano /etc/netplan/01-netcfg.yaml
  3. 找到您的网络接口,比如说是 eth0ens33等。

  4. 在该网卡配置下添加DNS配置项,确保缩进正确。

    复制代码
    network:
      version: 2
      renderer: networkd
      ethernets:
        your_interface_name_here:
          dhcp4: no
          addresses:
            - your_ip/24
          gateway4: your_gateway
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]

    替换 your_interface_name_here, your_ip, 和 your_gateway为实际值,并将DNS服务器地址设置为所需的DNS服务器。

  5. 保存文件并退出文本编辑器。

  6. 应用修改:

    复制代码
    sudo netplan apply

    或者使用

    复制代码
    sudo netplan try

    netplan try命令会暂时应用配置,如果配置有误或者连接中断,它会在一定时间后回滚。

Ubuntu 20.04 (使用NetworkManager 或 netplan)

对于Ubuntu 20.04,它也可能使用netplan或者旧式的NetworkManager方式,取决于安装时的选择。

如果是netplan,请沿用上述Ubuntu 18.04的方法。

如果使用NetworkManager:

  1. 打开终端。

  2. 运行 nm-connection-editor来打开图形网络连接编辑器。

    复制代码
    nm-connection-editor
  3. 选择您要修改的网络接口并点击"编辑"按钮。

  4. 切换到"IPv4设置"或"IPv6设置"标签页。

  5. 更改方法为"手动",然后添加您的静态IP地址、子网掩码和默认网关。

  6. 在"DNS服务器"栏输入您想使用的DNS服务器地址,用逗号隔开。

  7. 点击"保存"。

  8. 最后,禁用并重新启用网络接口以确保设置生效,这一步可以在网络菜单中完成,或者使用下面的命令:

    复制代码
    sudo nmcli connection down id your_connection_name_here && sudo nmcli connection up id your_connection_name_here

确保替换 your_connection_name_here为实际的连接名。

验证DNS配置

设置完成后,可以通过以下命令来验证DNS配置是否生效:

复制代码
systemd-resolve --status

在输出中查找DNS服务器部分以确认您的配置。

相关推荐
不会写DN10 小时前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
---学无止境---10 小时前
Linux中slab缓存初始化kmem_cache_init函数和定时回收函数的实现
linux
草莓熊Lotso10 小时前
Linux 进阶指令实操指南:文件查看、时间管理、搜索压缩全场景覆盖(附高频案例)
linux·运维·服务器
Cx330❀10 小时前
《Linux进阶指令实操指南》:文件查看、时间管理、搜索压缩全覆盖(附高频案例)
linux·运维·服务器
努力努力再努力wz11 小时前
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)
java·linux·开发语言·数据结构·数据库·c++·散列表
Small___ming11 小时前
【Linux基础学习】Linux Ubuntu 权限管理:从入门到精通
linux·学习·ubuntu
tan77º11 小时前
【项目】基于多设计模式下的同步&异步日志系统 - 项目介绍与前置知识
linux·c++·设计模式
yalipf12 小时前
忘记密码更改ubuntu18.08的密码--前提是要知道用户名work
linux·运维·ubuntu
怀旧,12 小时前
【Linux系统编程】3. Linux基本指令(下)
linux·开发语言·c++
艾莉丝努力练剑12 小时前
【C++STL :stack && queue (三) 】优先级队列的使用以及底层实现
linux·开发语言·数据结构·c++·stl