DNS的服务器的编译安装,及缓存名称服务器配置

  DNS的服务器的编译安装,及缓存名称服务器配置

###################################废话不多说直接上货#############################################

###########这里我编译安装的版本是bind-9.10

实验前准备:

[[email protected] local]# yum groupinstall "server platform development"
[[email protected] ~]# yum groupinstall "development tools" -y
[[email protected] local]# groupadd -r -g 53 named
[[email protected] local]# useradd -r -g 53 -u 53 named
[[email protected] local]# id named
uid=53(named) gid=53(named) groups=53(named)
[[email protected] src]# tar -xf bind-9.10.1-P1.tar.gz -C /usr/local/
[[email protected] bind-9.10.1-P1]# ./configure  --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --disable-chroot --enable-threads --disable-ipv6
[[email protected] bind-9.10.1-P1]#make && make install
[[email protected] init.d]# vim /etc/profile.d/named.sh     ############添加环境变量
 1 PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH
[[email protected] init.d]# . /etc/profile.d/named.sh

注意:到此为止我们编译的named全部处理完毕但是,此时的named是没有配置文件的,根域的解析文件也没有。

###################################提供man文件##############################################

1,一次性查看man文件的方式
[[email protected] man]# man -M /usr/local/bind9/share/man/ named
2,通过添加man文件的方式
[[email protected] man1]# cp * /usr/share/man/man1/
[[email protected] man3]# cp * /usr/share/man/man3/
[[email protected] man5]# cp * /usr/share/man/man5/
[[email protected] man8]# cp * /usr/share/man/man8/
3,通过指明man的文件变量的方式
43 MANPATH /usr/man
 44 MANPATH /usr/share/man
 45 MANPATH /usr/local/man
 46 MANPATH /usr/local/share/man
 47 MANPATH /usr/X11R6/man
 48 MANPATH /usr/local/bind9/share/man    ###添加路径,但是不会立即生效
[[email protected] man1]# mkdir /var/named/                    #########创建跟区域解析库目录
[[email protected] ~]# dig -t NS . @172.16.0.1 > /var/named/named.ca   ###生成根域解析文件
[[email protected] ~]# ls /var/named/
named.ca
[[email protected] ~]# cd /var/named/
[[email protected] named]# ls
named.ca
[[email protected] named]# cat named.ca
 
; <<>> DiG 9.10.1-P1 <<>> -t NS . @172.16.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49896
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.                                IN        NS
;; ANSWER SECTION:
.                        473316        IN        NS        i.root-servers.net.
.                        473316        IN        NS        h.root-servers.net.
.                        473316        IN        NS        j.root-servers.net.
.                        473316        IN        NS        l.root-servers.net.
.                        473316        IN        NS        m.root-servers.net.
.                        473316        IN        NS        e.root-servers.net.
.                        473316        IN        NS        b.root-servers.net.
.                        473316        IN        NS        k.root-servers.net.
.                        473316        IN        NS        a.root-servers.net.
.                        473316        IN        NS        g.root-servers.net.
.                        473316        IN        NS        d.root-servers.net.
.                        473316        IN        NS        f.root-servers.net.
.                        473316        IN        NS        c.root-servers.net.
 
;; Query time: 2 msec
;; SERVER: 172.16.0.1#53(172.16.0.1)
;; WHEN: Wed Feb 11 03:57:36 CST 2015
;; MSG SIZE  rcvd: 239

#########################################生成本地解析文件#######################################

########################################生成缓存名称服务器######################################

[[email protected] named]# vim /var/named/named.localhost   ###正向解析文件
  1 $TTL 1D
  2 @           IN SOA  @  rname.invalid. (
  3                                         0;
  4                                         1D;
  5                                         1H;
  6                                         1W;
  7                                         3H);
  8             NS      @
  9             A       127.0.0.1
 
[[email protected] named]# vim /var/named/named.loopback   ###反向解析文件
  1 $TTL 1D
  2 @   IN SOA   @  rname.invalid. (
  3                             0;
  4                             1D;
  5                             1H;
  6                             1W;
  7                             3H);
  8         NS    localhost.
  9 1       PTR   localhost.
[[email protected] named]# chmod 640  *              ######修改权限       
[[email protected] named]# chown .named *         ######注意这几个文件要求其他用户无权限访问,数组必须为named. 
[[email protected] named]# ll
total 12
-rw-r-----. 1 root named 934 Feb 11 03:57 named.ca
-rw-r-----. 1 root named 144 Feb 11 04:02 named.localhost
-rw-r-----. 1 root named 127 Feb 11 04:52 named.loopback

