易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4970|回复: 0
收起左侧

[DNS]Linux centos6 中dns bind 服务器安装及dns理论详解

[复制链接]
发表于 2019-7-15 10:00:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
DNS服务管理

  • 实现:bind(Bekerley Internat Name Domain )
  • 服务名:named  
  • 进程:named   ;# chkconfig named on   开机自启named服务  # service named start   启动named 服务
    3 [: n+ z6 `+ {4 N6 G1 S' d
主配置文件:/etc/named.conf ,注:语句后面的 ;  号
[root@bogon named# vi /etc/named.conf options {  #全局选项    listen-on port 53 { 127.0.0.1;|192.168.4.150; };  #默认监听本机的53号端口,可注释掉或调整为指定ip ,注ip地址后加";"    listen-on-v6 port 53 { ::1; };    #开启ipv6 监听,可注释掉    directory   "/var/named";         #区域文件配置目录    dump-file   "/var/named/data/cache_dump.db";    statistics-file "/var/named/data/named_stats.txt";    memstatistics-file "/var/named/data/named_mem_stats.txt";    allow-query     { localhost|any; };  #授权为指定的主机解析,默认只为本机解析,可调整为any或注释掉    recursion yes|no;         #递归查询,默认开启     dnssec-enable yes;         #sec功能,与安全加密传输相关的选项,可注释掉    dnssec-validation yes;    #同上一条,可注释掉    bindkeys-file "/etc/named.iscdlv.key";    managed-keys-directory "/var/named/dynamic";    pid-file "/run/named/named.pid";    #named 启动文件pid     session-keyfile "/run/named/session.key";    allow-transfer { none|ip; };  #允许区域传送的主机;可拒绝所有、指定ip传送,默认开启,建议指定ip进行区域传送};logging {  #日志子系统配置        channel default_debug {                file "data/named.run";                severity dynamic;        };};zone "." IN {  #根区域定义,若要做内网根服务器,要注释掉    type hint;    file "named.ca";};include "/etc/named.rfc1912.zones";  #加载指定区域文件include "/etc/named.root.key";: x2 ~) L7 j6 g3 ^
5 J& r/ i/ \0 ~

2 D& q+ m7 [# @( Q% ]2 n/ D/ q  @
  • 区域配置文件:/etc/named.rfc1912.zones ,区域类型:hint(根)、master(主)、slave(从)、forward(转发)

    ' g! _4 y$ ?7 I# e
[root@bogon ~# vi /etc/named.rfc1912.zones zone "itwish.cn" IN {   #区域记录        type master|slave|forward|hint;   #类型,主dns服务器、辅助dns服务器、转发dns、根dns服务器        file "itwish.cn.zone";   #区域数据库文件        allow-transfer { 192.168.4.120; }; #允许区域传送的主机};. l2 Q) |5 c. k5 E* L3 |4 k' k
1 a  t# @1 D3 A3 B9 N! M
* M9 z' u7 _+ d/ d7 }, a
  • 区域文件目录 : /var/named/  ,注:区域文件的权限为640,属组为named
    6 E- \9 b5 ]  i# f9 y# r, V
[root@bogon ~# vi /var/named/itwish.cn.zone $TTL 1D   #默认的TTL值@       IN SOA  ns1  admin.itwish.cn. (  #SOA记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录                                         2018061004      ; serial #序列号                                        1D      ; refresh        #主从复制的时间间隔                                        1H      ; retry          #如果主从复制失败重试时间                                        1W      ; expire         #失效时间                                        3H )    ; minimum        #否定答案的TTL值        IN      NS      ns1                    #名字服务器记录        IN      NS      ns2                    #针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能        IN      MX      10      mail           #邮件mx记录 ns1     IN      A       192.168.4.110          #正向解析记录ns2     IN      A       192.168.4.120*       IN      A       192.168.4.110          #泛域名解析,解析未找到的主机则返回该ip地址www     IN      CNAME   ns1                    #别名记录mail    IN      A       192.168.4.110tech    IN      NS      ns3.tech               #子域名字服务器记录        IN      NS      ns4.tech               #针对tech.itwish.cn区域,ns3与ns4共2台ns服务器,实现主从复制功能ns3.tech        IN      A       192.168.4.130ns4.tech        IN      A       192.168.4.140
0 q7 d8 A5 \. P/ l+ p- l
. [. S) K& I6 H3 ^( U
4 S% p( y9 \3 A$ o6 D
  •     反向解析区域文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀 ,区域文件保存在/var/named/ 目录,应该具有NS记录,但不能出现MX和A记录,较常见的为PTR记录
    ( n- @/ D& N# _6 O) B, J; o# V
[root@bogon named# vi /etc/named.rfc1912.zones zone "4.168.192.in-addr.arpa" IN {    #定义反向区域名称        type slave;        masters { 192.168.4.120; };        file "slaves/192.168.4.zone";        allow-transfer { none; };};[root@bogon named# vi /var/named/192.168.4.zone $TTL 3H@       IN SOA  ns1.itwish.cn. adminns.itwish.cn. (  #第一条为SOA记录                                        20180522012     ; serial                                        1D      ; refresh                                        1H      ; retry                                        2W      ; expire                                        24H )   ; minimum        IN      NS              ns1.itwish.cn.        IN      NS              ns2.itwish.cn.110     IN      PTR             ns1.itwish.cn.     #PTR 记录120     IN      PTR             ns2.itwish.cn.5 Q0 i( r4 R: }% ~
3 ]1 I- W: ^3 m* p4 m2 O2 c

- h+ G  _1 q# L. q: R& I' b5 D
  • DNS的数据库文件(区域数据文件):为文本文件,只能包含资源记录或宏定义,每行一个
    6 Q! T+ _5 j3 k% a5 Y& n" O
    资源记录的格式:name① [TTL]②  IN③  Rrtype④ Value⑤     注:FQDN中最后的 . 号
    ①name:当前区域的名字,例 www.itwish.cn.
    ②TTL (Time- To-Live):表示一条域名解析记录在DNS服务器上缓存时间;例如$TTL 1D的意思是默认的TTL值为1天
    ③IN:关键字
    ④dns资源记录类型(Resource Record),包括SOA ,NS ,MX ,A记录 ,AAAA,PTR ,CNAME  等
    ⑤Value ,通过对以上记录类型示例分析——针对不同的资源记录类型,Value值也不尽相同
        SOA:有n个数值,主DNS服务器及邮箱地址;最主要的是主DNS服务器,格式可为相对名称或FQDN
        NS:DNS服务器的FQDN(或相对名称)  如 IN  NS  ns1
- i) K. S& A$ K9 w/ N
        MX:包含优先级和FQDN(或相对名称),如   IN  MX  10  mail  
3 `: F" a& j! [8 n. X
        A:ip地址  ,如  ns1  IN  A  192.168.4.110 % d; A9 i- o$ k9 \9 r7 W5 k9 `
        CNAME:FQDN(或相对名称),如 www  IN  CNAME  ns1  
2 i1 c7 o  I9 r) R/ U
        PTR:FQDN ,如  1 IN  PTR  localhost.   

& \3 S& v3 `) p! h* ]5 J2 U
  • DNS记录类型详解及演示   

    # C" \, U) P4 I& ~. ~" [
