如何修改hosts文件来更改DNS解析?

HCRM技术_小炮 DNS 2025-08-25 2 0

DNS 和 hosts 文件的区别

dns怎么改hosts文件

1、DNS (域名系统):像一个全球分布的电话簿,当您的电脑访问www.google.com 时,它会先去问DNS服务器:“www.google.com 的IP地址是多少?” DNS服务器返回对应的IP地址,电脑才能连接,这个“电话簿”是放在远程服务器上的。

2、hosts 文件:您电脑本地的一个“小电话簿”,在向远程DNS服务器查询之前,电脑会首先检查这个文件,如果在这个文件里找到了域名和IP地址的对应关系,它就会直接使用这个IP地址,而不再去问DNS服务器。

您的操作不是“用DNS改hosts文件”,而是“通过修改hosts文件,来覆盖/跳过DNS查询结果”。

修改 hosts 文件的作用

屏蔽特定网站将恶意或讨厌的网站域名指向一个无效的IP(如127.0.0.1)或本地IP,从而达到屏蔽的效果。

加速访问直接将域名和其服务器的IP地址绑定,省去DNS查询时间(现在效果不明显,DNS都有缓存)。

dns怎么改hosts文件

本地开发测试将您开发的域名(如www.mydevsite.com)指向本地服务器IP(如127.0.0.1192.168.1.100),方便开发和调试。

访问被封锁或DNS污染的网站通过手动指定正确的IP地址来绕过问题。

如何修改 hosts 文件(详细步骤)

重要提示:

修改系统文件需要管理员权限

修改前最好备份一下原来的hosts文件。

dns怎么改hosts文件

文件没有后缀名,不要自行添加.txt 等后缀。

Windows 系统

方法一:使用记事本(推荐)

1、 在Windows搜索框输入“记事本”。

2、 在右侧的“记事本”应用上,右键单击,选择“以管理员身份运行”

3、 在记事本中,点击菜单栏的“文件” ->“打开”

4、 导航到 hosts 文件所在目录:C:\Windows\System32\drivers\etc\

5、 因为默认看不到任何文件,你需要将右下角的文件类型筛选从“文本文档 (.txt)”改为 **“所有文件 (*.*)”** 。

6、 这时就能看到hosts 文件了,选择它并点击“打开”。

7、 在文件末尾,按照格式添加你的规则。

    # 这是一个注释,以 # 开头
    127.0.0.1    localhost
    127.0.0.1    example.com    # 这会将 example.com 屏蔽掉
    192.168.1.100    myrouter.local    # 这将 myrouter.local 指向内网设备

格式:[IP地址] [空格或Tab] [域名]

8、 添加完成后,点击“文件” ->“保存”

9、刷新DNS缓存:保存后,需要让系统识别新的映射关系,按Win + R 键,输入cmd 打开命令提示符,输入以下命令并回车:

    ipconfig /flushdns

方法二:使用第三方工具(如 Hosts File Editor)

在微软应用商店搜索 “Hosts File Editor”,安装后可以图形化界面管理,更简单安全,推荐新手使用。

macOS 系统

1、 打开“终端”应用程序(可在“应用程序”->“实用工具”中找到)。

2、 输入以下命令,用nano 编辑器以管理员权限打开 hosts 文件:

    sudo nano /etc/hosts

3、 输入你的电脑登录密码(输入时密码不显示,输完直接回车)。

4、 编辑器会打开文件,使用键盘方向键移动到文件末尾。

5、 按格式添加你的规则,

    127.0.0.1    ads.example.com

6、 编辑完成后,按Control + O 键(字母O)来保存,然后按Enter 键确认文件名。

7、 再按Control + X 键退出编辑器。

8、刷新DNS缓存:在终端中输入以下命令(不同系统版本命令可能不同):

    # 对于 macOS Monterey (12.0) 及更新版本:
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    # 对于更早的版本,可以尝试:
    sudo killall -HUP mDNSResponder

Linux 系统 (如 Ubuntu)

步骤与 macOS 非常相似。

1、 打开终端。

2、 输入命令(可能需要使用vimgedit):

    sudo nano /etc/hosts
    # 或者
    sudo gedit /etc/hosts

3、 输入密码后编辑文件,添加规则。

4、 保存并退出。

5、刷新DNS缓存(如果你的系统有DNS缓存服务,如systemd-resolved):

    sudo systemctl restart systemd-resolved.service
    # 或者
    sudo systemd-resolve --flush-caches

验证修改是否生效

修改并刷新DNS缓存后,打开命令行(Windows是cmd,macOS/Linux是终端),使用ping 命令测试你修改的域名。

你将example.com 指向了127.0.0.1

ping example.com

如果结果显示来自127.0.0.1 的回复,而不是它真实的IP地址,就说明修改成功了!

注意事项

谨慎操作错误的IP地址可能导致网站无法访问。

HTTPS问题如果你将某个HTTPS网站(如https://example.com)指向了一个不匹配的IP,浏览器会报告SSL证书错误,因为证书上的域名与你访问的IP不匹配。

恢复如果修改出错,只需再次用管理员权限打开hosts文件,删除你添加的行并保存即可。

希望这个详细的解释能帮到你!

文章摘自:https://idc.huochengrm.cn/dns/14071.html

评论