准备
首先我们需要准备一台服务器 国内国外均可 本教程使用 CentOS 7 的 Azure 香港服务器进行演示
一双手
你智慧的大脑
服务商放通防火墙
你首先需要在你服务商的后台开放服务器防火墙
Azure
在后台 Networking 找到 Add inbound port rule
在 Source port ranges 和 Destination port ranges 两栏输入 *
Source , Destination , Protocol 都选择 Any
然后点Add添加
腾讯云轻量应用
因为买不起CVM只能用lh举例了
点选你的服务器 在防火墙一栏选择添加规则 应用类型自定义 端口需要把TCP和UDP的53端口全放通
服务器放通防火墙
iptables
1 | iptables -P INPUT ACCEPT |
firewalld
1 | firewall-cmd --zone=public --add-port=53/tcp --permanent |
安装Dnsmasq
安装命令视发行版而定
例如 CentOS yum install dnsmasq -y
Ubuntuapt install dnsmasq -y
配置Dnsmasq
修改配置文件
我们需要修改/etc/dnsmasq.conf
文件进行自定义的配置
vim /etc/dnsmasq.conf
默认配置文件应该是这样
因为一点点改太麻烦 如果是进阶用户可以自行配置 初级用户输入ggdG
清空文件内容
接下来按i
进入编辑模式
粘贴以下内容
1 | resolv-file=/etc/resolv.dnsmasq.conf |
resolv-file=/etc/resolv.dnsmasq.conf
: 从 /etc/resolv.dnsmasq.conf
获取上游DNS
no-hosts
: 不加载本地的/etc/hosts文件
cache-size=32768
: 最大缓存条数 可自行修改
listen-address=127.0.0.1,<服务器内网地址>,<服务器公网地址>
: 监听地址 需要自行修改
log-queries
: 开启日志
conf-dir=/etc/dnsmasq.d
: 读取该目录下所有.conf文件进行解析
修改上游DNS配置
配置在上一步你写的resolv-file
比如我就应该 vim /etc/resolv.dnsmasq.conf
文件格式为 nameserver <Server Address>
每行一条
修改解析配置
cd进上一步的conf-dir
比如我就是 cd /etc/dnsmasq.d
如果提示不存在则需要自行mkdir
新建一个文件 要以 .conf 结尾
比如 vim zyglq.conf
文件的格式为 address=/域名/IP
同样每行一条
启动服务
service dnsmasq start
配置自启动
chkconfig dnsmasq on
测试
如果一切顺利 这时DNS服务已经可用 在你本地电脑打开终端 输入
nslookup <自己解析的域名> <服务器IP>
如果返回解析IP和你配置文件相同代表配置无误