教你使用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 设置多个站跨域
Mar 09 Servers
zabbix自定义监控nginx状态实现过程
Nov 01 Servers
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
Nov 17 Servers
nginx内存池源码解析
Nov 20 Servers
详解nginx location指令
Jan 18 Servers
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
Apr 29 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
Windows Server 2022 超融合部署(图文教程)
Jun 25 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Jun 25 Servers
解决Git推送错误non-fast-forward的方法
Jun 25 Servers
Docker安装MySql8并远程访问的实现
Jul 07 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 allow_url_include的应用和解释
2010/04/22 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
Python将主机名转换为IP地址的方法
2019/08/14 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
如何用canvas实现在线签名的示例代码
2018/07/10 HTML / CSS
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
应届生如何写自荐信
2014/01/05 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python