##############################################生成配置文件###########################################

[[email protected] named]# rndc-confgen -r /dev/urandom > /etc/named/rndc.conf ##生成配置文件秘钥
[[email protected] named]# vim named.conf
[[email protected] run]# vim /etc/named/named.conf
  1 options {
  2     directory "/var/named/";                  #########指定工作目录
  3
  4 };
  5 zone "." IN {                                              #########根域解析
  6     type hint;
  7     file "named.ca";
  8 };
  9 zone "localhost" IN {
 10     type master;
 11     file "name.localhost";
 12     allow-update {none;};
 13 };
 14 zone "0.0.127.in-addr.arpa" IN {
 15     type master;
 16     file "named.loopback";
 17     allow-update {none;};
 18 };
 19 key "rndc-key" {
 20     algorithm hmac-md5;
 21     secret "Ex9+5nYWlJ/y9xcAXzTxEg==";
 22 };
 23
 24 controls {
 25         inet 127.0.0.1 port 953
 26         allow { 127.0.0.1; } keys { "rndc-key"; };
 27 };
 28 # End of named.conf

####################################检查这两个区域解析是否正常 #######################################

[[email protected] named]# named-checkzone "localhost" /var/named/named.localhost
zone localhost/IN: loaded serial 0
OK
[[email protected] man8]# named-checkzone "0.0.127.in-addr.arpa" /var/named/named.loopback
zone 0.0.127.in-addr.arpa/IN: loaded serial 0
OK

######################################以上就是生成了一个缓存缓存名称服务器了#########################

[[email protected] named]# man -M /usr/local/bind9/share/man/ named  ###一次查看man的方式
[[email protected] man]# named -u named -g     ############# 前台启动
[[email protected] named]# ss -tnlp | grep 53
LISTEN     0      10             172.16.11.11:53                       *:*      users:(("named",19931,22))
LISTEN     0      10                127.0.0.1:53                       *:*      users:(("named",19931,21))
LISTEN     0      5             192.168.122.1:53                       *:*      users:(("dnsmasq",1444,6))
LISTEN     0      128               127.0.0.1:953                      *:*      users:(("named",19931,23))

########################################提供配置脚本###########################################

[[email protected] init.d]# vim named
[[email protected] run]# vim /etc/init.d/named
 
  1 #!/bin/bash
  2 #
  3 #description: named daemon
  4 pidfile=/usr/local/bind9/var/run/named/named.pid   ###定义pid文件位置变量,
  5 lockfile=/var/lock/subsys/named          ###锁文件,用于后面判断,程序是否在运行
  6 conffile=/etc/named/named.conf           ###指明配置文件位置  
  7 named=/usr/local/bind9/sbin/named 
  8 prog=named                               ######程序名
  9
 10 [ -r /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions   #####调用函数
 11
 12 start() {
 13     if [ -e $lockfile ]; then            ####判断服务在不在启动就是判断锁文件在不在
 14         echo "$prog is already runnig"
 15         warning
 16         exit 0
 17     fi
 18     echo "start $prog:"
 19     daemon --pidfile $pidfile $named -u named -c $conffile         ####启动服务
 20     retval=$?
 21     echo
 22     if [ $retval -eq 0 ]; then
 23         touch $lockfile
 24         return $retval
 25     else
 26         rm -f $lockfile $pidfile
 27         return 1
 28         fi
 29 }  
 30 stop() {                                  ####停止服务的函数
 31     if [ ! -e $lockfile ];then
 32         echo "$prog is stopped"
 33         warning
 34         echo
 35         exit 0
 36     fi
 37         echo -n "stopping $prog:"
 38         killproc $prog                                                              ####killproc 停掉进程
 39         retval=$?
 40         echo
 41     if [ $retval -eq 0 ]; then
 42         rm -f $lockfile $pidfile
 43         return 0
 44     else
 45         echo "can not stop $prog"
 46         return 1
 47     fi
 48 }
 49 restart() {                                           ###重启的函数
 50     stop
 51     start
 52 }
 53 reload() {                                            ###重载的函数
 54     echo -n "Reload the $prog:"
 55     killproc -HUP $prog
 56     echo
 57     return $retval
 58
 59 }
 60 status() {                                             ####状态查看的函数
 61     if pidof $prog &> /dev/null; then
 62         echo -n "$prog id running"
 63         success
 64         echo
 65     else
 66         echo -n "$prog is stopped."
 67         success
 68         echo
 69     fi
 70 }
 71 usage() {                                             ####帮助页面的查看
 72     echo "Usage:named {start|stop|status|restart|reload}"
 73 }
 74
 75 case $1 in                                            ####case判断
 76 start)
 77     start;;
 78 stop)
 79     stop;;
 80 status)
 81     status;;
 82 restart)
 83     restart;;
 84 reload)
 85     reload;;
 86 *)
 87     usage
 88     exit 1;;
 89 esac