(1)SOA:Start of Authority  起始授权记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录
@       IN SOA  ns1  admin.itwish.cn. (  # SOA记录                                        2018061004      ; serial #序列号                                        1D      ; refresh        #主从复制的时间间隔                                        1H      ; retry          #如果主从复制失败重试时间                                        1W      ; expire         #失效时间                                        3H )    ; minimum        #否定答案的TTL值#注释 @:区域名称 itwish.cn,通常可简写为@ 符号IN:关键字,可省略SOA:资源记录类型ns1:主dns服务器的名称,可以是相对名称ns1或 FQDN ns1.itwish.cn.admin.itwish.cn. :邮箱地址,把@转换成. ,如邮箱admin@itwish.cn 格式为admin.itwish.cn.
2 @& {8 X3 l5 S' j& ~" s% ?5 p
/ Y. T* y6 J4 a, c
  
9 W4 b! ~6 L. }0 T
(2)NS :Name server 域名服务器,记录指定负责给定区域的名称服务器 ,注:区域内包含几条NS记录,就需对多台NS服务器配置相对应的A记录 ,示例为2台NS服务器ns1 和ns2 ,就需配置ns1 和ns2 服务器的A记录
        IN      NS      ns1                    #名字服务器记录        IN      NS      ns2                    #针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能ns1     IN      A       192.168.4.110          #正向解析记录ns2     IN      A       192.168.4.120        #注释 named :可省略,代表itwish.cn 区域  IN:关键字,可省略NS:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或 FQDN ns1.itwish.cn.  ns2:针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能
1 Q* P5 O* W" W' @6 `& w( `
+ X# h5 f! T7 w% m. s
    ( d0 r/ Y. O! r* I( M
(3)MX :邮件交换记录 ,记录列出了负责接收发到域中的电子邮件的主机记录
        IN      MX      10      mail           #邮件mx记录 #注释 named :可省略,代表itwish.cn 区域  IN:关键字,可省略MX:资源记录类型 mail:邮件交换记录名称,可以是相对名称mail或 FQDN mail.itwish.cn.! P- N& N# f# v* p$ p" z% V! g
, R# H6 u8 p/ }/ w" L! K' [
   1 h7 m: n  v7 A5 `  z5 `4 y: _9 X
(4)A记录 :FQDN --> IP ,列出特定主机名的 IP 地址
ns1     IN      A       192.168.4.110          #正向解析记录ns2     IN      A       192.168.4.120#注释 ns1 :主机名,可以是相对名称ns1或 FQDN ns1.itwish.cn.IN:关键字,可省略A:资源记录类型 192.168.4.110:ip地址
' c# e: P7 T4 M6 f! ~
& c/ R) }' l- M1 ^1 l: @1 H  g
    " h0 A$ }/ B% t3 f3 E9 J
(5)AAAA:FQDN-->ipv6
(6)PTR:指针记录 IP --> FQDN ,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成,如 “0.0.127.in-addr.arpa” 反向解析区域
1               PTR     localhost.#注释 1:ip地址IN:关键字,可省略PTR:资源记录类型 localhost. :主机名称,可以是相对名称或 FQDN
+ n8 X4 N& Y) s' I- \
4 z: T) g* C* T/ B( D3 b4 x
   , O" H: \4 V6 B: d$ M; g
