Ubuntu Server 安装配置 bind9

Ubuntu Server 安装配置 bind9,第1张

域名服务(DNS)是一种Internet服务,可将IP地址和标准域名(FQDN)相互映射。这样,DNS减轻了记住IP地址的需要。运行DNS的计算机称为名称服务器。Ubuntu附带了BIND (Berkley Internet Naming Daemon),BIND是用于在Linux上维护名称服务器的最常用程序。

在终端提示符下,输入以下命令安装 dns:

dnsutils 软件包是测试和解决 DNS 问题非常有用的。 这些工具通常已经安装,但是要检查或安装 dnsutils,请输入以下内容:

有许多方法可以配置BIND9。一些最常见的配置是缓存名称服务器,主服务器和辅助服务器。

DNS配置文件简激桐存储在 /etc/bind 目录中。主要配置文件是 /etc/bind/named.conf ,在软件包提供的布局中仅包括这些文件。

可以将同一服务器配置为缓存名称服务器,主要和辅助名称服务器:这都取决于它所服务的区域。服务器可以是一个区域的授权开始(SOA),同时为另一区域提供辅助服务。同时为本地LAN上的主机提供缓存服务。

默认配置充当缓存服铅兆务器。只需取消注释并编辑 /etc/bind/named.conf.options 即可设置ISP的DNS服务器的IP地址:

要启用新配置,请重新启动DNS服务器。在终端提示下:

在本节中,将BIND9配置为域的主服务器 example.com 。只需 example.com 用您的FQDN(完全合格的域名)替换即可。

要将DNS区域添加到BIND9,将BIND9变成主服务器,请首先编辑 /etc/bind/named.conf.local :

现在,使用现有的区域文件作为模板来创建 /etc/bind/db.example.com 文件:

编辑新的区域文件, /etc/bind/db.example.com 然后更改 localhost.为服务器的FQDN,.在末尾保留其他文件。更改 127.0.0.1 为名称服务器的IP地址和 root.localhost 有效的电子邮件地址,但用 . 代替通常的 @ 符号,并再次.在末尾保留。更改注释以指示此文件所针对的域。

为基本域创建 A 记录 example.com 。此外,创建一个 A 记录的 ns.example.com ,在这个例子中,域名服务器:

每次更改区域文件时,都必须增加序列号(Serial)。如果在重新启动BIND9之前进行了多次更拦坦改,只需增加一次串行。

现在,您可以将DNS记录添加到区域文件的底部。有关详细信息,请 参阅公共记录类型 。

对区域文件进行了更改之后,需要重新启动BIND9以使更改生效

现在已经设置了区域并将名称解析为IP地址,现在需要添加反向区域以允许DNS将地址解析为名称。

编辑 /etc/bind/named.conf.local 并添加以下内容:

现在创建 /etc/bind/db.192 文件:

接下来编辑 /etc/bind/db.192 ,更改与 /etc/bind/db.example.com 相同的选项:

每次更改时,“反向”区域中的序列号也需要增加。 对于您在 /etc/bind/db.example.com 中配置的每个A记录(即针对另一个地址),您需要在 /etc/bind/db.192 中创建一个PTR记录。

创建反向区域文件后,重新启动BIND9

一旦配置了主服务器,强烈建议使用辅助服务器,以在主服务器不可用时维持域的可用性。

首先,在主服务器上,需要允许区域传输。将 allow-transfer 选项添加到示例正向和反向区域定义中 /etc/bind/named.conf.local :

在主服务器上重新启动BIND9:

接下来,在辅助服务器上,以与主服务器相同的方式安装bind9软件包。然后编辑, /etc/bind/named.conf.local 并为正向和反向区域添加以下声明:

在辅助服务器上重新启动BIND9:

在其中, /var/log/syslog 您应该看到类似以下内容的内容(为了适应本文档的格式,对某些行进行了拆分):

测试BIND9的第一步是将名称服务器的IP地址添加到主机解析器。应该配置主要名称服务器以及另一个主机,以仔细检查。有关将名称服务器地址添加到网络客户端的详细信息,请参阅DNS客户端配置。最后,您的 nameserver 一行 /etc/resolv.conf 应指向, 127.0.0.53 并且您应该 search 为您的域指定一个参数。像这样:

要检查您的本地解析器正在使用哪个DNS服务器,请运行:

如果安装了dnsutils软件包,则可以使用DNS查找实用程序dig测试设置:

安装完BIND9之后,请对环回接口使用dig来确保它正在侦听端口53。从终端提示符下:

您应该在命令输出中看到类似于以下内容的行:

如果您已将BIND9配置为缓存名称服务器,则“挖掘”外部域以检查查询时间:

注意查询时间接近命令输出的末尾:

经过第二次挖掘后,应该有所改进:

现在演示应用程序如何使用DNS解析主机名,使用ping实用程序发送ICMP回显请求:

这测试名称服务器是否可以将名称解析为 ns.example.com IP 地址。 命令输出应类似于:

测试区域文件的一种好方法是使用 named-checkzone 与bind9软件包一起安装的实用程序。使用此实用程序,可以在重新启动BIND9并使更改生效之前确保配置正确。

