Linux主机名与DNS设置_网络标识配置详解【指导】
发布时间 - 2026-01-07 00:00:00 点击率:次Linux主机名与DNS配置不一致会导致网络识别失败,需通过hostnamectl设主机名、/etc/hosts映射、resolv.conf指定DNS、网卡配置注入DNS、禁用systemd-resolved或hosts静态解析等五种方式协同解决。
如果您在Linux系统中遇到主机名无法被其他设备识别、域名解析失败或网络服务通信异常,很可能是主机名与DNS配置不一致或未正确协同工作。以下是针对该问题的多种配置方法:
一、配置主机名并同步至DNS解析体系
主机名是本地系统标识,但若需被网络中其他设备通过域名访问,必须确保其能被DNS服务器正确解析为IP地址。这要求主机名在本地设置的同时,在DNS服务器(如BIND)中建立对应的正向解析记录,或在客户端DNS配置中显式映射。
1、使用hostnamectl
命令设置永久主机名:
sudo hostnamectl set-hostname webserver.local
2、编辑/etc/hosts文件,添加本机主机名到127.0.0.1和实际网卡IP的映射:
sudo nano /etc/hosts
3、在文件末尾追加两行:
127.0.0.1 localhost
192.168.10.5 webserver.local webserver
4、验证主机名解析是否生效:
host webserver.local
二、修改resolv.conf直接指定DNS服务器
/etc/resolv.conf是Linux系统进行DNS查询时默认读取的配置文件,其中nameserver行定义了解析器使用的上游DNS服务器。此方式适用于临时调试或无NetworkManager管理的环境,但可能被动态服务覆盖。
1、备份原始配置:
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
2、清空并重写配置文件:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
3、追加备用DNS服务器:
echo "nameserver 114.114.114.114" | sudo tee -a /etc/resolv.conf
4、禁止NetworkManager自动覆盖(如启用):
sudo chattr +i /etc/resolv.conf
三、通过网卡配置文件注入DNS参数
在RHEL/CentOS/Fedora等使用ifcfg-格式网络脚本的发行版中,DNS服务器可直接嵌入网卡配置文件,由network服务启动时加载。该方式优先级高于resolv.conf,且不受systemd-resolved干扰。
1、确认主网卡名称:
ip -br a | grep UP | awk '{print $1}'
2、编辑对应配置文件,例如ens33:
sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
3、在文件末尾添加以下两行:
DNS1=192.168.10.1
DNS2=8.8.4.4
4、重启网络服务:
sudo systemctl restart network
四、禁用systemd-resolved并接管DNS控制权
Ubuntu及部分新版发行版默认启用systemd-resolved服务,它将/etc/resolv.conf软链接至/run/systemd/resolve/stub-resolv.conf,并监听127.0.0.53端口。该机制常导致nslookup或dig行为与预期不符,需主动停用以获得直控能力。
1、停止并禁用服务:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
2、删除现有软链接并重建静态resolv.conf:
sudo rm /etc/resolv.conf
sudo nano /etc/resolv.conf
3、写入纯净DNS配置:
nameserver 202.96.128.86
search localdomain
4、确保文件不可被覆盖:
sudo chown root:root /etc/resolv.conf
sudo chmod 644 /etc/resolv.conf
五、配置hosts文件实现静态主机名解析
/etc/hosts是DNS解析链中的最高优先级来源,系统始终首先检查该文件。当无需部署完整DNS服务器时,可通过此文件为关键主机名提供固定IP映射,适用于测试环境或小型局域网。
1、打开hosts文件:
sudo nano /etc/hosts
2、添加目标主机名与IP的对应关系:
192.168.10.100 dbserver.local dbserver
192.168.10.101 appserver.local appserver
3、保存后立即生效,无需重启服务
4、验证解析结果:
getent hosts dbserver.local
# linux
# centos
# app
# 端口
# ubuntu
# ai
# dns
# 配置文件
# linux系统
# hosts文件
# echo
# print
# 适用于
# 重启
# 两行
# 不受
# 很可能
# 您在
# 重写
# 可直接
# 可通过
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
如何在搬瓦工VPS快速搭建网站?
制作企业网站建设方案,怎样建设一个公司网站?
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
zabbix利用python脚本发送报警邮件的方法
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
微信小程序 wx.uploadFile无法上传解决办法
php json中文编码为null的解决办法
如何在新浪SAE免费搭建个人博客?
如何在阿里云购买域名并搭建网站?
Laravel如何实现模型的全局作用域?(Global Scope示例)
如何实现建站之星域名转发设置?
如何批量查询域名的建站时间记录?
Laravel Fortify是什么,和Jetstream有什么关系
昵图网官网入口 昵图网素材平台官方入口
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Bootstrap CSS布局之列表
Laravel如何配置和使用缓存?(Redis代码示例)
微信公众帐号开发教程之图文消息全攻略
黑客如何通过漏洞一步步攻陷网站服务器?
如何在IIS中配置站点IP、端口及主机头?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
javascript基于原型链的继承及call和apply函数用法分析
如何快速上传自定义模板至建站之星?
JS弹性运动实现方法分析
原生JS实现图片轮播切换效果
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
手机软键盘弹出时影响布局的解决方法
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
EditPlus中的正则表达式 实战(1)
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
详解jQuery中基本的动画方法
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
如何在阿里云服务器自主搭建网站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Python数据仓库与ETL构建实战_Airflow调度流程详解
高端建站三要素:定制模板、企业官网与响应式设计优化
装修招标网站设计制作流程,装修招标流程?
音乐网站服务器如何优化API响应速度?
jquery插件bootstrapValidator表单验证详解
WEB开发之注册页面验证码倒计时代码的实现
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
米侠浏览器网页背景异常怎么办 米侠显示修复
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
专业商城网站制作公司有哪些,pi商城官网是哪个?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】