(7)CNAME :别名记录 ,此记录指定标准主机名的别名
www     IN      CNAME   ns1                    #别名记录#注释 www:主机别名,可以是相对名称或 FQDNIN:关键字,可省略CNAME:资源记录类型 ns1 :主机名称,可以是相对名称或 FQDN
+ J. M0 U" P- _0 w6 W

5 a6 x0 Z0 C& U3 G6 S; E2 F' B  D& d  Z6 u
  • dig 命令,DNS查询使用程序
    9 U, q4 ]5 N% d0 N

    * z" t% s1 t1 m% J
语法:dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr]   ; D6 \' G( c3 @4 w" |+ Q
    [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...]   
常用选项:
# Q3 V1 E8 v0 P7 x! R) K- s
    -x addr:测试反向解析
    -t type:指定查询记录类型
    -t axfr ZONE_NAME @SERVER :模拟区域传送
0 t- Z* G: L! F0 B6 U5 w9 G
    -t NS .  :查询根DNS服务器$ X- T" f1 O$ b+ g- \9 S
    -f filename :通过从文件 filename 读取一系列搜索请求加以处理
    -p port#  :查询一个非标准的端口号,标准的DNS端口号 53
    +[no]trace :[不]适用迭代
    +[no]tcp :是否使用tcp
    +[no]recurse:是否使用递归host
  • rndc
    0 j0 \- \$ ]& A2 s
    reload: 重载主配置文件和区域解析库文件
    reload zonename: 重载区域解析库文件
    retransfer zonename: 手动启动区域传送,而不管序列号是否增加
    notify zonename: 重新对区域传送发通知
    reconfig: 重载主配置文件
    querylog: 开启或关闭查询日志文件/var/log/message
    trace: 递增debug一个级别
    trace LEVEL: 指定使用的级别
    notrace:将调试级别设置为 0
    flush:清空DNS服务器的所有缓存记录
  • rndc:密钥

    6 F  o" y& I! V! q8 U
    rndc:持有一半密钥,保存于rndc的配置文件中
    BIND:持有一般密钥,保存在主配置文件中
rndc的配置文件/etc/rndc.conf
# rndc-confgen -r  /dev/urandom  > /etc/rndc.conf    生成密钥
# named-checkconf:检查配置文件的语法
# named-checkzone "itwish.cn" /var/named/itwish.cn.zone :查询区域数据库文件的语法
# service named configtest  :检查所有区域文件的语法

) B. h* A$ r7 Q8 G: f3 _5 r
DNS正向解析,反向解析,主从复制,子域委派,区域转发,acl 及view视图案例

  • DNS正向解析案例配置
    0 I- l+ V- }, |- R+ I# S
