前言
接上篇 docker-bind 的使用搭建了一個(gè) dns 服務(wù),本篇將介紹另外一款 DnsServer 的部署和使用,更專注,更輕量。
特點(diǎn)
- 基于 .NET 7 實(shí)現(xiàn) ,支持 Windows、Linux、macOS 和 Raspberry Pi
- 開箱即用,使用簡(jiǎn)單,高性能
- 提供 Web 控制臺(tái),可視化管理,查看使用情況
- 提供了對(duì)網(wǎng)絡(luò)的額外控制,允許阻止域名
- 支持 DNS-over-TLS, DNS-over-HTTPS, and DNS-over-QUIC
- DNS-over-HTTPS 實(shí)現(xiàn)支持 HTTP/1.1、HTTP/2 和 HTTP/3 傳輸協(xié)議
- HTTP API 由 Web 控制臺(tái)使用,第三方應(yīng)用或腳本可以使用 Api 接口配置來 DNS 服務(wù)器
使用情況
- 能夠快速上手使用,部署好設(shè)置域名解析很流暢
- 用得深入一點(diǎn)就需要看官方的博客了
- 高級(jí)的功能沒深入研究,暫時(shí)只使用了簡(jiǎn)單的域名解析功能
DnsServer 的安裝使用
準(zhǔn)備
- 版本:v11.4.1
- docker 鏡像:technitium/dns-server:11.4.1
- 默認(rèn)端口映射:53:53/tcp 53:53/udp 5380:5380/tcp(53 端口為 DNS 服務(wù)使用,5380為面板使用)
- 面板訪問:http://ip:5380
使用 Docker Compose 安裝
本篇文章基于 Docker V24 及 Docker Compose V2,安裝可以參考之前的文章
配置說明
- 指定版本:
technitium/dns-server:11.4.1
- 指定時(shí)區(qū):Asia/Shanghai 并啟用日志使用UTC時(shí)區(qū)
- 指定賬號(hào) admin 密碼:
devops666
- 指定端口映射:53:53/tcp 53:53/udp 5380 :5380 /tcp(53 端口為 DNS 服務(wù)使用,5380 為 Web面板端口)
- 掛載數(shù)據(jù)目錄:
./data:/data
- 指定網(wǎng)絡(luò):devopsnetwork (
docker network create devopsnetwork
) - 指定了本地訪問端口范圍:
net.ipv4.ip_local_port_range=1024 65000
配置文件 compose.yml
- 準(zhǔn)備好 compose.yml 拷貝到服務(wù)器
- 然后運(yùn)行
docker compose up -d
即可
version: '3.1'
services:
dns-server:
container_name: dns_server_11_4
hostname: dns-server
restart: always
image: technitium/dns-server:11.4.1
ports:
- "5380:5380/tcp" #DNS web console (HTTP)
# - "53443:53443/tcp" #DNS web console (HTTPS)
- "53:53/udp" #DNS service
- "53:53/tcp" #DNS service
environment:
- TZ=Asia/Shanghai
- DNS_SERVER_LOG_USING_LOCAL_TIME=true
- DNS_SERVER_DOMAIN=dns-server #The primary domain name used by this DNS Server to identify itself.
- DNS_SERVER_ADMIN_PASSWORD=devops666 #DNS web console admin user password.
sysctls:
- net.ipv4.ip_local_port_range=1024 65000
volumes:
- ./data:/etc/dns
networks:
- devopsnetwork
networks:
devopsnetwork:
external: true
部署成功
部署機(jī)器 IP:192.168.123.214
容器中資源占用情況
DnsServer 的使用
-
部署成功后訪問:http://192.168.123.214:5380 ,使用 admin devops666 登錄 控制臺(tái)中可以查看到一些監(jiān)控統(tǒng)計(jì)
局域網(wǎng)域名泛解析到指定IP
和上文一樣,需求是需要配置 dns 以將 test.com 解析到 192.168.123.214 中
-
控制臺(tái)->Zones->Add Zone 創(chuàng)建主區(qū)域 test.com
-
添加泛解析
-
本機(jī)設(shè)置 dns
192.168.123.214
以及114.114.114.114
(不然無法訪問其他網(wǎng)站) -
驗(yàn)證dns,正常ping test.com 的IP是存在的,現(xiàn)在就被解析到我們自己的dns了
??可能存在dns緩存,使用ipconfig /flushdns
刷新即可
查看系統(tǒng)日志
需要同時(shí)設(shè)置環(huán)境變量TZ=Asia/Shanghai
及DNS_SERVER_LOG_USING_LOCAL_TIME=true
才生效,設(shè)置后會(huì)將設(shè)置中的日志配置 Use Local Time默認(rèn)勾選
禁用域名訪問(Blocked)
可能需要使用 ipconfig /flushdns
清理dns緩存
文章來源:http://www.zghlxwxcb.cn/news/detail-745165.html
踩過的坑
- 日志顯示,需要同時(shí)設(shè)置環(huán)境變量
TZ=Asia/Shanghai
及DNS_SERVER_LOG_USING_LOCAL_TIME=true
才生效 - dns緩存清理:
ipconfig /flushdns
- 代理/VPN的設(shè)置不對(duì)可能導(dǎo)致 DNS 時(shí)好時(shí)壞,這個(gè)時(shí)候記得檢查下代理,正常dns的生效都挺快的
相關(guān)文檔
- 項(xiàng)目地址:Github
- 鏡像倉庫:DockerHub
- 官方博客:technitium.com
- 官方docker-compose:docker-compose.yml
后語
基于DNS服務(wù),還可以做很多,比如自動(dòng) https,但是沒有研究成功,后面可能會(huì)結(jié)合真實(shí)的自有域名來實(shí)現(xiàn)。
預(yù)告下篇嘔心瀝血之作,Nexus3 管理私有 nuget,docker,走過路過不要錯(cuò)過~文章來源地址http://www.zghlxwxcb.cn/news/detail-745165.html
到了這里,關(guān)于一個(gè)基于.NET7的開源DNS服務(wù) DnsServer 的部署使用經(jīng)驗(yàn)分享的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!