要测试我们的示例正向区域文件,请从命令提示符处输入以下内容:

如果一切配置正确,您应该会看到类似以下的输出:

同样,要测试反向区域文件,请输入以下内容:

输出应类似于:

BIND9有多种可用的日志记录配置选项,但是两个主要的选项是 channel 和 category ,它们分别配置日志的去向和要记录的信息。

如果未配置任何日志记录选项,则默认配置为:

让我们将BIND9配置为将与DNS查询相关的调试消息发送到单独的文件。

我们需要配置一个通道以指定要将消息发送到的文件,以及一个category。在此示例中,类别将记录所有查询。编辑 /etc/bind/named.conf.local 并添加以下内容:

由于命名守护程序以绑定用户身份运行,因此 /var/log/named 必须创建目录并更改所有权:

现在重新启动BIND9,以使更改生效:

您应该看到文件中 /var/log/named/query.log 填充了查询信息。这是BIND9日志记录选项的简单示例。

上一章: 运维部署自动化实践(一)利用PXE远程自动化安装Ubuntu16.04 server

在上文中,尝试利用Kickstart工具实现PXE远程安装的自动化,但是安装斗灶过程中出现了一个分区报错需要人工确认,导致自动化过程中断。查阅了一些技术博客和官方文档,发现Kickstart主要用于Redhat系的linux系统安装,而对于Debian系的支持可能不太好。Debian系Linux采用了特有的debian-installer作为系统安装工具,而运维人员可以通过一个 preseed.cfg 配置文件,写入安装各个阶段需要的参数或指令,这样就可以避免安装过程中的人机交互,实现无人值守的自动化安装。

事实上上一文的过程也利用了preseed配置文件(在上文中ubuntu-server.seed文件),只不过大部分安装指令都写在了kickstart配置里。本文在没有kickstart工具的情况下,完全采用preseed配置实现ubuntu系统安装。

这一步可以直接复制上一章的 *** 作,本文尝试用dnsmasq来代替isc-dhcp-server和tftpd-hpa,提供集成的dhcp和tftp服务

安装dnsmasq

sudo apt-get install dnsmasq

编辑/etc/dnsmasq.conf,将以下的配置配置激活(去掉注释)

创建tftp目录

sudo mkdir /var/ftpd

启动dnsmasq

sudo service dnsmasq start

注意该步骤配置文件中没有让运再指定ks.cfg,后面的安装过程完全通过preseed.cfg控制

Dell服务器进入PXE模式,安装过程无需再人工介入。

下一步继续坦销梁实践在Preseed里添加后处理,执行自动安装软件和配置系统环境。

因为项目需要(实际是没有人手。。。),需要搞开发的我自己来搭建服务器集群环境,并完成软件服务的自动化部署。本文及后续文章,记录运维部署自动化实践中的每一步工作,便于以后追踪参考。

本文先完成第一步工作:远程自动化安装Linux系统

技术方案选择:PXE+dhcp+tftp+kickstart 安装ubuntu16.04 server

宿主机:ubuntu16.04 desktop

目标服务器:(1)Dell Poweredge R540

(2)VMware虚拟机

安装镜像: ubuntu-16.04.5-server-amd64.iso

安装isc-dhcp-server

sudo apt-get install isc-dhcp-server

修改/etc/default/isc-dhcp-server

修改/etc/dhcp/dhcpd.conf,添加如下配置:

运行dhcp服务

sudo service isc-dhcp-server start

安装tftpd-hpa

sudo apt-get install tftpd-hpa

修改/etc/default/tftpd-hpa

创建tftp目录

sudo mkdir /var/lib/tftpboot

sudo chmod 777 /var/lib/tftpboot

运行tftp

sudo service tftp-hpa start

安装apache2

sudo apt-get install apache2

apache 默认的根目录是/var/www/html ,使用默认配置启动apache

sudo service apache2 start

通过浏览器访问http://192.168.1.110 测试http服务已开启茄局

从修改内容孙唤看出,主要是为了添加pxe服务器的地址,以便目标机能够找到对应的ks.cfg以及seed文件。

将ks.cfg文件拷贝至http根目录

sudo cp ks.cfg /var/www/html/

Dell服务器与虚拟机均可自动开启安装过程,虚拟机全程无干扰安装完毕。

Dell服务器安装过程中报错:

the partition table format in use on your disks normally requires you to create a separate partition for boot loader code. this partition should de marked for use as a "reserved bios boot area" and should de at least 1 mb in size. note that this is not same as a partition mounted in /boot.

if you do not go back to the partitioning menu and correct,boot loader installation may fail later,although it may still be possible to install the loader to a partition.

在这一步卡住后安装程序无法自动执行,我手工点击忽略后系统也能够继续安装完毕。

网上各种搜,看到一些评论说debian系的linux不建议用kickstart安装,建议直接使用preseed配置来安装,接下来研究下看看能不则纳凯能解决问题。

问题链接: https://serverfault.com/questions/658070/kickstarting-ubuntu-14-04-how-do-i-create-an-efi-boot-partition-from-my-ks-cf

下一章: 运维部署自动化实践(二)PXE+Preseed自动安装Ubuntu16.04 server


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12527684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存