• Linux下搭建DNS服务器


    一、Linux下搭建DNS服务器的简要步骤说明

    1.在bind的主配置文件中添加该域;

    2.在/var/named中创建该域的zone文件;

    3.编辑zone文件,添加必要的信息;

    4.检查防火墙或selinux设置;

    5.启动bind服务,重启网络服务;

    6.用户端测试域名解析


    二、具体搭建步骤


    1.安装DNS服务器组件

    安装bind

    yum install -y bind bind-chroot bind-utils


    2.编辑DNS主配置文件

    vi  /etc/named.conf修改主配置文件,按如下要求修改后,保存退出


    (1)将listen-on  port 53 {  127.0.0.1; };和allow-query   {  localhost; };这两行中括号内的值全部修改为any

    (2)将listen-on-v6 port 53 {  : :1;  };这行注释掉;



    3.向/etc/named.rfc1912.zones文件中添加如下内容,保存退出

    注意:域名和IP地址可根据实际情况进行修改



    4.添加设置DNS正向解析

    修改zone配置文件,正向解析:

    cd /var/named

    cp   named.localhost  szlpt.cn.zone

    vi szlpt.cn.zone(要和主配置文件[/etc/named.rfc1912.zones]里面定义的zone文件名一致)

    [root@RHEL6 named]# more szlpt.cn.zone 
    $TTL 1D
    @       IN SOA  ns.szlpt.cn. root (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @       IN NS   ns.szlpt.cn.
    @       IN MX 5 mail.slzpt.cn.
    ns      IN A    192.168.1.6
    mail    IN A    192.168.1.6
    smtp    IN A    192.168.1.6
    pop3    IN A    192.168.1.6
    pop     IN A    192.168.1.6
    5. 修改zone配置文件,反向解析

    cd /var/named/

    cp named.localhost 1.168.192.zone

    vi 1.168.192.zone(要和主配置[/etc/named.rfc1912.zones]文件里面定义的zone文件名一致)

    [root@RHEL6 named]# more 1.168.192.zone
    $TTL 1D
    @       IN SOA  ns.szlpt.cn. root (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @       IN NS   ns.slzpt.cn.
    6       IN PTR  mail.szlpt.cn.


    6.修改防火墙配置和SELINUX配置

    Getenforce(查看selinux是否开启)
    setenforce 0
    vi /etc/sysconfig/iptables #配置防火墙端口
    -AINPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
    -AINPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
    -AINPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
    service iptables restart #重启防火墙,使规则生效

    7.启动DNS服务(注意DNS服务名称在linux也叫bind)

    service named start


    8.测试检测域信息是否正常(重要)

    检查之前先看下 配置文件有没有读取权限 ll /var/named 

    (如果没有读取全线, chmod +r /var/named/*  即可)



    9.检查bind文件配置过程中容易出错

    以下命令用以检查bind配置文件及zone文件语法

    named-checkconf /etc/named.conf

    named-checkzone szlpt.cn /var/named/ szlpt.cn.zone


    如果正确的话,结果如下:

    [root@RHEL6 named]# named-checkconf /etc/named.conf
    [root@RHEL6 named]# named-checkzone szlpt.cn /var/named/szlpt.cn.zone
    zone szlpt.cn/IN: szlpt.cn/MX 'mail.slzpt.cn' (out of zone) has no addresses records (A or AAAA)
    zone szlpt.cn/IN: loaded serial 0
    OK


    10.重启DNS服务,查看服务状态

    service named restart

    service network restart



    11.用户端测试解析,通过nslookup进行测试



    12.报错问题解决


    在启动DNS时出现Generating /etc/rndc.key:卡在这里了
    [root@RedHat named]# /etc/init.d/named restart 
    Stopping named:                                            [  OK  ] 
    Generating /etc/rndc.key: 
    ^C 
    [root@redhat named]#



    解决方法:
    [root@redhat named]# rndc-confgen -r /dev/urandom -a 
    wrote key file "/etc/rndc.key"
    [root@redhat named]# /etc/init.d/named restart 
    Stopping named:                                            [  OK  ] 
    Starting named:                                            [  OK  ] 



  • 相关阅读:
    Linux bash script block comment All In One
    一道有疑问的小学二年级数学题 All In One
    2022 微软飞行模拟器 中文版 All In One
    HTML5 video controlslist All In One
    Oracle 查询出来的数据取第一条
    js 获取select的值 / js动态给select赋值 jQuery获取
    Repeater隔行变色,两个方式
    layui之动态添加下拉菜单
    myeclipse部署多个应用到不同的weblogic domain中
    .net中LAMBDA表达式常用写法
  • 原文地址:https://www.cnblogs.com/xialiaoliao0911/p/7523927.html
Copyright © 2020-2023  润新知