1. dnsmasq的简介
DNS 即域名解析服务器,本文将使用dnsmasq软件搭建。dnsmasq为轻量且易配置程序,适用于个人或小于50台主机的网络。
- DNS劫持或反DNS劫持使用,任意输入一段域名,正常情况浏览器无法找到服务器,通过DNS服务器可以转到一个指定页面,或者禁止访问某一网站或IP。
- 智能DNS加快解析速度,受制于天朝城墙,访问速度会有数秒延迟,通过指定DNS即可加速网页访问,甚至打开无法访问页面。
2.程序安装
sudo apt -y update && sudo apt -y upgrade
sudo apt -y install dnsmasq dnsutils ldnsutils
sudo ufw allow 53 # 打开防火墙53 端口
sudo service dnsmasq start
sudo service dnsmasq status #确认程序是否运行
3.配置Dnsmasq
sudo vi /etc/dnsmasq.conf
取消注释下面7行
domain-needed
bogus-priv
local=/yourdomains/
listen-address=127.0.0.1,192.168.0.6 #192.168.0.6为你的局域网ip/
expand-hosts
domain=yourdomains
cache-size=10000
修改hosts
sudo vi /etc/hosts
添加以下你要转接的虚拟域名及ip地址
192.168.xx.xx youdomains.com
4.配置上游dns服务器
sudo vi /etc/resolv.conf
添加以下地址到首行
nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 114.114.114.114
Tips
每次修改文件必须重启dnsmasq服务才能生效,防火墙开放tcp/udp53端口。
当出现错误时,多因为53端口被占用,尝试以下命令
杀死进程
# kill -9 xxxx
停止服务
# systemctl stop dnsmasq
禁止开机启动
# systemctl disable dnsmasq
常用命令
dnsmasq --test # 检查所有配置文件语法是否正确
systemctl start|stop|enable dnsmasq # 启动|停止|开机自启dnsmasq
ss -tunlp | grep 53 # 查看端口号(53)
dig|nslookup www.test.cn # 用dig或nslookup测试DNS能否解析到IP地址
Enjoy!