当前位置: 首页 > news >正文

Docker搭建DNS服务器--use

前言

DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。

安装

2.1 实验环境

IP

系统版本

角色

192.168.40.121

Ubuntu 22.10

DNS服务器

192.168.40.122

Ubuntu 22.10

测试机器

2.2 服务器端

2.2.1 Docker安装

更新软件包

root@121:~# apt-get update

安装docker

root@121:~# apt-get install -y docker.io

2.2.2 创建文件存储文件

root@121:~# sudo mkdir -p /data/docker/dns-server

2.2.3创建容器运行dns服务器

root@121:~# sudo docker run --name dns-server -d \
--restart=always --publish 53:53/tcp \
--publish 53:53/udp --publish 10000:10000/tcp \
--volume /data/docker/dns-server:/data sameersbn/bind:latestsudo docker exec -it dns-server /bin/bash

2.2.4 参数说明

-p 53:53/udp 绑定容器53端口到宿主机的153端口,DNS默认端口;

-p 10000:10000 图形化界面管理器端口;

-volume /data/docker/dns-server:/data 挂载本地目录作为dns配置存储;

2.2.5 查看端口占用情况

root@121:~# sudo lsof -i:153 #查看53端口的进程

如果被占用参考https://www.otakusay.com/866.html

2.2.6 访问DNS服务器

访问地址https://localhost:10000

默认账户和密码root/password

这里访问的是{容器ID}:10000:

# This web server is running in SSL mode. 
# Try the URL <a href='https://1092a6514a9a:10000/'>
#    https://1092a6514a9a:10000/
# </a> instead.<br># 外部机器访问时, 需要配置机器的/etc/hosts文件:
192.168.31.85 1092a6514a9a  # 宿主机ip地址: 192.168.31.85

2.3 DNS服务器页面设置

2.3.1 修改语言

2.3.2 设置DNS-Server默认值

2.3.3 创建新的主区域-正向解析

注意:主服务器写localhost,避免重启后失效. 因为我们只做私网解析,指向本地即可

否则会报错如:无法创建主区域 : '7xxxxxxx..'不是有效的主服务器

2.3.4在刚新建的域名下添加ip映射

#use
示例一:名称: lpf-test   ping: lpf-test.cn示例二:   名称: *.lpf-test   ping: www.lpf-test.cn, master.lpf-test.cn 等任意*.lpf-test.cn

2.3.5 重启容器

root@121:~#sudo docker restart dns-server

2.4 客户端

2.4.1 修改DNS

root@122:~# sudo vi /etc/systemd/resolved.conf
​
...
​
DNS=192.168.40.121 114.114.114.114     # 取消前面的注释,将dns服务器IP写在前面,后面作为备用DNS服务器
​
...

2.4.2 重启systemd-resolved服务

root@122:~# sudo systemctl restart systemd-resolved
​
root@122:~# sudo systemctl enable systemd-resolved
​

2.4.3 ICMP测试

问题

彻底解决 Linux 系统下 systemd-resolve 占用 53 端口的问题

查看端口占用情况,看看 53 端口是不是被 systemd-resolved 占用了。

sudo netstat -nultp

如果 53 端口确定被 systemd-resolved 占用了,则可以根据下面给出的方法解决。

1、先停用 systemd-resolved 服务。

sudo systemctl stop systemd-resolvedsudo systemctl status systemd-resolved

2、编辑 /etc/systemd/resolved.conf 文件,按 “i” 键进入编辑模式。

sudo vi /etc/systemd/resolved.conf

3、换下面说明更改,然后按一下 “esc” 键,再输入 “:wq”(不要输入引号),回车保存即可。

[Resolve]
DNS=223.5.5.5         #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
DNSStubListener=no    #取消注释,把yes改为no
#ReadEtcHosts=yes

4、最后运行下面命令即可。

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Docker搭建DNS服务器 - 知乎

http://www.lryc.cn/news/170731.html

相关文章:

  • “顽固”——C语言用栈实现队列
  • linux内网渗透
  • 还没用熟 TypeScript 社区已经开始抛弃了
  • 2023年9月19日
  • PowerDesigner 与 mysql 同步数据
  • [python 刷题] 271 Encode and Decode Strings
  • [QT]day3
  • 《PostgreSQL事务管理深入解析》
  • 深度分析Oracle中的NULL
  • Python入门教学——类和对象
  • 【数据库系统概论】关系数据库中的关系数据结构
  • LabVIEW对Table中同一行数据分多次增加
  • 微信小程序实现删除功能
  • 整合Shiro+Jwt
  • Python 图形化界面基础篇:创建工具栏
  • 基于matlab实现的卡尔曼滤波匀加速直线运动仿真
  • windows Visual Studio 2022 opengl开发环境配置
  • 中国财政科学研究院党委书记、院长刘尚希一行莅临麒麟信安调研
  • 基于element-ui的年份范围选择器
  • 【已解决】您所使用的密钥ak有问题,不支持jsapi服务,可以访问该网址了解如何获取有效密钥。
  • JS操作数组方法学习系列(1)
  • 翻牌闯关游戏
  • CilckHouse创建表
  • 高级运维学习(八)Ceph 概述与部署
  • 【图像处理】VS编译opencv源码,并调用编译生成的库
  • STM32 EtherCAT 总线型(1 拖 4)步进电机解决方案
  • Postman应用——测试脚本Test Script
  • JS的网络状态以及强网弱网详解
  • 大数据-kafka学习笔记
  • 详述RPA项目管理流程,RPA项目管理流程是什么?