[[email protected] init.d]# bash -n named                 ###########检查语法
[[email protected] init.d]# chmod a+x named          ###########提供执行权限

################################################启动测试##############################################

至此DNS的缓存名称服务器和编译安装配置完毕!!!!!!!!!!!!!!!!!!!

时间: 2024-12-10 00:08:22

DNS的服务器的编译安装,及缓存名称服务器配置的相关文章

Linux服务器集群架构部署搭建(六)数据库服务器MySQL编译安装及主从同步配置(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 数据库企业应用场景 1.1 数据库的企业应用 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小.速度快.总

服务器上编译安装ngnix

操作系统:CentOS release 6.8 (Final) Web应用服务器软件:nginx-1.10.1.tar.gz 实战任务:编译安装nignx 下载:#wget http://nginx.org/download/nginx-1.10.1.tar.gz #wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz # tar zxvf pcre2-10.20.tar.gz #cd pcre2

搭建Yum服务器及编译安装Httpd

搭建yum服务器 编译安装Httpd 原文地址:http://blog.51cto.com/10461810/2106438

Nginx服务器上编译安装PHP

下载PHP# wget http://cn2.php.net/distributions/php-7.0.0.tar.gz 解压缩PHP# tar -zxvf php-7.0.0.tar.gz && cd php-7.0.0 安装依赖软件# yum -y install gcc libxml2-devel 编译安装PHP# ./configure --prefix=/usr/local/php7 --enable-fpm --with-fpm-user=nginx --with-fpm-g

DNS服务之bind编译安装详尽版

一.安装开发包组"Development Tools"."Server Platform Tools",保证编译的正常进行.  yum groupinstall "Development Tools" "Server Platform Tools" 二.添加named系统组和系统用户  groupadd -r -g 53 named  useradd -r -u 53 -g named named 三.准备bind--9.9.

DNS服务编译安装,及配置

DNS服务是域名转换服务. 原理及功能可以参考http://kmk0226.blog.51cto.com/5975994/1678180 今天的博客是介绍DNS服务的编译安装,以及安装之后如何配置DNS服务,让服务能正常运行. 在Linux系统中,DNS服务在Bind这个程序中配置的. 首先,要编译安装DNS服务,需要先去下载源码包. 源码包可以在bind官方网站下载 bind官方站点:www.isc.org 有9.9.X与9.10.X的版本,我们这里以9.9.X的版本来编译安装. X代表子版本

在win7系统上,使用3台CentOS 6, (编译安装http2.4、php、mysql)

实验要求:搭建lamp (1) 三者分离于三台主机: (2) 一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress: (3) xcache (4) mpm为worker机制: 物理机使用win7系统,在VMware虚拟机中准备了3台centos6.7的linux系统: 其中IP地址设计: web服务器地址为:192.168.255.60 php服务器地址为:192.168.255.61 mysql数据库服务器地址为:192.168.255.62 分别在每台服务器上编

LAMP编译安装之———httpd

LAMP(Linux- Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据 库,Perl.PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE架构相比,LAMP具有Web资源丰富.轻量.快速开发等特点,微软的.NET架构相比,LAMP具有通用.跨平台.高性能.低价格的 优势,因此LAMP无论是性能.质量还是价格都是企业搭

DNS主服务器和从服务器的搭建和配置

1.     下载DNS服务 yum -y install bind bind-chroot bind-util bind-libs 2.     配置主DNS服务器 步骤一:vi /etc/named.conf 修改listen-on port 53 { any; }; allow-query     { any; } 如下图所示: 整体的配置如下: options {  listen-on port 53 { any; };  listen-on-v6 port 53 { none; };