centos7安装bind9.12
admin
2023-03-12 22:01:20
0

参考文献1:https://blog.51cto.com/sw5720/1611777
参考文献2:https://blog.csdn.net/orapeasant/article/details/1801395
参考文献3:http://www.linuxfromscratch.org/blfs/view/stable/server/bind.html
1、下载最新bind软件,此次使用bind-9.12.1.tar.gz
官方网站https://www.isc.org/downloads/
2、解压至/root下
tar -zxvf bind-9.10.1-P1.tar.gz
3、进入解压后的文件夹
cd bind-9.10.1-P1
4、安装必备的openssl等插件
yum install gcc gcc-c++ openssl openssl-dev*
5、设置安装路径等参数、编译、安装

  • 下面命令参数为:指定路径 多线程功能 大文件支持 DNSSEC支持
    设置安装路径为/usr/local/named,多线程,大文件支持,DNSSEC支持
    #./configure --prefix=/usr/local/named --enable-threads --enable-largefile --with-tuning=large --with-openssl
  • 创建服务专用账户named,禁止本地登陆
    #useradd -d /usr/local/named -s /sbin/nologin named
  • 编译
    #make
  • 安装
    #make install
  • 进入安装后的配置文件夹
    #cd /usr/local/named/etc
  • 生成rndc.conf文件
    #/usr/local/named/sbin/rndc-confgen > rndc.conf
  • 将rndc.conf内容导入named.conf
    #tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf
  • 编辑主配置文件
    #vim named.conf
    options {
    listen-on port 53 { 127.0.0.1; };
    directory "/usr/local/named/var"; //域名文件存放的绝对路径
    pid-file "named.pid";
    recursion yes;
    allow-query { any; };
    recursive-clients 30000;
    query-source ...; //如果查不到要解析地址,将会查询其它域名服务器
    notify-source ...; //使用本地的源地址和可选的UDP端口,用于发送NOTIFY消息
    };
    logging {
    channel query_log { //查询日志
    file "/var/log/named/query.log" versions 20 size 300m;
    severity info;
    print-time yes;
    print-category yes;
    };
    channel error_log { //报错日志
    file "/var/log/named/error.log" versions 3 size 10m;
    severity info;
    print-time yes;
    print-severity yes;
    print-category yes;
    };
    category queries { query_log; };
    category default { error_log; };
    };
    zone "." IN {
    type hint;
    file "named.root"; //存放在//usr/local/named/var目录
    };
    zone "localhost" IN {
    type master;
    file "localhost.zone";
    allow-update { none; };
    };
    zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "named.local";
    allow-update { none; };
    };
  • 生成根服务器文件
    #cd /usr/local/named/var
    #dig @a.root-servers.net . ns > named.root
  • 创建本地域文件
    #vim localhost.zone
    $TTL 86400
    $ORIGIN localhost.
    @ 1D IN SOA @ root (
    42 ; serial (d. adams)
    3H ; refresh
    15M ; retry
    1W ; expiry
    1D ) ; minimum
    1D IN NS @
    1D IN A 127.0.0.1
    #vim named.local
    $TTL 86400
    @ IN SOA localhost. root.localhost. (
    1997022700 ; Serial
    28800 ; Refresh
    14400 ; Retry
    3600000 ; Expire
    86400 ) ; Minimum
    IN NS localhost.
    1 IN PTR localhost.
  • 创建服务起停脚本
    #vi /etc/rc.d/init.d/named //服务启停脚本
    #!/bin/bash

    named a network name service.

                # chkconfig: 345 35 75
                # description: a name server
                if [ `id -u` -ne 0 ]
                then
                echo -e "\e[31mERROR:For bind to port 53,must run as root.\e[0m"
                exit 1
                fi
                case "$1" in
                start)
                if [ -x /usr/local/named/sbin/named ]; then
                /usr/local/named/sbin/named -c /usr/local/named/etc/named.conf -u named && echo . && echo -e 'BIND9 server \e[32mstarted\e[0m'
                fi
                ;;
                stop)
                kill `cat /usr/local/named/var/named.pid` && echo . && echo -e 'BIND9 server \e[33mstopped\e[0m'
                ;;
                restart)
                echo .
                echo "Restart BIND9 server"
                $0 stop
                sleep 1
                echo -n "." && sleep 2 && echo -n "." && sleep 2 && echo -n "." && sleep 2
                $0 start
                ;;
                reload)
                /usr/local/named/sbin/rndc reload
                ;;
                status)
                /usr/local/named/sbin/rndc status
                ;;
                *)
                echo "$0 start | stop | restart |reload |status"
                ;;
                esac
  • 更改脚本文件权限
    #chmod 755 /etc/rc.d/init.d/named
  • 添加至服务控制
    #chkconfig --add named
  • 为named赋权限
    #chown -R named.named /usr/local/named/
  • 创建软连接
    #ln -s /usr/local/named/sbin/named /sbin
  • 创建日志文件夹
    #mkdir /var/log/named/
  • 日志文件夹权限修改
    #chown -R named.named /var/log/named/
  • 调试模式测试是否正常启动
    #named -g //调试模式启动
  • 设置开机服务自启动
    #chkconfig named on && service named start

  • 排错,参考http://bbs.chinaunix.net/thread-4187966-1-1.html
    启动异常时查看日志
    named -g
    tail -n 30 /var/log/messages

相关内容

热门资讯

浏阳烟花厂爆炸事故4名重症患者... 截至今天(9日)上午11时,浏阳烟花厂爆炸事故在院患者42人,原5名重症患者中4人已转为轻症;在院患...
中东战火不断,为何全球股市不跌... 最近与一位美国学者交流,他讲到一个颇有意味的场景:在华尔街一场交流中,包括他在内的3位国际问题研究专...
景区回应“母亲节穿旗袍免费入园... 近日,南京天生桥景区推出的母亲节当天女士穿旗袍免费入园活动引发争议,有人认为母亲节女士穿旗袍活动,策...
一本正经胡说八道,谁为AI幻觉... AI幻觉频发,误导用户、毁损名誉的责任,该由谁来承担?南京律师李小亮在百度上搜索自己的信息,结果百度...
老人在直播间疯狂刷火箭 周佳欣、郑凯丹、朱娅、蒋婉、黄铃、王佳、李婉晴/文64岁的王雅达又往直播间里刷了一枚“火箭”。屏幕上...
汉坦病毒阳性乘客在乌斯怀亚港登... 自世卫组织(WHO)5月6日公布荷兰泛海探险公司(Oceanwide Expeditions)旗下极...
冰箱不制冷的原因有哪几种 冰箱的电压在正常的情况下,压缩机没有正常的运转,而且有噪声和旋转的声音,压缩机一旦出现故障,冰箱就会...
电视有哪几种方法 电视是我们生活中非常重要的一种媒介,它可以为我们带来大量的信息、乐趣和娱乐。在现代社会中,电视的使用...
装修风格有哪几种(今年流行的装... 摘要:装修的方式有很多种,下面这些就是我们在装修中常用的一种。①现代风,也叫功能派风,这个装修风格的...
大红鹰瓷砖哪里生产的 最佳回答 大红鹰瓷砖是广东佛山非常有名的一个瓷砖老品牌,据说这个品牌的瓷砖是在1974年成立的,老一...