OpenWRT 通过修改hosts文件实现自定义域名解析规则
TIME 2023-05-30 20:16
如何实现自定义域名解析规则?
1.修改 Win10 系统的
C:\Windows\System32\drivers\etc\hosts
文件,参见Windows10修改本地hosts文件达到重置本地域名解析但是只适用于 Win10 系统本身,本地的其他设备无效
2.修改路由器的
hosts
文件,即OpenWRT的hosts
文件这样在OpenWRT路由器下面的所有设备都支持实现自定义域名解析
如何修改OpenWRT的hosts文件
例如,将 inthesun.life 解析到 192.168.1.88
编辑 /etc/hosts
文件
vi /etc/hosts
在 /etc/hosts
文件中添加以下条目
192.168.1.88 inthesun.life
保存并且退出vi编辑器
当我们在浏览器中访问 inthesun.life 时,浏览器将会在 /etc/hosts
文件中搜索解析规则,找到该域名对应的IP地址,并使用该地址进行通信。
这种使用 /etc/hosts
文件自定义域名解析规则的方法非常有用,因为它允许您将特定的域名映射到不同的 IP 地址,而无需更改 DNS 服务器的配置或购买新的域名。
修改hosts文件后,如何使其生效?
最简单且粗暴的方式就是 reboot
重启,但是我又不想中断网络服务,该怎么办?
在您修改完 /etc/hosts
文件后,需要让操作系统重新读取该文件以使更改生效。有几种方法可以做到这一点:
- 重启网络服务
您可以通过重启网络服务来读取更新后的 /etc/hosts
文件。您可以使用以下命令来重启网络服务:
/etc/init.d/network restart
在执行此命令后,网络服务将被重新启动。然后,您应该能够看到您添加的主机名和 IP 地址的映射关系。
- 刷新DNS缓存
如果您不想重启网络服务,则可以尝试刷新DNS缓存来获取最新的主机名和 IP 地址的映射关系。您可以使用以下命令刷新DNS缓存:
/etc/init.d/dnsmasq restart
执行此命令后,dnsmasq DNS代理服务将被重启,并且应该会清除现有缓存并读取最新的 “/etc/hosts” 文件内容。
- 在终端中使用 “source” 命令
如果您正在命令行终端中修改 “/etc/hosts” 文件,则可以使用 source 命令(或 “.” 命令)来重新加载该文件内容,而无需重启网络服务。您可以使用以下命令在当前终端中重新加载 “/etc/hosts” 文件:
$ source /etc/hosts
或者:
$ . /etc/hosts
执行其中任意一个命令后,当前终端会读入新的 hosts
文件内容。但这个方法只在当前终端内起作用,关闭终端之后就失去了效果。
这些方法中任选一种都可以使修改的 /etc/hosts
文件生效,并且您应该能够看到您添加或更改的主机名和 IP 地址的映射关系。
点击数:18