本文只适用于少数经常修改hosts文件的程序员帅哥和美女们。
背景:直接修改hosts文件的不足
修改C:\Windows\System32\drivers\etc\hosts
时,必须要管理员权限。
经常修改,会觉得有一丝丝麻烦。
方法1
(安全性低,不是本文的主要内容)
自行gpt搜寻,怎么使得不用管理员权限就能修改C:\Windows\System32\drivers\etc\hosts文件
小编也想顺便玩一下dns,所以摸索出了方法2
方法2.本文要讲的方法
安全性高,配置要花几分钟
windows自建一个轻量的dns服务器,指向不用管理员权限的hosts文件。
注意:windows默认的hosts文件还生效
2.1 github下载coredns的windows版本
下载路径:https://github.com/coredns/coredns/releases
把解压得到 coredns.exe 可执行文件放到C:\z7z8\soft\coredns目录中
2.2 创建配置文件
在C:\z7z8\soft\coredns中创建Corefile,内容如下:
说明:coredns默认的配置文件是Corefile
.:53 {
hosts C:\z7z8\soft\coredns\coredns-hosts.txt {
fallthrough
}
forward . 223.5.5.5 114.114.114.114
bind 127.0.0.1
log
errors
}
配置解读:
1.请求先访问C:\z7z8\soft\coredns\coredns-hosts.txt文件,如果找不到解析,就去forward指定的dns服务区去寻找
2.只绑定127.0.0.1,不用允许网络权限就可以运行了。
C:\z7z8\soft\coredns\coredns-hosts.txt文件写host文件的信息(按需添加),如:
127.0.0.1 localhost
127.0.0.1 baidu.com
2.3 创建windows任务计划,实现开机自启动
一.编写C:\z7z8\soft\coredns\start-coredns.ps1启动命令脚本,内容如下:
Start-Process "C:\z7z8\soft\coredns\coredns.exe" -ArgumentList "-conf C:\z7z8\soft\coredns\Corefile" -WindowStyle Hidden
二.创建启动脚本
在start-coredns.ps1文件上右键–>创建快捷方式–>右键此快捷方式–>属性–>目标的内容修改为(下面一整行):
powershell.exe -WindowStyle Hidden -File "C:\z7z8\soft\coredns\start-coredns.ps1"
三.配置开机自启动
按下“win键 + r ”组合键,输入shell:startup
会打开一个目录,把上一步骤创建的快捷方式复制或剪切放置到此目录中,即可实现开机自动启动。
四.立即启动coredns并验证
双击上面创建的快捷方式的文件。进行如下验证:
也可以在C:\z7z8\soft\coredns\coredns-hosts.txt添加或修改记录进行验证。
2.4 把windows的默认dns设置为主:127.0.0.1 ,备:114.114.114.114
设置备用dns的目的是当127.0.0.1 不可用的时候,会去找备dns
请自动百度搜索:“把windows的wifi和有线的dns设置为114.114.114.114”
2.5最终效果
修改C:\z7z8\soft\coredns\coredns-hosts.txt的hosts记录,不需要管理员权限。非常方便安全。
作为程序员,经常需要修改hosts值,把C:\z7z8\soft\coredns\coredns-hosts.txt的快捷方式添加到桌面更nice。