Docker搭建DNS服务器--nouse

news2024/11/24 4:30:39

前言

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:latest

sudo 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-resolved

sudo 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.coloradmin.cn/o/1034796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库选型参考

嵌入式数据库 SQLite、Berkeley DB、Derby、H2、HSQL DB SQLite&#xff1a; SQLite是一种非常流行的文件型数据库&#xff0c;它是一款轻量级、高性能、开源的嵌入式数据库引擎。SQLite采用C语言编写&#xff0c;可以在各种操作系统上运行&#xff0c;并且支持大多数标准SQL语…

csa从初阶到大牛(训练题1)

使用普通账户新建如下结构的2个目录&#xff1a; ~/t1/t2/t3/t4&#xff0c;~/m1/m2/m3/m4,并显示t1目录的详细信息&#xff0c;将/etc/passwd文件拷贝到~/t1/t2/t3目录下面&#xff0c;将~/t1/下面的内容拷贝到~/m1/m2/m/3/m4目录下面,最后删除~/t1/t2/t3下面的目录 # 创建目…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(四)

开始吧&#xff0c;做时间的主人&#xff01; 把时间分给睡眠&#xff0c;分给书籍&#xff0c;分给运动&#xff0c; 分给花鸟树木和山川湖海&#xff0c; 分给你对这个世界的热爱&#xff0c; 而不是将自己浪费在无聊的人和事上。 思维导图 函数 为什么需要函数 <!DO…

pytest框架运行时的参数,以及多线程分布式运行用例、运行指定模块用例

一、运行时的参数 在上一篇博客中写了pytest最为核心的运行时前后置如何设置&#xff0c;细心的朋友可能也会发现其实我们当时就加过运行时的参数-vs。 pytest.main([‘-s’])&#xff1a;能打印出调试信息&#xff0c;print()或者日志都可以直接打印在控制台上。 pytest.ma…

栈和队列1——栈的实现及其oj(括号匹配问题)

一&#xff0c;栈的概念 栈是一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#xf…

【100天精通Python】Day68:Python可视化_Matplotlib 绘制热力图,示例+代码

目录 1 值热力图&#xff08;Value Heatmap&#xff09;: 2 密度热力图&#xff08;Density Heatmap&#xff09; 3 时间热力图&#xff08;Time Heatmap&#xff09;: 4 空间热力图&#xff08;Spatial Heatmap&#xff09; 5 渐变热力图&#xff08;Gradient Heatmap&am…

C语言实现获取文件大小(字节数)

首先使用如下命令在当前文件夹&#xff0c;创建一个大小为1234578字节的空白文件&#xff1a; fsutil file createnew ./test.bin 12345678关于fsutil命令的介绍&#xff1a;Windows快速创建任意大小的空白文件 使用十六进制编辑器打开&#xff0c;可以看到内容全是0&#xf…

滴滴一面:线程池任务,如何设置优先级?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如滴滴、极兔、有赞、希音、百度、网易的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 如何设计线程池&#xff1f;请手写一个简单线程池&#xff1f; 就在昨天&…

肖sir__mysql之综合题练习__013

数据库题&#xff08;10*5&#xff09; 下面是一个学生与课程的数据库&#xff0c;三个关系表为&#xff1a; 学生表S&#xff08;Sid&#xff0c;SNAME,AGE,SEX&#xff09; 成绩表SC&#xff08;Sid&#xff0c;Cid&#xff0c;GRADE&#xff09; 课程表C&#xff08;Cid&…

linux进程杀不死

项目场景&#xff1a; 虚拟机 问题描述 linux进程杀不死 无反应 原因分析&#xff1a; 进程僵死zombie 解决方案&#xff1a; 进proc或者find命令找到进程所在地址 cat status查看进程杀死子进程

【AI视野·今日CV 计算机视觉论文速览 第252期】Fri, 22 Sep 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 22 Sep 2023 Totally 90 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;SVGCustomization, 基于文本的矢量图生成定制(from 香港城市大学)。 website:https://intchous.github.io/SVGCustomization/ …

OVS-DPDK/虚拟化学习

用户/内核空间虚拟化 NFV和Middlebox的不同数据平面模型&#xff0c;具有不同的虚拟交换机选项、虚拟设备接口和虚拟化框架&#xff1a;(a)基于内核的vSwitch virtio-user/vhost-net和TUN/TAP VM&#xff1b;(b)基于内核的vSwitch virtio-user/vhost-net和TUN/TAP contain…

什么算泄露公司机密的行为(什么程度算公司泄密行为)

在当今的商业环境中&#xff0c;保护公司的核心竞争力和商业机密是至关重要的。然而&#xff0c;员工可能出于各种原因泄露这些信息&#xff0c;包括对竞争对手的追求、个人利益的驱动或者对工作的不满。在这种情况下&#xff0c;企业需要依赖专业的调查工具来揭示和证明员工的…

OpenGL之相机

OpenGL本身没有摄像机(Camera)的概念&#xff0c;但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机&#xff0c;产生一种我们在移动的感觉&#xff0c;而不是场景在移动。 本节我们将会讨论如何在OpenGL中配置一个摄像机&#xff0c;并且将会讨论FPS风格的…

Nginx使用指南

文章目录 前言一、源码编译1.1 编译1.2 第三方模块编译 二、配置文件2.1 配置语法2.2 location语法2.3 配置文件块2.4 全局变量 三、HTTP 服务器3.1 基本3.2 反向代理3.3 压缩3.4 负载均衡3.5 HTTPS 支持3.6 UrlRewrite3.7 防盗链配置3.8 跨域3.9 静态服务3.10 PC/手机端分离3.…

Web3 solidity编写fillorder填充订单函数 并梳理讲述逻辑

好 经过上文 Web3 solidity编写cancelorder取消订单函数 并梳理讲述逻辑 我们成功编写了 cancelorder 取消订单函数 其实 做了取消订单 填充订单 已经是非常简单的事了 我们还是先起来ganache 虚拟环境 这里 我们 模仿 orderCancel 在做一存储结构 //存储被填充订单 mapping…

追光者的梦

追光者的梦 鸿蒙中我茫然于世&#xff0c;你是钻入我心里的那束光 我所有的梦想都是和你热烈的拥抱 没有追到你时&#xff0c;我一直在路上 追到你时&#xff0c;我的人生就被你点燃 ——致所有的追光者 合肥先进光源国家重大科技基础设施项目及配套工程启动会刚开过&…

go学习之数组与Map

文章目录 一、数组1.为什么需要数组2.数组快速入门3、数组的定义和内存布局数组的使用数组的遍历数组的注意事项和细节数组的应用案例 4.slice切片1.基本介绍2.切片使用的三种方式way1way2way3 3.切片的注意事项4.string和slice 5.二维数组1.排序1&#xff09;排序的基本介绍2&…

uni-app实现获取未来七天时间和星期几功能

例子如下&#xff1a; HTML&#xff1a; <viewstyle"margin-top: 3%;width: 100%;height: 10vh;display: flex;justify-content: space-around;"><div v-for"(item,index) in same_week" :class"[same_dayitem.date? activ :,dis]"cl…