Ubuntu server 24 (Linux) 安装部署smartdns 搭建智能DNS服务器

SmartDNS是推荐本地运行的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度和准确性。 支持指定域名IP地址,达到禁止过滤的效果。

一 安装smartdns

1 关闭Ubuntu自带dns解析systemd-resolved

复制代码
#查看端口
sudo netstat -lnp|grep 53
tcp        0      0 127.0.0.54:53           0.0.0.0:*               LISTEN      698/systemd-resolve 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      698/systemd-resolve 
udp        0      0 127.0.0.54:53           0.0.0.0:*                           698/systemd-resolve 
udp        0      0 127.0.0.53:53           0.0.0.0:*                           698/systemd-resolve 
raw6       0      0 :::58                   :::*                    7           553/systemd-network 
unix  2      [ ACC ]     STREAM     LISTENING     9453     924/systemd          /run/user/1000/pk-debconf-socket
#关闭
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

2 安装 smartdns

复制代码
sudo  apt update
sudo  apt-get  install smartdns
#查看版本
test@test:~$ smartdns -v
smartdns 45+dfsg-1build2
#启动
sudo systemctl enable smartdns
sudo systemctl start smartdns

二 配置smartdns

复制代码
sudo vim /etc/smartdns/smartdns.conf
#接口绑定信息
bind-tcp [::]:53
bind :53
#开启过期缓存
serve-expired yes
#过期时间
serve-expired-ttl 0
#缓存数量
cache-size 68888
#域名TTL最小值和最大值
rr-ttl-min 60
rr-ttl-max 866000
# 上游DNS返回多个结果时,测速的方法
speed-check-mode tcp:80,tcp:443,ping
#日志记录等级(warn,info,debug)
log-level info
log-file /var/log/smartdns/smartdns.log
log-size 2m #日志大小
log-num 1 #日志归档个数
#配置上游dns服务器
#阿里dns
server 223.5.5.5
server 223.6.6.6
#腾讯dns
server 119.29.29.29
#配置server的组关系
server 8.8.8.8 -group google -exclude-default-group
server 8.8.4.4 -group whatsappdns -exclude-default-group
server-tcp 8.8.4.4
#配置address,解析指定的域名和IP
address /www.test.com/192.168.50.13

三 测试验证

1 ubuntu 系统

复制代码
#第一次查询
test@test:~$ dig www.csdn.net

; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> www.csdn.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32569
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.csdn.net.			IN	A

;; ANSWER SECTION:
www.csdn.net.		3	IN	CNAME	55cb88f4.csdn.net.cname.yunduns.com.
55cb88f4.csdn.net.cname.yunduns.com. 3 IN A	220.185.184.18

;; Query time: 532 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sat Jun 01 17:45:37 CST 2024
;; MSG SIZE  rcvd: 95

#第二次查询
test@test:~$ dig www.csdn.net

; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> www.csdn.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36998
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.csdn.net.			IN	A

;; ANSWER SECTION:
www.csdn.net.		32	IN	CNAME	55cb88f4.csdn.net.cname.yunduns.com.
55cb88f4.csdn.net.cname.yunduns.com. 32	IN A	220.185.184.18

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sat Jun 01 17:46:05 CST 2024
;; MSG SIZE  rcvd: 95
#测试域名查询
test@test:~$ dig www.test.com

; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> www.test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41058
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.test.com.			IN	A

;; ANSWER SECTION:
www.test.com.		60	IN	A	192.168.50.13

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sat Jun 01 17:49:50 CST 2024
;; MSG SIZE  rcvd: 46

2 windoes 11系统

相关推荐
一人の梅雨8 小时前
京东商品详情深度解析:从接口调用到商业价值挖掘的技术实现
服务器·数据库·php
月墨江山8 小时前
Ubuntu 20.04 使用 Issac Gym 进行宇树G1人形机器人进行强化学习训练(Linux仿真)
linux·ubuntu·机器人
wanhengidc9 小时前
云手机的挂机功能涉及到哪些内容
运维·服务器·网络·游戏·智能手机
努力的白熊嗨9 小时前
多台服务器文件共享存储
服务器·后端
天朝八阿哥9 小时前
关于xfce4-pulseaudio-plugin中文翻译的bug
linux·debian
z202305089 小时前
linux之 remoteproc 内核实现源码分析
linux·运维·服务器
qq_1841776779 小时前
前端自动部署项目到服务器
服务器·前端·javascript
阿方索10 小时前
shell脚本
linux·运维
思考的笛卡尔10 小时前
Go语言实战:高并发服务器设计与实现
服务器·开发语言·golang
努力努力再努力wz10 小时前
【C++进阶系列】:万字详解智能指针(附模拟实现的源码)
java·linux·c语言·开发语言·数据结构·c++·python