CentOS DNS服务器配置

### 安装 DNS 服务器配置
    yum --disablerepo=\* --enablerepo=c6-media install -y bind bind-chroot                  #安装服务
    rndc-confgen -r /dev/urandom -a                 #生成密钥
    cp /etc/named.conf /etc/named.conf.bak          #备份配置文件
    service named start                             #默认配置应该能够正常启动

### 设置开机自启
    chkconfig --level 35 named on
   
### DNS简单配置
    vi /etc/named.conf
   
    listen-on port 53   { any; };                       #修改IPV4监听地址为any,默认127.0.0.1,否则只有本机可以访问
    allow-query         { any; };                       #修改允许查询地址为any,默认localhost,否则只有本地局域网可以查询
    #o      #添加新的一行
    forwarders { 202.103.24.68; };                      #添加记录DNS转发,当不存在查询时进行转发,可添加多个
    allow-transfer  { none; };                          #添加allow-transfer 不允许来自 slave DNS 对我的整个领域数据进行传送,除非有 slave DNS 服务器
    #GG     #跳转到最后行
    include "/etc/named/host.zones";                    #添加以下内容
    :wq     #保存并退出

    touch /etc/named/host.zones                         #创建单独的PHP文件
    named-checkconf                                     #检测配置文件是否有错
   
### DNS查询记录设置
    vi /etc/named/host.zones            #编辑增加的文件
    ##添加如下内容
------------------------------
zone "localhost" IN {                   #对应的根域名,以.结束
        type master;                    #记录类型,该 zone 的类型,主要的类型有: master, slave 及 hint。 其中需要注意最上层的 DNS (.) 使用的是 hint 的类型,然后 master 主机用 master 啊! slave 主机就用 slave
        file "named.localhost";         #使用chroot后该文件存在于/var/named/named.localhost
        allow-update { none; };         #动态更新设置,不设置
};
------------------------------
    named-checkconf
    #应该会提示/etc/named/host.zones:1: zone 'localhost': already exists previous definition: /etc/named.rfc1912.zones:19
    #原因在于这个记录已经被默认包含了
   
    ##重新修改配置文件
    vi /etc/named/host.zones            #编辑增加的文件
    :%s/localhost/test.com/             #替换所有localhost为test.com
    :wq             #保存配置文件
    cd /var/named/chroot/var/named      #进入记录存放目录 没有安装chroot为 /var/named/
    cp cp named.empty named.test.com    #创建的对应记录文件名为named.test.com
   
    ##修改默认文件
    vi named.test.com                   #编辑test.com的配置文件
    #记录说明 A表示IPV4的记录地址 AAAA表示IPV6的记录的地址
    #可修改为如下配置
-------------------------------------------------------------------
$TTL 3H
@       IN SOA  @ rname.invalid. (  ;#此处对应的@和rname.invalid可以不修改
            0       ; serial
            1D      ; refresh
            1H      ; retry
            1W      ; expire
            3H )    ; minimum
        NS      @
        A       192.168.179.1       ;#A记录
        MX  10  mail                ;#@test.com邮箱域的邮件服务器,mail表示mail.test.com,优先级10
        MX  20  mail1               ;#@test.com邮箱域的第二个服务器,优先级20
        MX  30  mail2               ;#@test.com邮箱域的第三个服务器,优先级30,此处mail2为CNAME记录,此处会产生一个测试警告,无影响
www     CNAME   @                   ;#CNAME记录对应主记录
mail1   CNAME   @                   ;#CNAME记录
mail    A       192.168.179.3       ;#A记录
mail2   A       192.168.179.2       ;#A记录
mail    MX  10  @                   ;#@mail.test.com邮箱域的服务器地址,此时只有一个记录
-------------------------------------------------------------------
    ##以root账号创建的文件named没法执行,可以对比其他文件
    #ls -l /var/named/              #默认文件的用户组为named,拥有者为root,因此需要修改文件的权限
    chgrp named named.test.com      #之后ls -l named.test.com进行确认
    named-checkzone test.com named.test.com     #对named.test.com文件进行测试,出现OK表示配置无问题
    ##重新加载文件或重启服务
    service named reload            #重新加载,如果无效尝试重启服务restart可能会发现错误

### 防火墙配置
    iptables -I INPUT -p tcp --dport 53 -j ACCEPT
    iptables -I INPUT -p udp --dport 53 -j ACCEPT
    service iptables save

4条评论在“CentOS DNS服务器配置”

  1. 你要为自己有这样一颗心而骄傲。它曾被戏弄,曾经燃烧,曾被打碎,却还在努力工作。

写下你最简单的想法