本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。在《Linux安装DNSmasq搭建自己的公共DNS》分享过手动配置方法,介于某些朋友对Linux不太熟悉,xiaoz写成了一键脚本。
适用环境
CentOS 6.x 7.x
脚本特点
- 一键安装,0配置即可使用
- 自动放行tcp/upd端口
- 实现kexue上网(可访问Google Facebook)
- 定时更新hosts列表
安装
复制下面的命令进行安装,一行一个。
wget https://raw.githubusercontent.com/helloxz/dnsmasq/master/dns.sh --no-check-certificate
chmod +x dns.sh
./dns.sh
使用
参考《windows7设置DNS教程》将DNS修改为您服务器IP
常见问题
如何判断DNSmasq是否正常启动?
输入命令netstat -apn|grep 'dns'
,看到如下截图说明已经正常启动。
配置了DNS无法正常上网,提示找不到DNS?
情况一:检查服务器是否支持安全组功能,请检查安全组是否放行TCP/UDP 53端口
情况二:如果使用的腾讯云服务器,脚本是获取的公网IP,需要修改/etc/dnsmasq.conf
这个配置文件,将listen-address=
改成私网IP,如下截图。
若还遇到其它问题,请在下面留言反馈。
其它说明
推荐使用国内服务器进行搭建,否则解析速度你会哭的,如果您还想实现去广告等特点,则需要自行修改配置规则了。
源码:https://github.com/helloxz/dnsmasq
补充
<新常态>:9.19号封锁升级,YouTube、Facebook已经被加入特殊照顾名单,待遇与*.twitter.com相同。若使用官方IP(ipv4)经过防火墙时一旦探测到相关域名的CA证书,对应IP通信百分之百被拦截切断。若使用sni服务器IP反代部分域名也会被拦截,但并不是全部IP都会被拦截,能用的IP很少。拦截只针对经过出口路由上。不远将来全面部署CA证书拦截等技术,到时候hosts将成为历史!!
额,大佬我使用了,本身就是外国服务器,想用dnsmasq做缓存,但是,检验并没有成功为啥?
以前只知道可以用作DNS,没想到还有这么用途。
现在hosts的方法也失效了,真是曹丹。
可以绕过高Q不
部分网站可以,原理是通过hosts来实现。老哥,卖个域名给你zhuji.wiki,哈哈。😃
好不容易才换到com的。不折腾了。
想知道DNS的劫持是怎么做的。
我的理解是在自己的公共DNS上将域名解析到一个错误的地址,不知道对不对。
国内有根DNS镜像服务器,为了保证访问速度,一般都会有根镜像,但是ZF在镜像上做了一些手脚,把要封锁的域名在镜像服务器上指向错误的IP地址,这样递归DNS在查询的时候就会获得错误的IP地址结果,而且递归DNS也会有缓存,这样慢慢就扩散到全国了