DNS-bind9.9源码安装配置

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

DNS-bind9.9源码安装配置 

看到另外的一个文档,配置dns,他还包括启动脚本,我感觉他把所有的东西都放在named目录下,我觉得这个不错。

下面的配置过程,我已经反复了2次,不到10分钟,从解压到完成。下面的配置文件,直接复制就可以了,如果你的ip和我不一样,那么你就要修改一下。

一:网络环境

bind9.9

主机名(hostname):centos

ip:192.168.1.11

dns:192.168.1.1(配置完后,需要修改,指向192.168.1.168,修改/etc/resolv.conf),

要达到的目的:把这台主机配置成一台dns服务器

dns server:ns1.test.com

ip:192.168.1.168

www.test.com 192.168.1.168


二:安装过程

安装的目录是/usr/local/named, 所有的域名的文件都是放在 /usr/local/named/var下,这个路径需要注意,很多文章是在/var/named这个目录下,不过我觉得把所有的文件放在named的目录下,会更好。

 

./configure --prefix=/usr/local/named --enable-threads --enable-largefile --disable-ipv6 && make && make install

参数说明:

引用:

--prefix=/usr/local/named 指定程序安装目录

--enable-threads 多线程支持

--enable-largefile 启用大文件支持

--disable-ipv6  关闭ipv6支持


groupadd bind

useradd -g bind -d /usr/local/named -s /sbin/nologin bind

cd /usr/local/named/etc

/usr/local/named/sbin/rndc-confgen > rndc.conf

cat rndc.conf > rndc.key

chmod 777 /usr/local/named/var

tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf


vi named.conf

添加下面内容(

#################

options {

directory "/usr/local/named/var";          //域名文件存放的绝对路径

pid-file "named.pid";              //如果bind启动,自动会在/usr/local/named/var目录生成一个named.pid文件,打开文件就是named进程的ID

};

zone "." IN {

        type hint;          //根域名服务器

        file "named.root"; //存放在//usr/local/named/var目录,文件名为named.root

};

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; };

};

zone "test.com" IN {      //建立test.com域

        type master;     

        file "test.zone";    //test.com域映射IP地址可在此文件编写

        allow-update { none; };

};


zone "1.168.192.in-addr.arpa" in {   //反向解析

        type master;  

        file "test.local";              //存放反向解析的文件

        allow-update { none; };

};

########################

cd /usr/local/named/var

1:named.root

dig @a.root-servers.net . ns > named.root

2: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

#############

3: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.

####################


4:test.zone

############

$TTL 86400      ; 1 day

@               IN      SOA     ns1.test.com.      root.test.com. (

                                2008050122 ; serial

                                28800      ; refresh (8 hours)

                                7200       ; retry (2 hours)

                                604800     ; expire (1 week)

                                86400      ; minimum (1 day)

                                )

                        NS      ns1.test.com.

                        A       192.168.1.168

                        MX      10 mail.test.com.

www                     A       192.168.1.168

mail        A      192.168.1.168

ns1        A      192.168.1.168

#########################

5:test.local

#############

$TTL 86400

@ IN SOA ns1.test.com. root.test.com.(

20031001;

7200;

3600;

43200;

86400);

@ IN NS ns1.test.com.

168 IN PTR ns1.test.com.

##############

三:启动脚本

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 "ERROR:For bind to port 53,must run as root."

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 bind && echo . && echo 'BIND9 server started'

fi

;;

stop)

kill `cat /usr/local/named/var/named.pid` && echo . && echo 'BIND9 server stopped'

;;

restart)

echo .

echo "Restart BIND9 server"

$0 stop

sleep 10

$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

service named start


四:启动测试

/usr/local/named/sbin/named -g

你可以看到启动的过程,如果你的配置文件有错误,所以你可以根据这个排错


启动服务测试一下

/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf -u bind &


查看状态

/usr/local/named/sbin/rndc status

启动服务

service named restart

编辑/etc/resolv.conf

修改这个文件,把本机的dns指向本机168

nslookup就可以测试了。



本文转自 xxl714 51CTO博客,原文链接:http://blog.51cto.com/dreamgirl1314/1579998,如需转载请自行联系原作者

相关文章
|
9天前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
20 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
11天前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
109 1
|
15天前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
5天前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
15 0
|
9天前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
19 0
|
9天前
|
机器学习/深度学习 编解码
mmseg配置解析 contract_dilation=True
`contract_dilation=True` 是 ResNetV1c 中的一种设置,用于解决多层膨胀卷积中的“栅格效应”。通过调整膨胀率,使卷积核在不同阶段更密集地覆盖输入特征图,避免信息丢失,提升特征提取质量,尤其在语义分割任务中效果显著。
22 0
|
10天前
|
XML Java 数据格式
手动开发-简单的Spring基于注解配置的程序--源码解析
手动开发-简单的Spring基于注解配置的程序--源码解析
24 0
|
10天前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
35 0
|
2月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
64 1
|
2月前
|
Java 微服务 Spring
Spring Cloud全解析:配置中心之解决configserver单点问题
但是如果该configserver挂掉了,那就无法获取最新的配置了,微服务就出现了configserver的单点问题,那么如何避免configserver单点呢?

相关产品

  • 云解析DNS
  • 推荐镜像

    更多