1)安装bind[root@ns1 ~# yum install bind bind-utils -y   #yum 安装bind [root@ns1 ~# chkconfig named on          [root@ns1 ~# service named startStarting named: named: already running                     [  OK  [root@ns1 named# ss -tunl     #确认named 进程启用,tcp 及 udp 53端口处于监听状态Netid  State      Recv-Q Send-Q                                                                                   Local Address:Port                                                                                     Peer Address:Port udp    UNCONN     0      0                                                                                       192.168.23.110:53                                                                                                  *:*     tcp    LISTEN     0      3                                                                                       192.168.23.110:53                                                                                                  *:* 2)停止iptables 和selinux 功能[root@ns1 ~# service iptables stop   #停止iptables 服务[root@ns1 ~# chkconfig iptables off[root@ns1 ~# vi /etc/selinux/config   SELINUX=disabled    #修改为disabled,其他行注释掉,禁用selinux功能3)定义主配置文件[root@ns1 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.110; };   #定义监听指定ip 53端口        directory       "/var/named";           allow-query     { any; };     #允许给所有客户端请求解析        recursion yes;                #允许递归};include "/etc/named.rfc1912.zones";3)定义区域配置文件[root@ns1 ~# vi /etc/named.rfc1912.zones zone "itwish.cn" IN {   #区域定义        type master;    #类型,主服务器        file "itwish.cn.zone";    #区域数据库文件,指向/var/named/itwish.cn.zone};4)新建区域解析数据库文件 /var/named/itwish.cn.zone[root@ns1 ~# vi /var/named/itwish.cn.zone $TTL 1D@       IN SOA  ns1  admin.itwish.cn. (              #SOA记录                                        2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1             #NS记录        IN      MX      10      mail    #MX记录ns1     IN      A       192.168.4.110      #正向A解析记录www     IN      A       192.168.4.1105)分配权限[root@ns1 ~# chown root:named /var/named/itwish.cn.zone #修改文件的权限和所属组,保证named进程有此文件的可读属性[root@ns1 ~# chmod 640 /var/named/itwish.cn.zone[root@ns1 ~# ll /var/named/itwish.cn.zone-rw-r-----. 1 root named 120 Jun  11 10:39 /var/named/itwish.cn.zone6)测试[root@ns1 ~# named-checkconf     #检查配置文件[root@ns1 ~# named-checkzone "itwish.cn" /var/named/itwish.cn.zone  #检查itwish.cn 区域配置语法[root@ns1 ~# service named configtest    # 测试所有配置区域[root@ns1 ~# rndc reload    #重载配置文件[root@ns1 ~# dig -t A www.itwish.cn  @192.168.4.110   //使用dig命令测试,返回以下值说明成功;; QUESTION SECTION:;www.itwish.cn.            IN    A;; ANSWER SECTION:www.itwish.cn.        10800    IN    A    192.168.23.110[root@ns1 ~# dig -t NS itwish.cn  @192.168.4.110  ;; QUESTION SECTION:;itwish.cn.            IN    NS;; ANSWER SECTION:itwish.cn.        10800    IN    NS    ns1.itwish.cn.
  a  O/ o# @0 e; ^, n) \( E

" ?: V- S9 L, M/ a

/ v# ]  w+ s: t- w
  • DNS反向解析案例配置

    1 k5 B0 x- T) u; _) F  W9 V. x1 w
[root@ns1 ~# vi /etc/named.rfc1912.zones  # 加入反向区域zone "4.168.192.in-addr.arpa" IN {    #地址需要反着写,加上.in-addr.arpa         type master;        file "192.168.4.zone";};2)新建区域解析数据库文件[root@ns1 ~# vi /var/named/192.168.4.zone $TTL 3H@       IN SOA  ns.itwish.cn. adminns.itwish.cn. (                                        20180522012     ; serial                                        1D      ; refresh                                        1H      ; retry                                        2W      ; expire                                        24H )   ; minimum        IN      NS              ns1.itwish.cn.110     IN      PTR             ns1.itwish.cn.        IN      PTR             www.itwish.cn.3)分配权限[root@ns1 ~# chown root:named /var/named/192.168.4.zone #修改文件的权限和所属组,保证named进程有此文件的可读属性[root@ns1 ~# chmod 640 /var/named/192.168.4.zone4)测试[root@ns1 ~# named-checkconf     #检查配置文件[root@ns1 ~# named-checkzone "192.168.4.zone" /var/named/192.168.4.zone  #检查192.168.4.zone 区域配置语法[root@ns1 ~# service named configtest    # 测试所有配置区域[root@ns1 ~# rndc reload    #重载配置文件[root@ns1 ~# dig -x 192.168.4.110  @192.168.4.110   #使用dig命令测试,返回以下值说明成功;; QUESTION SECTION:;110.4.168.192.in-addr.arpa.    IN    PTR;; ANSWER SECTION:110.4.168.192.in-addr.arpa. 10800 IN    PTR    ns1.itwish.cn.110.4.168.192.in-addr.arpa. 10800 IN    PTR    www.itwish.cn.
" Y' _5 g3 b' ^8 I! y# w
! K  X! f7 M$ d& t
$ Z/ D7 d2 A2 Y; W9 u  E  _
区域中添加从服务器的关键项:
    在上级获得授权,允许区域传送:# allow-transfer {127.0.0.1;127.16.100.1}
    在上级区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录

. }# D% X* S/ z
  • DNS主从复制案例配置
    " i3 _" o) b" u
