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 或你的主机名,如果是则表示生效

查看端口启动状态:

smartdns 部署最佳实践相关推荐

  1. SAP(HANA+S/4)上云基础环境部署最佳实践

    简介:为提高客户服务水平及集团管理效率,客户选择了SAP解决方案.但是同时也对客户的IT基础设施提出了更多的要求.对此我们针对SAP上云基础设施选型.云原生产品.灾备方案设计,云上安全环境设计总结出了 ...

  2. Mendix基于腾讯云部署最佳实践

    本实践由腾讯云与西门子数字化工业软件授权发布,未经允许不得转载. 1.  概述 本文档介绍了西门子企业级应用开发平台Mendix应用快速托管到腾讯云容器服务(简称TKE)的最佳实践.该方案仅用于非生产 ...

  3. k8s停止服务_Kubernetes 服务部署最佳实践(二) 如何提高服务可用性

    引言 上一篇 文章我们围绕如何合理利用资源的主题做了一些最佳实践的分享,这一次我们就如何提高服务可用性的主题来展开探讨. 怎样提高我们部署服务的可用性呢?K8S 设计本身就考虑到了各种故障的可能性,并 ...

  4. 跨 AZ 部署最佳实践之 Zookeeper

    作者:焦振清 跨 AZ 部署是实现服务高可用较为有效的方法,同时也极具性价比.如果实现了跨 AZ 部署,不仅可以消除服务中的单点,同时还可以逐步建设如下能力:服务隔离,灰度发布,N+1 冗余,可谓一举 ...

  5. 跨AZ部署最佳实践之Elasticsearch

    作者:焦振清 跨AZ部署是实现服务高可用较为有效的方法,同时也极具性价比.如果实现了跨AZ部署,不仅可以消除服务中的单点,同时还可以逐步建设如下能力:服务隔离,灰度发布,N+1冗余,可谓一举多得.因此 ...

  6. Gartner:上云步伐加速,中国公有云部署最佳实践

    作者 | Gartner高级研究总监 周玲 供稿 | Gartner 在数字化转型需求的驱动下,中国的上云步伐持续加速.Gartner预测,到2024年,中国40%的IT基础设施支出将用于云服务(参见 ...

  7. 探秘音视频网络优化与全球化部署最佳实践

    根据Google.淡马锡等联合发布的2019年"东南亚互联网经济报告"显示,包括泰国.菲律宾.印度尼西亚和马拉西亚在移动互联网日均使用时长方面领先世界,而整个东南亚2019年的互联 ...

  8. Kubernetes Ingress 高可靠部署最佳实践

    摘要: 在Kubernetes集群中,Ingress作为集群流量接入层,Ingress的高可靠性显得尤为重要,今天我们主要探讨如何部署一套高性能高可靠的Ingress接入层. 简介 在Kubernet ...

  9. nginx 集群部署_Nginx Ingress on TKE 部署最佳实践

    概述 开源的 Ingress Controller 的实现使用量最大的莫过于 Nginx Ingress 了,功能强大且性能极高.Nginx Ingress 有多种部署方式,本文将介绍 Nginx I ...

  10. 【云贝学院】腾讯云TDSQL独立部署最佳实践

    [云贝学院]云贝学院TDSQL TCP认证课程已上线,学院有不定期公开课 需要的同学可以加老师微信:19941464235 作者:崔鹏 创建四台云主机或者本地四台Centos7.6的VM虚拟机 (四台 ...

最新文章

  1. java 将图片转成二进制文件bin_java 问题:怎样把一个bin二进制图片文件用java代码打开?求解!...
  2. 以太网速率怎么手动设置_OPENWRT-KOOLSHARE软路由,一级/单臂/二级/旁软路由设置单臂路由联网教程...
  3. Spring boot(3):Spring boot中Redis 的使用
  4. 输入数字存入数组C语言,//从键盘上输入若干整数,并将其存入数组中,并统计输入数据的个...
  5. php 多文件上传与下载,php实现文件下载跟多文件上传
  6. 应用filestream设置时存在未知错误_开机黑屏?常见启动黑屏错误的中文解释!学习电脑知识电脑小匠...
  7. java上传音频的方法_将音频文件从文档目录上传到 iCloud
  8. 理解Python闭包,这应该是最好的例子
  9. 使用Pycharm进行代码对比的方法
  10. 【毕业设计全篇论文和源码】基于SSM的实体商城商户在线租赁以及信息管理系统的设计与实现(多人在线聊天室,微信扫码支付,在线签字,PDF合同在线生成,商户评分)
  11. WES分析1-外显子测序
  12. 2018-2019年江苏省高等学校“阿里云大数据技术实战训练营”大学生万人计划学术冬令营开营... 1
  13. ks 曲线_ROC曲线与KS曲线的理解
  14. 从零开始成为网络工程师,H3CNE从零学起
  15. html表单中添加手机短信认证,表单提交前验证短信验证码是否正确
  16. 中国工商银行上海市分行-存量房交易服务平台
  17. SQL两张表筛选相同数据和不同数据
  18. 就是美女,怎么了!!!
  19. ESMap平台在线开发工具介绍-易景空间地图
  20. eval——未结束的字符串常量

热门文章

  1. 5G无线技术基础自学系列 | 5G信道结构
  2. 凹多边形三角剖分算法实现---基于Unity3D
  3. 为什么经转速环PI之后的输出量是电流(基于MTPA分析,内含代码)
  4. matlab绘制不同线性的直方图,Matlab绘制柱状图采用不同图案填充
  5. matlab设置柱状图空白,MATLAB画柱状图时形状填充及颜色改变问题
  6. 软件工程课程实践- 项目开发计划
  7. 如何学习IOS APP开发?开发iOS手机软件一般用什么编程语言?
  8. java代码分析及分析工具
  9. CRT使用(一)CRT软件安装和部署
  10. ug二次开发python_UG/NX二次开发入门指导