登录
首页 >  文章 >  linux

Linux修改/etc/hosts配置域名解析方法

时间:2026-04-27 10:58:29 126浏览 收藏

想在Linux系统中快速实现无需依赖外部DNS的自定义域名解析?本文手把手教你三种高效修改/etc/hosts文件的方法:用nano轻松上手、用vim精准操控、用tee命令安全追加——无论你是初学者还是运维老手,都能根据场景选择最适合的方式,几行配置即可让本地IP与域名瞬间映射,稳定、简单、零成本!

Linux如何配置域名解析?修改/etc/hosts文件的详细方法【教程】

如果您需要在Linux系统中实现自定义域名解析,而无需依赖外部DNS服务器,则可通过直接修改系统本地的静态解析文件来完成。以下是针对/etc/hosts文件进行配置的详细操作步骤:

一、使用nano编辑器修改/etc/hosts文件

该方法适用于大多数桌面或轻量级服务器环境,nano界面友好、操作直观,适合初学者快速上手。需以root权限运行编辑器才能保存修改。

1、打开终端,执行命令:sudo nano /etc/hosts

2、在文件末尾新增一行,格式为:IP地址 域名 [别名],例如:127.0.0.1 example.com www.example.com

3、按Ctrl+O保存文件,回车确认;再按Ctrl+X退出编辑器。

二、使用vim编辑器修改/etc/hosts文件

该方法适用于习惯vi/vim操作模式的用户,尤其常见于云服务器远程维护场景。vim具备高效文本处理能力,适合批量编辑与脚本化操作。

1、在终端中输入:sudo vim /etc/hosts

2、按i进入插入模式,在文件末尾添加映射条目,例如:192.168.1.100 devserver.local api.devserver.local

3、按Esc退出插入模式,输入:wq保存并退出。

三、使用tee命令追加静态条目

该方法避免交互式编辑,适用于脚本自动化或批量部署场景,可防止误覆盖原有内容,确保操作安全可控。

1、执行以下命令追加多行配置:sudo tee -a /etc/hosts > /dev/null

2、在下一行开始输入待添加内容,例如:0.0.0.0 ads.example.com

3、另起一行输入127.0.0.1 testapp.local

4、最后输入EOF并回车,完成追加。

四、验证hosts文件修改是否生效

修改完成后必须验证解析结果是否符合预期,避免因格式错误或缓存导致解析失败。系统会优先读取hosts文件,但部分服务可能缓存旧结果。

1、执行命令测试解析:ping -c 3 example.com,观察返回IP是否为所设值

2、使用host命令进一步确认:host example.com,输出应显示对应IP地址而非DNS响应

3、如解析未更新,可尝试刷新本地DNS缓存:sudo systemd-resolve --flush-caches(适用于systemd-resolved服务)

五、清除DNS缓存并重启网络服务(可选)

某些Linux发行版(如较老版本CentOS或启用nscd服务的系统)不使用systemd-resolved,需通过其他方式使hosts变更立即生效。

1、若系统运行nscd服务,执行:sudo systemctl restart nscd

2、若使用dnsmasq作为本地DNS代理,执行:sudo systemctl restart dnsmasq

3、对于无缓存服务的最小化系统,可直接测试应用层连接,例如:curl -I http://testapp.local

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>