1)配置主dns服务器[root@ns1 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.110; };           directory       "/var/named";           allow-query     { any; };              recursion yes;     };include "/etc/named.rfc1912.zones";[root@ns1 ~# vi /etc/named.rfc1912.zones zone "itwish.cn" IN {          type master;            file "itwish.cn.zone";            allow-transfer { 192.168.4.120; };   #允许把该区域传送给从DNS服务器192.168.4.120};[root@ns1 ~# vi /var/named/itwish.cn.zone $TTL 1D@       IN SOA  ns1  admin.itwish.cn. (                                                      2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1           IN      NS      ns2             #新增一条ns记录 ,将从DNS服务器的NS记录添加到此        IN      MX      10      mail   ns1     IN      A       192.168.4.110   www     IN      A       192.168.4.110ns2     IN      A       192.168.23.120   #新增一条A记录 ,将从DNS服务器的A记录添加到此2)配置从dns服务器[root@ns2 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.120; };           directory       "/var/named";           allow-query     { any; };              recursion yes;     };[root@ns2 ~# vim /etc/named.rfc1912.zoneszone "itwish.cn" IN {    type slave;                      #类型为从服务器    masters { 192.168.4.110; };     #同步DNS服务器的IP地址    file "slaves/itwish.cn.zone";   #数据库文件保存到 /var/named/slaves/ 文件夹下,名字叫itwish.cn.zone    allow-transfer { none; };    #禁止区域传送};[root@ns2 ~# service named  restart    #重启服务[root@ns2 ~# ls /var/named/slaves/  #可以看到数据库文件则证明已经同步成功dongfei.com.zone.slaveitwish.cn.zone$ X* W7 S/ `3 f: }; s5 s/ |
! f# x6 W( k" c3 l! v7 B
5 i' U0 w7 n( r$ y) T
BIND子域授权的实现,在父域的配置文件中添加如下项:
    授权的子区域名称
    子区域的名称服务器
. V6 F# E' K, m2 Y( S) q
    子区域的名称服务器的IP地址
如 tech      IN      NS      ns3.tech.itwish.cn.      C( s: W9 M9 k# G! {" w! ^
    ns3.tech.itwish.cn.    IN        A    192.168.4.130
! R& `8 o. ~5 g# p! e% X. D: S2 V
区域转发类型:- U, _/ V1 O/ N$ ~( t1 J+ [
    全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器,在/etc/named.conf 中配置# d1 l0 G$ @! b' Q$ F* z
    特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高,在区域文件zone 中配置9 a( \# X/ B. c0 a6 ^
转发器类型:
    first模式:优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询( V- u( Q$ V5 U9 t  S! n
    onyl模式:只转发到目标DNS服务器,如果目标主机没有此查询的信息则转发失败
% g* u( j' G- T
  • DNS子域委派与区域转发案例配置/ \6 l: z( ~! Z: R8 k
    # J2 _4 x. n% ]* K2 c) e" h
1)配置dns父域[root@ns1 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.110; };           directory       "/var/named";           allow-query     { any; };              recursion yes;           forward first;  #first模式 ,全局转发                forwarders { 192.168.4.110;192.168.4.120; };  #目标DNS服务器IP   };include "/etc/named.rfc1912.zones";[root@ns1 ~# vi /etc/named.rfc1912.zones zone "itwish.cn" IN {          type master;            file "itwish.cn.zone";            allow-transfer { 192.168.4.120; };   #允许把该区域传送给从DNS服务器192.168.4.120};[root@ns1 ~# vi /var/named/itwish.cn.zone   #在区域添加子域NS记录及其A记录$TTL 1D@       IN SOA  ns1  admin.itwish.cn. (                                                      2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1           IN      NS      ns2                     IN      MX      10      mail   ns1     IN      A       192.168.4.110   www     IN      A       192.168.4.110ns2     IN      A       192.168.23.120  tech    IN      NS              ns3.tech.itwish.cn.    #将tech子域授权给ns3.tech.itwish.cn.ns3.tech.itwish.cn.     IN      A               192.168.23.130          #添加相对应的正向解析A记录2)配置子域及区域转发 [root@ns3 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.130; };           directory       "/var/named";           allow-query     { any; };              recursion yes;     };include "/etc/named.rfc1912.zones"; [root@ns3 ~# vi /etc/named.rfc1912.zones zone "tech.itwish.cn" IN {          type master;            file "tech.itwish.cn.zone";    }; zone "itwish.cn" IN {             type forward;     #转发区域        forwarders { 192.168.4.110; 192.168.4.120; };   #转发目标服务器        forward first;      #优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询}; [root@ns3 named# vi /var/named/tech.itwish.cn.zone    #配置子域区域文件$TTL 10800      ; 3 hourstech.itwish.cn          IN SOA  ns3.tech.itwish.cn. adminns.tech.itwish.cn. (                                1884700031 ; serial                                86400      ; refresh (1 day)                                3600       ; retry (1 hour)                                1209600    ; expire (2 weeks)                                86400      ; minimum (1 day)                                )                        NS      ns3.tech.itwish.cn.                        MX      10 mail.tech.itwish.cn.$ORIGIN tech.itwish.cn.mail                    A       192.168.23.130ns3                     A       192.168.23.130www                     A       192.168.23.110
5 a; y( \) K. ^) s& y# C; u

) n4 p* g$ }# v' [* F$ K
. N6 W/ g0 I2 ]1 g
bind有四个内置的acl,acl——把一个或多个地址归并为一个集合,并通过一个统一的名称调用;只能先定义,后使用,因此一般定义在配置文件中,处于options的前面
    none: 没有一个主机
    any: 任意主机
    localhost: 本机
    localnet: 本机的IP同掩码运算后得到的网络地址
1 }4 a. j7 [- W. V  ]
view:视图:实现智能DNS
    一个bind服务器可定义多个view,每个view中可定义一个或多个zone
    每个view用来匹配一组客户端,所有的zone都只能定义在view中
    多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件
$ `/ @# [9 s9 A# X7 Z1 Z
  • DNSview视图配置% I" k  j/ ]. L5 s$ _
    2 @1 m/ I2 a; P. i
[root@localhost named# vi /etc/named.rfc1912.zones acl uniom {   #定义acl ,注意acl的匹配顺序关系,至上而下        192.168.4.0/24 ;};acl telom {        172.16.10.0/24;};acl othom {        any;};view uninet {   #定义view 视图 ,所有的zone都需定义在view中match-clients { uniom; };   #匹配的acl 选项zone "localhost" IN {        type master;        file "named.localhost";        allow-update { none; };};zone "0.0.127.in-addr.arpa" IN {        type master;        file "named.loopback";        allow-update { none; };}; zone "itwish.cn" IN {        type master;        file "itwish.cn.zone.uniom"; };};view telnet {match-clients { telom; }; zone "itwish.cn" IN {        type master;        file "itwish.cn.zone.telom"; };view anynet {match-clients { othom; }; zone "itwish.cn" IN {        type master;        file "itwish.cn.zone.uniom"; };};[root@localhost named# vi itwish.cn.zone.uniom $TTL 1D@       IN SOA  ns1  admin.itwish.cn. (                                        2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1        IN      MX      10      mailns1     IN      A       192.168.4.110www     IN      A       192.168.4.120[root@localhost named# vi itwish.cn.zone.telom $TTL 1D@       IN SOA  ns1  admin.itwish.cn. (                                        2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1        IN      MX      10      mailns1     IN      A       172.16.10.1www     IN      A       172.16.10.2[root@localhost named# dig -t A www.itwish.cn @172.16.10.1  #确认通过172.16.10.x的客户端进行访问,获取的ip 为172.16.10.2;; QUESTION SECTION:;www.itwish.cn.            IN    A;; ANSWER SECTION:www.itwish.cn.        86400    IN    A    172.16.10.2;; AUTHORITY SECTION:itwish.cn.        86400    IN    NS    ns1.itwish.cn.;; ADDITIONAL SECTION:ns1.itwish.cn.        86400    IN    A    172.16.10.1[root@localhost named# dig -t A www.itwish.cn @192.168.4.110  #确认通过192.168.4.x的客户端进行访问,获取的ip 为192.168.10.120;; QUESTION SECTION:;www.itwish.cn.            IN    A;; ANSWER SECTION:www.itwish.cn.        86400    IN    A    192.168.4.120;; AUTHORITY SECTION:itwish.cn.        86400    IN    NS    ns1.itwish.cn.;; ADDITIONAL SECTION:ns1.itwish.cn.        86400    IN    A    192.168.4.1107 D% S, T7 V9 M4 H% R! o( F% c% g2 `
: ]. _$ N. X2 c( g1 d
# d5 E6 Q1 u# T: y0 U0 e
部署安装DNS(域名解析)系统

部署实验:
    1、部署根域名解析服务器
    2、部署一级域名.cn 域名解析服务器
    3、部署二级域名.itwish 和.goodoing 域名解析系统,ns1 与 ns2 服务器实现主从复制功能
: \- s9 m' q! _: z/ O# y5 a
    4、部署子域tech域名解析服务器,ns3 与 ns4 服务器实现主从复制 ,部署转发区域itwish.cn 及goodoing.cn ,转发服务器为ns1 和 ns2
1)对所有服务器,安装bind组件,禁用selinux功能并停止iptables功能
# yum install bind bind-utils -y   #yum安装bind          # service named start  # service iptables stop   #停止iptables 服务# chkconfig iptables off# vi /etc/selinux/config   SELINUX=disabled    #修改为disabled ,其他行注释掉 ,禁用selinux功能5 p% m( o; C! p" g7 |* F

" Y5 O8 J- P' n. T! Y# Z
" \* q8 J  o" [( c; O# D% Y. B
2)部署根域名解析服务器
[root@PXE named# vi /etc/named.confoptions {        listen-on port 53 { 192.168.4.150; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};include "/etc/named.rfc1912.zones";[root@PXE named# vi /etc/named.rfc1912.zones zone "." IN {          #增加根域        type master;        file "root.zone";        allow-transfer { none; };};[root@PXE named# vi /var/named/root.zone   #定义根域数据库文件$TTL 1D@       IN SOA  root. radmin. (                                        2018061005      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum                NS      root.root.   IN      A       192.168.4.150cn      IN      NS      dns.cn.          #定义子域 cndns.cn. IN      A       192.168.4.160[root@PXE ~# chown root:named /var/named/*.zone #修改文件的权限和所属组,保证named进程有此文件的可读属性[root@PXE ~# chmod 640 /var/named/*.zone[root@PXE ~# named-checkconf     #检查配置文件[root@PXE ~# service named configtest    # 测试所有配置区域[root@PXE ~# rndc reload    #重载配置文件
& Z! @& I& R- F- I; f* v
- ~5 ]9 u' Q- D; T

& u% J8 w1 p0 x- }5 n* U
3)部署cn域名解析服务器
[root@cn named# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.160; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};include "/etc/named.rfc112.zones";[root@cn named# vi /etc/named.rfc1912.zones zone "cn" IN    {        type master;        file "cn.zone";};[root@cn named# vi /var/named/cn.zone $TTL 1D@       IN SOA  dns  admin.cn. (                                        2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum                NS      dnsdns     IN      A       192.168.4.160itwish  IN      NS      ns1.itwish        IN      NS      ns2.itwishns1.itwish.cn.  IN      A       192.168.4.110ns2.itwish.cn.  IN      A       192.168.4.120[root@cn ~# chown root:named /var/named/*.zone [root@cn ~# chmod 640 /var/named/*.zone[root@cn  ~# named-checkconf     [root@cn ~# service named configtest   [root@cn ~# rndc reload. k) Z* j# H4 j- ^% [/ k* N0 Y
# q; y0 G" O8 R' x! p% W1 ?
& y3 a4 k! X# N. T" W1 p& Q8 Y
4)部署ns1域名解析服务器
[root@ns1 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.110; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};include "/etc/named.rfc1912.zones";[root@ns1 ~# vi /etc/named.rfc1912.zones  zone "itwish.cn" IN {        type master;        file "itwish.cn.zone";        allow-transfer { 192.168.4.120; };};zone "goodoing.cn" IN {        type slave;        masters { 192.168.4.120; };        file "slaves/goodoing.cn.zone";        allow-transfer { none; };};[root@ns1 ~# vi /var/named/itwish.cn.zone $TTL 1D@       IN SOA  ns1  admin.itwish.cn. (                                        2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1        IN      NS      ns2        IN      MX      10      mailns1     IN      A       192.168.4.110ns2     IN      A       192.168.4.120www     IN      A       192.168.4.110mail    IN      A       192.168.4.110tech    IN      NS      ns3.tech        IN      NS      ns4.techns3.tech        IN      A       192.168.4.130ns4.tech        IN      A       192.168.4.140[root@ns1 ~# chown root:named /var/named/*.zone [root@ns1 ~# chmod 640 /var/named/*.zone[root@ns1 ~# named-checkconf     [root@ns1 ~# service named configtest   [root@ns1 ~# rndc reload
7 d' M. o8 h8 v( g3 u) r2 K% ^

# L3 C) P9 O, C

" W' S0 Y& v+ g# j6 S0 o
5)部署ns2域名解析服务器
[root@ns2 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.120; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};include "/etc/named.rfc1912.zones";[root@ns2 ~# vi /etc/named.rfc1912.zones zone "goodoing.cn" IN {        type master;        file "goodoing.cn.zone";        allow-transfer { 192.168.4.110; };};zone "itwish.cn" IN {        type slave;        masters { 192.168.4.110; };        file "slaves/itwish.cn.zone";        allow-transfer { none; };};[root@ns2 ~# vi /var/named/goodoing.cn.zone $TTL 1D@       IN SOA  ns2  admin.goodoing.cn. (                                        2018061004      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        IN      NS      ns1        IN      NS      ns2        IN      MX      10      mailns1     IN      A       192.168.4.110ns2     IN      A       192.168.4.120www     IN      A       192.168.4.120mail    IN      A       192.168.4.120tech    IN      NS      ns3.tech        IN      NS      ns4.techns3.tech        IN      A       192.168.4.130ns4.tech        IN      A       192.168.4.140[root@ns2 ~# chown root:named /var/named/*.zone [root@ns2 ~# chmod 640 /var/named/*.zone[root@ns2 ~# named-checkconf     [root@ns2 ~# service named configtest   [root@ns2 ~# rndc reload7 U% u$ z1 }' o0 H! p9 c
8 M9 R4 t$ B/ r7 k. i/ g3 ]9 H3 B  F( U! z

- Y5 N* l5 l0 \( i  W2 f( a
6)部署ns3域名解析服务器
[root@ns3 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.130; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};include "/etc/named.rfc1912.zones";[root@ns3 ~# vi /etc/named.rfc1912.zones zone "tech.itwish.cn" IN {        type master;        file "tech.itwish.cn.zone";        allow-transfer { 192.168.4.140; };};zone "tech.goodoing.cn" IN {        type slave;        masters { 192.168.4.140; };        file "slaves/tech.goodoing.cn.zone";        allow-transfer { none; };};zone "itwish.cn" IN {        type forward;        forward first;        forwarders { 192.168.4.110; 192.168.4.120; };};zone "goodoing.cn" IN {                             type forward;        forward first;        forwarders { 192.168.4.110; 192.168.4.120; };};[root@ns3 ~# vi /var/named/tech.itwish.cn.zone $TTL 1D@       IN SOA  ns3  admin.tech.itwish.cn. (                                        2018061002      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum                IN      NS      ns3                IN      NS      ns4        IN      MX      10      mailns3     IN      A       192.168.4.130ns4     IN      A       192.168.4.140www     IN      A       192.168.4.130mail    IN      A       192.168.4.130[root@ns3 ~# chown root:named /var/named/*.zone [root@ns3 ~# chmod 640 /var/named/*.zone[root@ns3 ~# named-checkconf     [root@ns3 ~# service named configtest   [root@ns3 ~# rndc reload) i' F2 L: g& G9 ~1 ~1 }& p; K

0 M4 {5 h+ k/ B% B. i$ Z$ R
$ m: s  ]: }2 H) @8 l4 ^; {# Y
7)部署ns4域名解析服务器
[root@ns4 ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.140; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};include "/etc/named.rfc1912.zones";[root@ns4 ~# vi /etc/named.rfc1912.zones zone "tech.goodoing.cn" IN {        type master;        file "tech.goodoing.cn.zone";        allow-transfer { 192.168.4.130; };};zone "tech.itwish.cn" IN {        type slave;        masters { 192.168.4.130; };        file "slaves/tech.itwish.cn.zone";        allow-transfer { none; };};zone "itwish.cn" IN {        type forward;        forward first;        forwarders { 192.168.4.110; 192.168.4.120; };};zone "goodoing.cn" IN {                             type forward;        forward first;        forwarders { 192.168.4.110; 192.168.4.120; };};[root@ns4 ~# vi /var/named/tech.goodoing.cn.zone $TTL 1D@       IN SOA  ns4  admin.tech.goodoing.cn. (                                        2018061002      ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum                IN      NS      ns3                IN      NS      ns4        IN      MX      10      mailns3     IN      A       192.168.4.130ns4     IN      A       192.168.4.140www     IN      A       192.168.4.130mail    IN      A       192.168.4.130[root@ns4 ~# chown root:named /var/named/*.zone [root@ns4 ~# chmod 640 /var/named/*.zone[root@ns4 ~# named-checkconf     [root@ns4 ~# service named configtest   [root@ns4 ~# rndc reload1 I' c1 u7 f" L: \+ i, U
7 d- w3 M' V, F- j7 D/ e! }6 F

4 A( z' W! D+ e7 C4 c- q( A
8)配置cach缓存DNS服务器,测试域名解析
[root@cach ~# vi /etc/named.conf options {        listen-on port 53 { 192.168.4.100; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursion yes;};zone "." IN {        type hint;        file "named.ca";};include "/etc/named.rfc1912.zones";[root@cach ~# vi /var/named/named.ca  .                        3600000      NS    A.ROOT-SERVERS.NET.A.ROOT-SERVERS.NET.      3600000      A     192.168.4.150    #将根服务器指向我们自己搭建的根DNS服务器[root@cach named# dig -t NS .;; QUESTION SECTION:;.                IN    NS;; ANSWER SECTION:.            82572    IN    NS    root.[root@cach named# dig -t NS cn;; QUESTION SECTION:;cn.                IN    NS;; ANSWER SECTION:cn.            86400    IN    NS    dns.cn.[root@cach named# dig -t NS itwish.cn;; QUESTION SECTION:;itwish.cn.            IN    NS;; ANSWER SECTION:itwish.cn.        86400    IN    NS    ns1.itwish.cn.itwish.cn.        86400    IN    NS    ns2.itwish.cn.[root@cach named# dig -t NS tech.itwish.cn;; QUESTION SECTION:;tech.itwish.cn.            IN    NS;; ANSWER SECTION:tech.itwish.cn.        86400    IN    NS    ns4.tech.itwish.cn.tech.itwish.cn.        86400    IN    NS    ns3.tech.itwish.cn.[root@cach named# dig -t NS tech.goodoing.cn;; QUESTION SECTION:;tech.goodoing.cn.        IN    NS;; ANSWER SECTION:tech.goodoing.cn.    86400    IN    NS    ns4.tech.goodoing.cn.tech.goodoing.cn.    86400    IN    NS    ns3.tech.goodoing.cn.[root@cach named# dig -t A www.tech.goodoing.cn;; QUESTION SECTION:;www.tech.goodoing.cn.        IN    A;; ANSWER SECTION:www.tech.goodoing.cn.    86400    IN    A    192.168.4.130: ^" ~7 g( d0 ], Z6 W" }7 \
2 v2 i5 s+ F. M" U% e9 F" j

* a$ ?! C! v5 G9 x
至此,linux DNS系统部署并调配完成,实现了内网根域及各主机的解析。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:32 , Processed in 0.100219 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表