linux设置dns成什么意思
linux设置dns成什么意思详细介绍
在 Linux 系统中,“设置 DNS” 指的是配置系统用于域名解析的服务器地址,使计算机能够将人类可读的域名(如www.example.com)转换为机器可识别的 IP 地址(如 192.168.1.1)。以下是具体含义和相关说明:
一、DNS 的核心作用
- 域名解析
DNS(Domain Name System)是互联网的 “地址簿”,负责将域名转换为 IP 地址。例如,访问www.baidu.com时,需要先通过 DNS 服务器查询其对应的 IP 地址,才能建立网络连接。 - 网络通信的基础
没有正确的 DNS 设置,设备可能无法通过域名访问网站、服务器或局域网内的其他设备(只能通过 IP 地址访问)。
二、Linux 中设置 DNS 的含义
1. 配置 DNS 服务器地址
- 静态设置:手动指定 1 个或多个 DNS 服务器(如公共 DNS、公司内部 DNS)。
常见公共 DNS 示例:- 谷歌:
8.8.8.8、8.8.4.4 - 阿里云:
223.5.5.5、223.6.6.6 - 国内教育网:
202.112.0.35 - 114DNS:
114.114.114.114、114.114.115.115
- 谷歌:
- 动态获取(DHCP):通过路由器或 DHCP 服务器自动获取 DNS 地址(通常默认选项)。
2. 影响范围
- 系统级:设置影响当前系统所有用户和网络程序(如浏览器、命令行工具)。
- 接口级:可针对特定网络接口(如 Wi-Fi、有线网)单独配置 DNS(较少用)。
三、Linux 中设置 DNS 的常见方式
1. 传统方法:修改
/etc/resolv.conf
- 文件作用:直接存放 DNS 服务器地址,格式为
nameserver <IP地址>(每行一个,最多 3 个)。bashnameserver .114.114
nameserver .8.8
- 注意:若系统使用 DHCP 或网络管理工具(如 NetworkManager),此文件可能被自动覆盖,需通过工具配置(见下方方法)。
2. 通过网络管理工具配置(推荐)
- 使用 nmcli(适用于 NetworkManager 管理的系统,如 Ubuntu、Fedora 等):
bashnmcli connection show
nmcli connection modify connection_name ipv4.dns
nmcli connection up connection_name
- 使用 nmtui(文本交互界面):
bashnmtui选择 “编辑连接”→ 选中目标连接 → “IPv4 设置”→ 手动设置 DNS。
- systemd-networkd(无 NetworkManager 的系统,如 Arch Linux):
在网络配置文件(如/etc/systemd/network/*.network)中添加:
ini
3. 图形界面设置(适用于桌面环境)
- 进入 “设置”→“网络”→ 选择当前连接(如 Wi-Fi)→ “IPv4” 或 “IPv6” 设置 → 手动输入 DNS 服务器。
四、常见场景与注意事项
- 为什么需要手动设置 DNS?
- 提高解析速度:使用更快的公共 DNS(如 114DNS)。
- 绕过网络限制:公司 / 校园网可能通过 DNS 封锁某些网站,更换 DNS 可突破限制(需注意合规性)。
- 安全需求:使用支持 DNS-over-HTTPS(DoH)的服务器(如 Cloudflare 的 1.1.1.1),加密解析过程。
- 常见问题
- 设置后无法上网:检查 DNS 服务器是否可用(ping 测试),或尝试删除多余的 DNS 条目。
- 文件被自动修改:若使用 DHCP,需在网络配置中禁用 DHCP 的 DNS 获取,改为手动设置。
- DNS 缓存:修改后可能需要刷新缓存(如
systemd-resolve --flush-caches,视系统而定)。
总结
在 Linux 中设置 DNS 的本质是告诉系统 “通过哪些服务器来翻译域名”,正确配置后才能正常访问互联网或局域网资源。根据需求选择静态手动配置或动态获取,常用工具包括nmcli、图形界面或直接编辑配置文件,需注意不同发行版的网络管理工具差异。