欢迎光临
我们一直在努力

hosts添加域名

Hosts文件基础概念

Hosts文件是操作系统提供的一个本地域名解析配置文件,用于在本地建立IP地址与域名的映射关系,当用户访问某个域名时,系统会优先查询Hosts文件中的记录,若未找到则转向DNS服务器,通过修改Hosts文件,可以实现以下功能:

操作系统 Hosts文件路径 编辑方法 Windows C:WindowsSystem32driversetchosts 右键以管理员身份运行记事本,或使用PowerShell(sudo notepad hostsmacOS /private/etc/hosts 终端执行 sudo nano /private/etc/hostssudo vi /private/etc/hosts Linux /etc/hosts 终端执行 sudo nano /etc/hostssudo vi /etc/hosts Android /system/etc/hosts(需Root权限) 使用Root Explorer等工具修改,或通过ADB命令推送文件 iOS 需越狱后访问(路径:/etc/hosts) 使用iFile等越狱工具修改

编辑规范

  • 格式要求:每行遵循 <IP地址> <空格> <域名> 的格式,
    0.0.1 example.com
    192.168.1.100 local.test
  • 注释规则:以 开头的行为注释(部分系统支持或)。
  • 优先级:Hosts文件的解析优先级高于DNS缓存。

修改Hosts文件的详细步骤

Windows系统

  1. 以管理员身份打开记事本:
    • Win + S 搜索“记事本”,右键选择“以管理员身份运行”。
    • 或在PowerShell中执行:start-process notepad -verb runas
  2. 打开Hosts文件:
    • 在记事本中点击“文件”→“打开”,导航至 C:WindowsSystem32driversetc,选择hosts文件。
  3. 添加条目:
    # 屏蔽广告域名示例
    0.0.0.0 ads.example.com
    # 指向本地服务器示例
    127.0.0.1 local.test
  4. 保存文件:点击“文件”→“保存”,退出记事本。
  5. 刷新DNS缓存:
    • 以管理员身份运行CMD,执行:ipconfig /flushdns

macOS系统

  1. 打开终端,输入命令:sudo nano /private/etc/hosts,输入密码后回车。
  2. 在文件末尾添加条目:
    ## 拦截恶意网站
    127.0.0.1 malware.example.com
    # 加速访问CDN节点
    115.29.237.29 cdn.example.com
  3. 保存并退出:按 Ctrl + O 保存,按 Ctrl + X 退出。
  4. 刷新DNS缓存:执行命令 sudo dscacheutil -flushcache

Linux系统(以Ubuntu为例)

  1. 打开终端,输入命令:sudo nano /etc/hosts
  2. 添加以下内容:
    # 本地开发环境映射
    192.168.1.100 dev.local
    # 屏蔽社交媒体(仅示例)
    0.0.0.0 facebook.com
  3. 保存并退出:按 Ctrl + O,回车确认,按 Ctrl + X
  4. 重启网络服务:sudo systemctl restart NetworkManager

应用场景与案例

场景1:屏蔽广告域名

  • 原理:将广告服务商的域名指向无效IP(如0.0.00.0.1)。
  • 示例条目
    0.0.0 doubleclick.net
    127.0.0.1 adserver.example.com
  • 效果:浏览器加载页面时无法请求广告资源,减少页面加载时间。

场景2:本地开发测试

  • 原理:将自定义域名指向本地服务器IP(如168.1.100)。
  • 示例条目
    168.1.100 api.localtest
    192.168.1.100 www.localtest
  • 优势:无需修改代码中的域名,直接通过自定义域名访问本地服务。

场景3:加速访问特定服务

  • 原理:将域名指向最优CDN节点或直连IP。
  • 示例条目
    29.237.29 aliyundocs.com # 阿里云文档CDN节点
  • 注意:需确保IP有效性,否则可能导致访问失败。

常见问题与解决方案

问题1:修改后无法生效

  • 原因
    • 格式错误(如缺少空格、使用了制表符)。
    • 缓存未刷新(DNS或浏览器缓存)。
    • 权限不足(文件未保存成功)。
  • 解决方法
    1. 检查条目格式是否符合 <IP> <空格> <域名>
    2. 执行命令刷新DNS缓存:
      • Windows:ipconfig /flushdns
      • macOS:sudo dscacheutil -flushcache
      • Linux:sudo systemd-resolve --flush-caches
    3. 重启网络设备或清除浏览器缓存。

问题2:误删Hosts文件内容

  • 解决方法
    1. 立即停止编辑并关闭文件。
    2. 从备份恢复:
      • Windows:系统自动备份在 C:WindowsSystem32driversetchosts.bak(需提前手动备份)。
      • Linux/macOS:需手动复制原文件(如 cp /etc/hosts /etc/hosts.bak)。
    3. 若未备份,可参考系统默认模板重新创建(通常仅包含本地回环地址):
      0.0.1 localhost
      ::1 localhost

相关问答FAQs

Q1:如何恢复Hosts文件的默认设置?

A1

0.0.1 localhost
::1 localhost

  • 其他系统需根据原始配置补充(如 /etc/hosts 可能包含网关或广播地址)。
  • 建议修改前始终先备份原文件(如复制为 hosts.bak)。
  • Q2:Hosts文件与DNS有什么关系?

    A2

    • Hosts文件是本地优先的静态解析规则,系统在查询DNS前会先读取Hosts文件。
    • DNS是分布式域名解析服务,用于将域名转换为IP地址。
    • 区别
      • Hosts仅作用于本地设备,DNS依赖网络服务。
      • Hosts可屏蔽域名(指向无效IP),而DNS无法主动屏蔽。
    • 协同使用:通过Hosts拦截广告域名后,DNS不再需要处理这些请求
    未经允许不得转载:九八云安全 » hosts添加域名