ubuntu server10.4下的主从DNS服务配置

简介:
前言:这几天在ubuntu server 10.4下配置主从DNS服务时,总是不成功,今天终于把这个困扰我快一个星期的问题解决了,很是高兴,记录下来,以备后用。
实验环境:
(1)ubserver5配置为主DNS服务器,IP:192.168.3.50
(2)ubserver4配置为从DNS服务器,IP:192.168.3.40
(3)软件包:bind9
操作:
1,在ubserver5,ubserver4上分别安装bind9
#sudo apt-get install bind9
2,主DNS服务器ubserver5配置
#cd /etc/bind
#sudo vim named.conf.default-zones
dns6
#sudo vim db.ublab.org
dns8
#sudo vim db.3.ublab.org
dns9
3,从DNS服务器ubserver4配置
#cd /etc/bind
#sudo vim named.conf.default-zones
dns7
在从DNS服务器ubserver4上db.ublab.org及db.3.ublab.org不需要手动建立,它会从主DNS服务ubserver5上复制过来,如果没有复制成功,说明配置主从DNS失败。
重启bind9
#sudo /etc/init.d/bind9 restart
查看/var/log/syslog日志文件,检查主从DNS是否配置成功,
dns1
没想到出现了图中画红线的错误,也就是这个错误一直困扰我快一个星期,一有空我就上网搜,看书找,把/etc/bind权限改成777,把它的拥有者改成bind;把/var/cache/bind也改成了777,拥有者改成bind,问题依就,还是同样的错误。
4,问题解决
(1)第一种解决方法:
今天又在网上找,柳暗花明找到了这个贴子 http://www.bergek.com/2008/09/14/file-permission-error-with-bind/内容如下:
dns3
把从DNS服务器ubserver4的named.conf.default-zones配置成如下内容:
dns10
问题解决了。为什么这样改,请看第二种方法。
查看/var/cache/bind下是否把配置文件复制过来了。
(2)apparmor是什么,他是干吗的?请看 http://en.wikipedia.org/wiki/Apparmor
dns5
于是修改/etc/apparmor.d/usr.sbin.named文件
#sudo vim /etc/apparmor.d/usr.sbin.named
添加如下内容
dns4
在此就能看到默认情况下,/etc/bind只能读,而/var/cache/bind为可读可写,所以用第一种方法时,就可以成功,这是我的理解。把/etc/bind/slaves改成可读可写,并给bind用户写的权限就可以了。
查看/var/log/syslog日志文件,检查主从DNS是否配置成功
dns2
可见,是可以了。
这篇 http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=3089&view=previous贴子写的很好,可以参考,美中不足是没有指出出现错误的原因,可能环境不同,bind9的版本不同。有问题可以参考 http://www.bind9.net/BIND-FAQ

从安全角度考虑应该把DNS配置到chroot环境,引用https://help.ubuntu.com/community/BIND9ServerHowto的一段:
Chrooting BIND9 is a recommended setup from a security perspective if you don't have AppArmor installed. In a chroot enviroment, BIND9 has access to all the files and hardware devices it needs, but is unable to access anything it should not need. AppArmor is installed by default on recent Ubuntu releases. Unless you've explicitly disabled AppArmor, you might want to read  this before you decide to attempt a chrooted bind. If you still want to go forward with it, you'll need  this information, which isn't covered in the instructions that follow here. 


本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/357139
相关文章
|
10月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
530 18
|
10月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
903 17
|
10月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1844 1
|
10月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
1146 7
|
10月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1664 6
|
11月前
|
缓存 监控 Ubuntu
在Ubuntu 16.04上配置GitLab Runner以激活GitLab CI/CD流程
完成以上步骤后,每当代码被推送到远端仓库中相对应分支上时,GitLb CI / CD 流水线就会自动触发,并由之前注册好了 GitLb runner 的机器去完成定义好了 ` .gitlabcicd.yml ` 文件里面定义好各种任务(如编译测试部署等).
523 13
|
11月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
546 13
在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务
我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。
1073 0
|
9月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
1262 5
|
9月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
950 18

相关产品

  • 云解析DNS