Linux服务器配置DNS的完整指南
适用范围: CentOS 7, 银河麒麟 V10, 以及其他使用 NetworkManager 管理网络的 Linux 发行版。
核心工具: nmcli (NetworkManager Command Line Interface)
第一步:环境诊断与确认
在修改之前,先确认网卡名称及当前 DNS 管理状态。
1. 确认网卡信息
# 查看简要网卡列表 ip -br addr > lo UNKNOWN 127.0.0.1/8 ::1/128 > eth0 UP 192.168.1.100/24 2001:db8::1/64 > docker0 DOWN 172.17.0.1/16 > virbr0 DOWN 192.168.122.1/24 # 或查看详情 ip addr > 很多东西 不好用
2. 检查 DNS 管理状态
查看 /etc/resolv.conf 文件头部的注释:
cat /etc/resolv.conf
如果输出内容包含NetworkManager,证明被NetworkManager管理,可以采用接下来的方法
# Generated by NetworkManager nameserver 192.168.1.1 nameserver 8.8.8.8
或是测试命令:
systemctl status NetworkManager
输出active 证明被NetworkManager 管理。
如果显示inactive 或not found 或测试 systemctl status network 显示 active (running) ,请搜索被 network 管理的修改方法。
第二步:配置 DNS 参数
1. 修改dns配置
# 设置首选和备用 DNS # 语法: nmcli con mod <连接名> ipv4.dns "首选DNS 备选DNS" # 示例 (假设连接名为 eth0,使用阿里和腾讯 DNS) nmcli con mod "eth0" ipv4.dns "223.5.5.5 119.29.29.29"
2. 确定是否通过 DHCP 获取 IP
# 查看所有连接的 IP 获取方式 nmcli connection show # 网卡输出示例 NAME UUID TYPE DEVICE eth0 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet eth0 # 查看具体网卡的 DHCP 状态 nmcli connection show eth0 | grep -i dhcp
如果输出ipv4.method: auto或者DHCP4.OPTION[…]: server_id则说明通过dhcp获取ip。
如果启动了dhcp,则需要执行以下命令防止自动覆盖dns。
nmcli con mod eth0 ipv4.ignore-auto-dns yes
3. 重启网卡
nmcli con up eth0
第四步:验证配置
查看 DNS 是否已更新
# 查看 DNS 是否已更新 nmcli dev show eth0 | grep DNS
再测试下dns解析是否生效
# 2. 测试DNS解析 nslookup www.baidu.com # 或 dig www.baidu.com # 或 ping www.baidu.com
到此这篇关于Linux服务器配置DNS的完整指南的文章就介绍到这了,更多相关Linux配置DNS内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Linux Crontab Shell脚本实现秒级定时任务的方法
这篇文章主要介绍了Linux Crontab Shell脚本实现秒级定时任务的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2018-11-11
linux下SVN配置实现项目目录自动更新以及源码安装的操作方法
下面小编就为大家分享一篇linux下SVN配置实现项目目录自动更新以及源码安装的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2017-12-12


最新评论