DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。在《Linux安装DNSmasq搭建自己的公共DNS》分享过手动配置方法,介于某些朋友对Linux不太熟悉,写成了一键脚本。
适用环境
CentOS 6.x 7.x
脚本特点
- 一键安装,0配置即可使用
- 自动放行tcp/upd端口
- 实现kexue上网(可访问Google Facebook)
- 定时更新hosts列表
安装
复制下面的命令进行安装,一行一个。
wget https://raw.githubusercontent.com/helloxz/dnsmasq/master/dns.sh --no-check-certificatechmod +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将成为历史!!