教你使用Ubuntu搭建DNS服务器


Posted in Servers onSeptember 23, 2022

本例是在ubuntu18.04上进行的,其他版本的ubuntu同样类似!

一、重点说明/etc/bind/named.conf.options配置文件

在进行bind9服务器配置时,/etc/bind/named.conf.options是十分关键的配置文件,它决定着DNS服务器是否可以正常工作。

重点解释第30行:listen-on port 53 { 192.168.110.6; };

这行代码指定了bind9服务器的监听端口号为53,监听的ip的地址为本机的IP地址。这里的IP地址一定是要注意,这个IP是本机网址所配置的IP。不用NAT所用的公网IP。只能是网卡实际配置的IP(即ifconfig显示的IP),不管此IP是公网IP还是内网。

我们知道,通常情况下,即使是公网环境下,服务器也是NAT后面,所以服务器配置的IP地址仍然是内网IP。所以我想说的就是,第30行配置的IP就是网卡配置的IP,不用管这个IP是公网还内网。所以图1中的IP必须与图2中的IP保持一致。

教你使用Ubuntu搭建DNS服务器

图1. /etc/bind/named.conf.options配置信息

教你使用Ubuntu搭建DNS服务器

图2. ifconfig显示网卡配置信息

配置完成以后,查看bind9的端口监听情况:netstat -anp | grep 53

教你使用Ubuntu搭建DNS服务器

这里的正确显示了bind9可以正常监听53端口。

如果第30行配置的IP地址不是本机网卡的IP地址,那么bind9会无法正常监听,也就不能正常提供DNS服务了。

从上图可以看出systemd-resolved服务占用了53端口,但它监听的IP地址与bind是不冲突的,所以配置bind9时是完全不用管systemd-resolved的(不用关闭它),也不用管它的配置文件/etc/resolv.conf。只要正确配置bind9的配置文件/etc/bind/named.conf.options就可以了。

二、查看服务状态、打开/关闭服务等命令使用

#启动bind9有两个:
/etc/init.d/bind9 restart
/usr/sbin/named
systemctl start bind9
 
#查看bind9启动状态,如果没有正常启动,它会显示错误在哪里,比如配置信息哪里错了
systemctl status bind9
 
#配置开机自启动或关闭自启动
systemctl enable bind9
systemctl disable bind9
 
#查看bind服务器状态
sudo rndc status
 
#重启网络服务
sudo service network-manager restart
sudo systemctl restart networking.service
 
#查看ubuntu自带的resolve状态
systemd-resolve --status
 
#重启ubuntu自带resolve
systemctl restart systemd-resolved

到此这篇关于Ubuntu搭建DNS服务器的文章就介绍到这了,更多相关Ubuntu搭建DNS服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
Windows和Linux上部署Golang并运行程序
Apr 22 Servers
Windows Server 2008 修改远程登录端口以及配置防火墙
Apr 28 Servers
利用nginx搭建RTMP视频点播、直播、HLS服务器
May 25 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
Ubuntu安装Mysql+启用远程连接的完整过程
Jun 21 Servers
Nginx报404错误的详细解决方法
Jul 23 Servers
Nginx如何限制IP访问只允许特定域名访问
Jul 23 Servers
Nginx如何配置根据路径转发详解
Jul 23 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Apache SkyWalking 监控 MySQL Server 实战解析
Sep 23 #Servers
服务器nginx权限被拒绝解决案例
Sep 23 #Servers
Fluentd搭建日志收集服务
Sep 23 #Servers
Flink 侧流输出源码示例解析
Sep 23 #Servers
修改Nginx配置返回指定content-type的方法
Sep 23 #Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 #Servers
You might like
PHP父类调用子类方法的代码例子
2014/04/09 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
python类装饰器用法实例
2015/06/04 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
委托证明的格式
2014/01/10 职场文书
2014年营业员工作总结
2014/11/18 职场文书
如何撰写促销方案?
2019/07/05 职场文书
PHP 时间处理类Carbon
2022/05/20 PHP