美文网首页
编译安装bind部署配置一台DNS服务器

编译安装bind部署配置一台DNS服务器

作者: Sainbyno | 来源:发表于2017-07-31 17:44 被阅读0次

    安装DNS服务器软件bind

    bindDNS服务软件包,安装部署配置一台DNS服务器可以直接通过yum来安装也可以选择编译安装,接下来我们选后者编译安装

    准备工作:

    1.去官网下载bind包www.isc.org
    2.把下载好的包rz上传到Linux

    [root@root ~]# rz  <--rz是把windows桌面上的文件上传到Linux,反之sz filename(文件名) 
    

    3.安装开发者包组:[root@root ~]# yum -y groupinstall "Development tools"

    [root@root ~]# yum -y groupinstall "Development tools"  <-- ‘Development Tools’是开发者包租
    

    4.解压缩包:[root@root ~]# tar xvf bind-9.10.5-P3.tar.gz

    [root@root ~]#   tar xvf bind-9.10.5-P3.tar.gz 
    

    5.创建对应的系统账号:[root@root ~]# useradd -r -d /var/named -s /sbin/nologin -u 53 named

    [root@root ~]# useradd -r -d /var/named -s /sbin/nologin -u 53 named 
    

    6.因为是用useradd创建的,系统账号家目录不会自动生成,并设置好所有者所属组;
    [root@root ~]# mkdir /var/named <-- 注意,此时创建的目录所属组要修改成named,不然访问不了的
    [root@root ~]# chgrp named /var/named/ <--‘chgrp’是修改所属组的命令
    
    

    7.创建一个安装目录,以后再该目录下安装
    [root@root ~]# mkdir /app/bind9 
    

    编译安装bind

    编译安装综合来讲就三大步,在解压包后生成的目录下分别执行三个命令:
    注意:编译安装时必须在解压后生成的目录下
    [root@root ~]#cd bind-9.10.5-P3
    (1)configure: <--这一步一般用来生成 Makefile,为下一步的编译做准备!你可以根据生产环境去选择性的通过在 configure 后加上参数来对安装进行控制,比如指定安装目录等等;这个步骤会出现 error ,把相应的包用yum安装之后再执行一次;
    [root@root bind-9.10.5-P3]# ./configure
    (2)make: <--进行编译,执行Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件
    [root@root bind-9.10.5-P3]# make
    (3)make install: <--将 make 生成的文件安装到系统目录中
    [root@root bind-9.10.5-P3]# make install

    1.执行configure,并指定安装路径为/app/bind9,并禁用openssl;

    [root@root bind-9.10.5-P3]#./configure --prefix=/app/bind9 --without-openssl
                                           安装目录为/app/bind9   禁用openssl
    

    2.执行make和make install

    这两个可以一条命令执行

    [root@root bind-9.10.5-P3]#make && make install
    

    简单部署配置DNS服务器

    修改编辑相关变量和配置文件以及测试

    1.把/app/bind9/sbin/app/bind9/bin路径加到$PATH变量里面。

    用vim编辑器在/etc/profile.d目录下创建一个bind9.sh文件 bind9.sh文件内容 bind9.sh创建完成之后需要执行". /etc/profile.d/bind9.sh"命令让其生效并"echo $PATH"查看是否添加成功

    2.在安装路径的etc下创建配置文件配置DNS

    /app/bind9/etc目录下创建named.conf,指定数据文件保存目录/var/named和根文件类型以及文件名root.ca

    3.切到/var/named目录去抓13个根服务器重定向到我们在配置文件里指定的路径下的root.ca文件里

    [root@root named]#cd /var/named
    [root@root named]#dig -t NS . @172.16.0.1 > root.ca
    

    Ps:为了满足好奇心还是用代码块的方式看一下神奇的13个根服务器到底长啥样...

    [root@root named]#cat root.ca 
    
    ; <<>> DiG 9.10.5-P3 <<>> -t NS . @172.16.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20859
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;.              IN  NS
    
    ;; ANSWER SECTION:
    .           386996  IN  NS  k.root-servers.net.
    .           386996  IN  NS  c.root-servers.net.
    .           386996  IN  NS  f.root-servers.net.
    .           386996  IN  NS  e.root-servers.net.
    .           386996  IN  NS  i.root-servers.net.
    .           386996  IN  NS  h.root-servers.net.
    .           386996  IN  NS  j.root-servers.net.
    .           386996  IN  NS  l.root-servers.net.
    .           386996  IN  NS  a.root-servers.net.
    .           386996  IN  NS  g.root-servers.net.
    .           386996  IN  NS  d.root-servers.net.
    .           386996  IN  NS  b.root-servers.net.
    .           386996  IN  NS  m.root-servers.net.
    
    ;; ADDITIONAL SECTION:
    e.root-servers.net. 74925   IN  A   192.203.230.10
    e.root-servers.net. 74925   IN  AAAA    2001:500:a8::e
    d.root-servers.net. 41600   IN  A   199.7.91.13
    d.root-servers.net. 41600   IN  AAAA    2001:500:2d::d
    h.root-servers.net. 41600   IN  A   198.97.190.53
    h.root-servers.net. 41600   IN  AAAA    2001:500:1::53
    j.root-servers.net. 41600   IN  A   192.58.128.30
    j.root-servers.net. 208801  IN  AAAA    2001:503:c27::2:30
    g.root-servers.net. 41600   IN  A   192.112.36.4
    g.root-servers.net. 74925   IN  AAAA    2001:500:12::d0d
    k.root-servers.net. 41600   IN  A   193.0.14.129
    k.root-servers.net. 41600   IN  AAAA    2001:7fd::1
    a.root-servers.net. 74925   IN  A   198.41.0.4
    a.root-servers.net. 208801  IN  AAAA    2001:503:ba3e::2:30
    i.root-servers.net. 41600   IN  A   192.36.148.17
    i.root-servers.net. 74925   IN  AAAA    2001:7fe::53
    c.root-servers.net. 74925   IN  A   192.33.4.12
    c.root-servers.net. 41600   IN  AAAA    2001:500:2::c
    f.root-servers.net. 41600   IN  A   192.5.5.241
    f.root-servers.net. 41600   IN  AAAA    2001:500:2f::f
    m.root-servers.net. 208801  IN  A   202.12.27.33
    m.root-servers.net. 208801  IN  AAAA    2001:dc3::35
    l.root-servers.net. 54228   IN  A   199.7.83.42
    l.root-servers.net. 54228   IN  AAAA    2001:500:9f::42
    b.root-servers.net. 41600   IN  A   192.228.79.201
    b.root-servers.net. 41600   IN  AAAA    2001:500:200::b
    
    ;; Query time: 4 msec
    ;; SERVER: 172.16.0.1#53(172.16.0.1)
    ;; WHEN: Thu Jul 27 15:00:49 CST 2017
    ;; MSG SIZE  rcvd: 811
    
    [root@root named]#
    
    

    上面的环节注意给named读权限!!!

    4.把域建起来,比如:gaorihan.com
    4.1 编辑配置文件

    gaorihan.com是域名,gaorihan.com.zone是/var/named下的数据库文件名

    4.2/var/named路径下创建域的文件并检查语法

    SOA记录、NS记录是必须写的记录,而且在最上面。A记录也是必须有的
    4.3 把man帮助路径添加到系统man帮助的配置文件/etc/man.config

    5.启动服务并测试
    1).本终端

    [root@root named]#named -f -g -d 3 -u named
    

    2).另一个终端执行ss -tnul命令查看端口连接情况。

    DNS的TCP和UDP都是53端口

    3)再别的主机上dig一下,看看能不能gaorihan.com域名解析成我们在记录里加进去的IP地址6.6.6.6

    [root@root ~]#dig www.gaorihan.com @172.16.252.217
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> www.gaorihan.com @172.16.2
    52.217;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34721
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;www.gaorihan.com.      IN  A
    
    ;; ANSWER SECTION:
    www.gaorihan.com.   86400   IN  A   6.6.6.6   <<--这不就是我们设置的吗
    
    ;; AUTHORITY SECTION:
    gaorihan.com.       86400   IN  NS  dns1.gaorihan.com.
    
    ;; ADDITIONAL SECTION:
    dns1.gaorihan.com.  86400   IN  A   172.16.252.217
    
    ;; Query time: 6 msec
    ;; SERVER: 172.16.252.217#53(172.16.252.217)
    ;; WHEN: Thu Jul 27 17:27:55 2017
    ;; MSG SIZE  rcvd: 85
    
    [root@root ~]#dig www.gaorihan.com @172.16.252.217
    

    结语

    DNS服务器的主要作用就是将主机名解析成IP地址的过程,解决域名到IP地址的转换。目前互联网这么发达,几乎所有的服务器都在向外提供各种服务,DNS记录也会越来越多,掌握部署配置DNS服务器是必备技能。

    相关文章

      网友评论

          本文标题:编译安装bind部署配置一台DNS服务器

          本文链接:https://www.haomeiwen.com/subject/shwakxtx.html