在Linux中,设置DNS需要修改哪个配置文件?

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 在Linux中,设置DNS需要修改哪个配置文件?

在Linux中,设置DNS服务器的地址通常涉及修改系统的网络配置文件或使用特定的命令行工具。以下是一些常见的方法:

1. 对于基于Debian的系统(如Ubuntu):
  1. 编辑/etc/resolv.conf文件
  • 这个文件包含了DNS服务器的列表。使用文本编辑器编辑该文件:
sudo nano /etc/resolv.conf
  • 添加或修改nameserver行,例如:
nameserver 8.8.8.8
nameserver 8.8.4.4
  1. 使用resolvconf
  • 在Debian及其衍生系统中,resolvconf工具用于管理/etc/resolv.conf。你可以使用它来添加DNS服务器:
sudo resolvconf -a your.network.nameserver -m 0 -x
2. 对于基于Red Hat的系统(如CentOS或Fedora):
  1. 编辑/etc/resolv.conf文件
  • 同样,编辑这个文件来添加DNS服务器:
sudo nano /etc/resolv.conf
  1. 使用NetworkManager
  • 如果你的系统使用NetworkManager来管理网络连接,你可以使用nmcli命令来设置DNS:
sudo nmcli con mod <connection-name> ipv4.dns "8.8.8.8;8.8.4.4"
3. 对于使用systemd-resolved的系统:
  1. 编辑/etc/systemd/resolved.conf/etc/systemd/resolved.conf.d/目录下的文件
  • 如果你的系统使用systemd-resolved服务来管理DNS解析,编辑resolved.conf文件或在resolved.conf.d/目录下创建新的配置文件:
sudo nano /etc/systemd/resolved.conf
  • 确保DNS=行包含你的DNS服务器地址,例如:
DNS=8.8.8.8 8.8.4.4
  1. 重启systemd-resolved服务
  • 修改配置文件后,重启systemd-resolved服务以应用更改:
sudo systemctl restart systemd-resolved
4. 使用netplan(在某些新版本的Ubuntu中):
  1. 编辑/etc/netplan/*.yaml文件
  • 在使用netplan的系统中,DNS服务器设置位于netplan配置文件中:
sudo nano /etc/netplan/01-netcfg.yaml
  • 修改或添加DNS地址,例如:
networking:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"]
  1. 应用配置
  • 使用以下命令应用更改:
sudo netplan apply

综上所述,某些Linux发行版可能使用不同的工具或配置文件来管理网络设置。此外,某些配置可能在系统重启后不会保留,特别是/etc/resolv.conf文件,因为它可能被网络管理器或systemd-resolved服务覆盖。确保你了解你的系统如何管理DNS设置,并根据需要选择合适的方法。

相关文章
ly~
|
2天前
|
网络协议 应用服务中间件 Apache
如何在 DNS 记录中设置反向代理服务器?
要设置反向代理服务器,首先需安装配置软件(如 Nginx 或 Apache),并确保域名正确指向服务器 IP。接着,在 DNS 中设置 A 或 CNAME 记录,将域名指向反向代理服务器。然后编辑 Nginx 或 Apache 的配置文件,将请求转发至后端服务器。最后,通过浏览器访问域名测试配置是否成功,并使用工具检查请求流向和响应情况。
ly~
13 3
|
5天前
|
Ubuntu Linux
Linux实践|设置静态 IP 地址
Linux实践|设置静态 IP 地址
19 0
Linux实践|设置静态 IP 地址
|
23小时前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
1月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
15天前
|
Linux Shell
10-8|linux date设置时间
10-8|linux date设置时间
|
17天前
|
Unix Linux Python
Cron定时设置在linux和mac中的使用
文章详细说明了如何在Linux和Mac操作系统中使用Cron进行定时任务的设置,并提供了多个Cron表达式的实例。
29 0
|
1月前
|
Linux
linux内核执行fork时对写时复制的设置
linux内核执行fork时对写时复制的设置
|
2月前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件
|
28天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理
|
1月前
|
开发工具
Flutter-AnimatedWidget组件源码解析
Flutter-AnimatedWidget组件源码解析
149 60