本文由秀依林枫提供友情赞助,首发于烂泥行天下

要在centos配置DNS服务器,要先安装DNS软件BIND。当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod。

在此我们以通过DNS软件BIND为例,进行实验。

本次实验:OS centos6.5 64bit

安装DNS软件,使用如下命令:

yum -y install bind bind-chroot bind-utils

BIND配置文件保存在两个主要位置:

/etc/named.conf 这个是BIND服务主配置文件

/var/named/ 这个是用来存放DNS的zone文件

如果安装了bind-chroot,BIND会被封装到一个伪根目录内,原来配置文件的位置会变为:

/var/named/etc/named.conf和/var/named/var/named/

chroot是通过将相关文件封装在一个伪根目录内,来达到安全防护的目的。一旦该程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录。

bind刚刚安装完毕后,配置文件内容是空的。我们可以通过bind的帮助文档来进行配置,因为bind配置的参数比较多,强烈建议在帮助文档的基础通过bind提供的模版上进行配置。查看bind的配置,如下:

rpm –ql bind |tac

分别复制/usr/share/doc/bind-9.8.2/sample/var/和/usr/share/doc/bind-9.8.2/sample/etc/目录下的文件,到/var/named/chroot/var/和/var/named/chroot/etc/目录下,如下:

cp -rv /usr/share/doc/bind-9.8.2/sample/var/* /var/named/chroot/var/

cp -rv /usr/share/doc/bind-9.8.2/sample/etc/* /var/named/chroot/etc/

配置模版复制完毕后,我们先来修改bind的主配置文件/var/named/chroot/etc/named.conf,如下:

vi /var/named/chroot/etc/named.conf

我们会发现该配置文件中,有很多选项。在此为了实验的简单性,我们删除其他暂时不需要的,只保留bind最基本的功能。如下:

此文件我们只保留了,bind的工作目录/var/named/,然后指定bind监听的端口及IP地址。

以上我们配置了bind的配置文件,如果只是按照上边的操作,我们的dns还没有不能正常工作。因为没有创建相关的域,下面我们来创建一个主域服务器。

首先要在bind的配置文件中,添加一个主域的定义。如下:

zone "ilanni.com"{

type master;

file "ilanni.com.zone";

};

zone "ilanni.com" 定义ilanni.com域

type master;定义该域为主域服务

file "ilanni.com.zone"定义域的zone文件,该文件在/var/named/chroot/var/named/目录下。

现在我们来创建ilanni.com域的zone文件,默认情况下bind是没有生成该文件的,需要我们手工添加,但是在前边我们提到过由于bind的配置文件比较复杂,所以我们建议还是使用bind为我们提供的模版文件named.localhost。如下:

复制named.localhost文件并重命名为ilanni.com.zone,如下:

cp named.localhost ilanni.com.zone

现在开始编辑ilanni.com.zone文件,并在其中加入相关的地址解析。如下:

vi ilanni.com.zone

我们只需要在该文件的最后添加新的资源记录即可,一个资源记录一般是由四部分组成。第一部分是主机名,第二部分是类型,第三分部是分类,其中A代表IPv4地址,第四部分代表IP地址。

注意在此我们添加了三条资源记录,第一条是有关邮件的资源记录,邮件资源记录一定要写在其他资源记录的前边,并且邮件资源记录是已域名的形式出现,并且域名后边最后还有一个点。

这样我们的ilanni.com.zone文件就已经配置完毕后,下面我们在检查下/var/named/chroot/var/named目录下,所有文件的属性,一定要具有可读属性。如下:

以上全部配置完毕后,我们就可以来启动bind。使用以下命令:

/etc/init.d/named start

如果bind已经启动,我们也可以通过/etc/init.d/named reload命令重新加载配置文件。如下:

由于这台机器本身已经搭建DHCP服务器,所以我们现在来修改客户端在通过DHCP服务获取到的DNS地址,如下:

其中10.5.5.1是本机的IP地址。

现在我们来看看客户端获取到的IP地址,如下:

先使用nslookup命令进行测试,如下:

现在使用host命令测试www.ilanni.com和ftp.ilanni.com的IP地址,如下:

host www.ilanni.com

host ftp.ilanni.com

通过上图,我们可以很明显的看到目前www.ilanni.com和ftp.ilanni.com已经发解析出来,这个和我们再BIND上的配置是相同的。

现在再使用dig命令测试邮件服务器的IP地址,如下:

dig –t MX ilanni.com

通过上图,我们可以很明显的看到邮件服务器已经正确解析到10.5.5.3这台服务器上。

也可以通过dig命令测试www及ftp的解析情况,如下:

dig -t A www.ilanni.com

dig -t A ftp.ilanni.com

现在我们再通过最实际的效果来访问下10.5.5.3上已经搭建的web服务器,如下:

到此有关centos的DNS安装及简易配置已经全部结束。

烂泥:centos安装及配置DNS服务器的更多相关文章

  1. CentOS7安装和配置dns服务器

    (1)dns介绍 1.基本介绍 名字解析: NetBIOS名:localhost wins hosts FQDN:完全限定域名,www.baidu.com hosts文件: 作用:实现名字解析,主要为 ...

  2. 烂泥:CentOS安装及配置TFTP服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口 ...

  3. 烂泥:centos安装及配置DHCP服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...

  4. Ubuntu/CentOS使用BIND配置DNS服务器

    ------ubuntu server 12---------- 1.安装bind9 sudo apt-get -y install bind9 bind9utils 2.配置  /etc/bind/ ...

  5. 怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器

    在 CentOS 上,可以通过 mailx 命令 或 sendmail 命令来给因特网发送电子邮件. 关于前者的文章比较多,关于后者的文章比较少. 这里记录了我在 CentOS 7 上安装和配置 se ...

  6. 烂泥:dnsmasq搭建简易DNS服务器

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 今天我们来介绍一个比较简单的DNS服务器dnsmasq.这款软件,已经被我成功使用到公 ...

  7. 在Debian上用Bind 配置DNS服务器

    1 什么是DNS 初学者可能不理解DNS到底是什么,干什么用.我是在1998年大学毕业时才听说这个词的.那时我在聊天室碰到潍坊信息港的一个网管,我恬不知耻地说我也是个网管,他说也维护DNS吗?我说,D ...

  8. Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析

    从Oracle 11gR2开始,引入SCAN(Single Client Access Name) IP的概念,相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCAN IP和SCAP IP  ...

  9. CentOS安装与配置LNMP

    本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...

随机推荐

  1. Github教程(1)

    Git基本命令 git diff:查看工作树,暂存区,最新提交之间的差别 举例: 在README.MD中增加一行 ## This is the subtitle 执行git diff 命令,查看当前工 ...

  2. jquery.ajax 跨域请求webapi,设置headers

    解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头.正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现. 1.第一步 服务端 ...

  3. web api返回格式小结

    web api返回格式小结: 1.默认是返回xml格式数据,如果需要返回json格式,需要在Global.asax中加入: GlobalConfiguration.Configuration.Form ...

  4. 在一个XAML中点击按钮,界面跳转到另一个XAML界面方法

    private void ButtonGo_camerapage(object sender, RoutedEventArgs e) { this.Content = new cameraPage() ...

  5. 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复

    [源码下载] 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 作者:webabcd 介绍与众不同 win ...

  6. The Towers of Hanoi Revisited---(多柱汉诺塔)

    Description You all must know the puzzle named "The Towers of Hanoi". The puzzle has three ...

  7. Python on VS Code

    install python extension Press F1, and input "ext install python". Then the icon at the le ...

  8. linux下mysql忘记root密码解决方法

    如果使用 MySQL 数据库忘记了root账号密码,可以通过调节配置文件,跳过密码的方式登数据库, 在数据库里面修改账号密码,一般默认的账号是 root 1.编辑 MySQL 配置文件 my.cnf ...

  9. 怎样高效地去判断Array中是否包含某个值?

    问题 怎样去判断Array(无序)中是否包含某个值呢? 这是一个在Java中经常被问到的问题.它也是Stack Overflow上投票前几的一个问题.下面将展示投票前几的几个回答,这些回答使用不同的方 ...

  10. 通过GPS数据反向地理信息编码, 得到当前位置信息

    检查可用性 这属于基础知识, 不赘述, 总的来说,你的设备的支持要打开, 添加CoreLocation的framework, 引用头文件, 添加委托,然后, 好的实践是在使用前编程检查相关可用性: - ...