日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

一个基于.NET7的开源DNS服务 DnsServer 的部署使用经验分享

發(fā)布時間:2023/11/16 520 coder
生活随笔 收集整理的這篇文章主要介紹了 一个基于.NET7的开源DNS服务 DnsServer 的部署使用经验分享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

接上篇 docker-bind 的使用搭建了一個 dns 服務(wù),本篇將介紹另外一款 DnsServer 的部署和使用,更專注,更輕量。

特點

  • 基于 。NET 7 實現(xiàn) ,支持 Windows、Linux、macOS 和 Raspberry Pi
  • 開箱即用,使用簡單,高性能
  • 提供 Web 控制臺,可視化管理,查看使用情況
  • 提供了對網(wǎng)絡(luò)的額外控制,允許阻止域名
  • 支持 DNS-over-TLS, DNS-over-HTTPS, and DNS-over-QUIC
  • DNS-over-HTTPS 實現(xiàn)支持 HTTP/1.1、HTTP/2 和 HTTP/3 傳輸協(xié)議
  • HTTP API 由 Web 控制臺使用,第三方應(yīng)用或腳本可以使用 Api 接口配置來 DNS 服務(wù)器

使用情況

  • 能夠快速上手使用,部署好設(shè)置域名解析很流暢
  • 用得深入一點就需要看官方的博客了
  • 高級的功能沒深入研究,暫時只使用了簡單的域名解析功能

DnsServer 的安裝使用

準備

  • 版本:v11.4.1
  • docker 鏡像:technitium/dns-server:11.4.1
  • 默認端口映射: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
  • 指定時區(qū):Asia/Shanghai 并啟用日志使用UTC時區(qū)
  • 指定賬號 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

  • 準備好 compose.yml 拷貝到服務(wù)器
  • 然后運行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

部署成功

部署機器 IP:192.168.123.214

容器中資源占用情況

DnsServer 的使用

  • 部署成功后訪問:http://192.168.123.214:5380 ,使用 admin devops666 登錄 控制臺中可以查看到一些監(jiān)控統(tǒng)計


局域網(wǎng)域名泛解析到指定IP

和上文一樣,需求是需要配置 dns 以將 test.com 解析到 192.168.123.214 中

  1. 控制臺->Zones->Add Zone 創(chuàng)建主區(qū)域 test.com

  2. 添加泛解析


  3. 本機設(shè)置 dns 192.168.123.214 以及 114.114.114.114(不然無法訪問其他網(wǎng)站)

  4. 驗證dns,正常ping test.com 的IP是存在的,現(xiàn)在就被解析到我們自己的dns了


    ??可能存在dns緩存,使用 ipconfig /flushdns刷新即可

查看系統(tǒng)日志

需要同時設(shè)置環(huán)境變量TZ=Asia/ShanghaiDNS_SERVER_LOG_USING_LOCAL_TIME=true才生效,設(shè)置后會將設(shè)置中的日志配置 Use Local Time默認勾選

禁用域名訪問(Blocked)

可能需要使用 ipconfig /flushdns清理dns緩存

踩過的坑

  • 日志顯示,需要同時設(shè)置環(huán)境變量TZ=Asia/ShanghaiDNS_SERVER_LOG_USING_LOCAL_TIME=true才生效
  • dns緩存清理:ipconfig /flushdns
  • 代理/VPN的設(shè)置不對可能導(dǎo)致 DNS 時好時壞,這個時候記得檢查下代理,正常dns的生效都挺快的

相關(guān)文檔

  • 項目地址:Github
  • 鏡像倉庫:DockerHub
  • 官方博客:technitium.com
  • 官方docker-compose:docker-compose.yml

后語

基于DNS服務(wù),還可以做很多,比如自動 https,但是沒有研究成功,后面可能會結(jié)合真實的自有域名來實現(xiàn)。
預(yù)告下篇嘔心瀝血之作,Nexus3 管理私有 nuget,docker,走過路過不要錯過~

總結(jié)

以上是生活随笔為你收集整理的一个基于.NET7的开源DNS服务 DnsServer 的部署使用经验分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。