1、基础安装步骤:
软件下载:
操作系统 centos 7
smartdns 最新版:
GitHub - pymumu/smartdns: A local DNS server to obtain the fastest website IP for the best Internet experience, 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验。
根据需要下载最新版的软件安装包 注意安装包的类型和操作系统的类型保持一致
下载完成后进行解压使用
$ tar zxf smartdns.1.yyyy.MM.dd-REL.x86_64-linux-all.tar.gz
$ cd smartdns
$ chmod +x ./install
$ ./install -i
#参数说明 解析中有prefix参数 但是指定的时候出现异常 直接使用-i进行安装
安装完成之后会在etc下生成配置文件信息:
/etc/smartdns/smartdns.conf
2、添加dnsmasq-china-list:
作用:提高中文域名的解析速度
获取最近的CDN节点信息 使得国内和VPN都可以获得最佳的CDN节点
配置方式为:
- 使用dnsmasq-china-list配置(GitHub - felixonmars/dnsmasq-china-list: Chinese-specific configuration to improve your favorite DNS server. Best partner for chnroutes.)
- git clone https://github.com/felixonmars/dnsmasq-china-list
- cd dnsmasq-china-list
- make smartdns SERVER=china
#使用make替换关键字效果 生成对应的conf文件
- 拷贝生成的配置文件到smartdns的配置目录中/etc/smartdns/
- cp *.smartdns.conf /etc/smartdns
- 修改smartdns配置文件/etc/smartdns/smartdns.conf
- vim /etc/smartdns/smartdns.conf
- 主要调整的配置cache-size,及server、address等配置,完整生效配置供参考
3、修改smartdns 主要配置信息:
#定义dnsmasq-china-list 快速解析功能
conf-file accelerated-domains.china.smartdns.conf
conf-file apple.china.smartdns.conf
conf-file google.china.smartdns.conf
#接口绑定信息
bind-tcp [::]:53
bind :53
#解析缓存条数
cache-size 4096
# 开启域名预取,smartdns将在域名ttl即将超时的时候,再次发送查询请求,并缓存查询结果供后续使用
prefetch-domain yes
# 上游DNS返回多个结果时,使用ping方式作为测速方法
speed-check-mode ping
#日志记录等级
log-level info
#使用server 配置上游服务器
server 202.96.128.166
server 223.5.5.5
server 223.6.6.6
server 119.29.29.29
#配置server的组关系
server 8.8.4.4 -group whatsappdns -exclude-default-group
server-tcp 8.8.4.4
#配置address 定义某个指定的域名IP解析关系
address /smtp.test.xyz/172.20.2.15
#测试解析地址 根据实际情况进行配置
address /mail.test.xyz/172.20.2.15
address /yarn.test.com/192.168.2.1
配置完成之后 需要将服务器的防火墙关闭 或者是iptables 放行 53端口 UDP/TCP
4、配置服务启动:
# /usr/lib/systemd/system/smartdns.service
[Unit]
Description=SmartDNS Server
After=network.target
StartLimitBurst=0
StartLimitIntervalSec=60
[Service]
Type=forking
PIDFile=/var/run/smartdns.pid
EnvironmentFile=/etc/default/smartdns
ExecStart=/usr/sbin/smartdns -p /var/run/smartdns.pid $SMART_DNS_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
RestartSec=2
TimeoutStopSec=5
[Install]
WantedBy=multi-user.target
Alias=smartdns.service
配置关键参数 设置热启动:
ExecReload=/bin/kill -HUP $MAINPID
5、验证分析:
检测服务是否正常启动
systemctl status smartdns.service
systemctl enable smartdns.service
客户端验证:
nslookup -querytype=ptr smartdns(dns服务器的IP地址)
例如:
C:\Users\Administrator>nslookup -querytype=ptr 192.168.2.1
服务器: prod-app-192168002001.lan
Address: 192.168.2.11
非权威应答:
11.2.168.192.in-addr.arpa name = prod-app-192168002001.lan
查看命令结果中的 name
是否为 smartdns
或你的主机名,如果是则表示生效
查看端口启动状态:
文章来源:https://www.toymoban.com/news/detail-474359.html
文章来源地址https://www.toymoban.com/news/detail-474359.html
到了这里,关于smartdns 部署最佳实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!