欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos 7 安装 bind

程序员文章站 2022-07-12 23:20:58
...

bind 是域名服务器的事实标准。centos 7下安装:

 

 

yum install -y bind 
systemctl enable named

 

bind 还有两个组件  

bind-chroot :改变bind 的运行根目录,提高安全性

bind-utils :提供了几个工具 dig,nsloopg,host,nsupdate,nsupdate

 

配置

默认下,bind 的入口配置是 /etc/named.conf

 该文件下包含以下配置

options :{} 指明named运行目录,安全

logging: {} 日志

zone: {} 域名配置

 

基本配置

 

#/etc/named.conf
options {
        directory "var/named";
        recursion yes;
};
zone "my.com" {
        type master;
        file "my.com.zone";
};
zone "cname.com" {
        type master;
        file "cname.com.zone";
};
zone 中的域名信息由 file 字段指定,file 存放在options中的directory下,比如 my.com.zone文件如下

 

 

$TTL 7200  
my.com. IN SOA my.com. mailuser.my.com. (1111 1H 20M 1W 1D) 
my.com. IN NS dns1.my.com.
dns1.my.com. IN A 192.168.137.77
www.my.com. IN A 2.8.2.2
  以上配置,首先指定 域名有效时间是 7200秒

 

  再指定 SOA(权威站点) 是my.com. 中指定,管理员邮件地址是mailuser@my.com,由于@字符在bind配置文件中的特殊含义,所以写成 mailuser.my.com.  (1111 1H 20M 1W 1D) 的表达 的是:序列号是1111, 更新周期 1小时,失败重试时间是20分钟,有效期是1周,最短有效期是1天

  然后指定 my.com. 的 NS 记录是在 dns1.my.com. ,dns1.my.com.的A记录是 192.168.137.77 

  最后指定 www.my.com 的 A记录是 2.8.2.2

 

CNAME配置

比如www.cname.com的CNAME是www.my.com.,在  cname.com.zone 中:

 

$TTL 8200
@ IN SOA cname.com. ccc.cname.com (1200 1H 20M 1W 1D)
@ IN NS dns1.cname.com.
dns1 IN A 192.168.137.77
www IN CNAME www.my.com. 

 

@符的含义

   上面 cname.com.zone 文件中出现在@符。 @符的含义是 :当前站点。在上述配置中就是指 cname.com

 子域查询

如果 my.com.下有个三级域名 third.my.com.,还有四级域名 fourth.third.my.com ,但存放四级域名信息在另外一台DNS服务器,则可以通过子域名查询。子域查询要求 options 下的 recursion 打开。

$TTL 7200  
my.com. IN SOA my.com. mailuser.my.com. (1111 1H 20M 1W 1D) 
my.com. IN NS dns1.my.com.
dns1.my.com. IN A 192.168.137.77
www.my.com. IN A 2.8.2.2
thir.my.com IN NS dns3.third
dns3.thrid IN A 192.168.137.23

FORWARD查询

forward 查询一般是指,将本机的请求转发到另一台DNS机器上

zone "other.com" {
    type forward;
    forward {192.168.2.33l};
}

 

反向解析配置

反向解析是根据 IP 地址查询域名,一般是邮件服务器在收到邮件后,根据源IP去查询源域名信息。比如现有一台机器 192.168.4.50 的域名是 mail.my.com

zone "4.168.192.in-addr.arpa" {
    type master;
    file  "192.168.4.zone";
}

在 192.168.4.zone 文件中

@TTL 3600
@ IN SOA 4.168.192.in-addr.arpa mailuser.my.com (3001 1H 20M 1W 1D)
@ IN NS  dns1.my.com

在 my.com.zone文件中,也提供邮件域名的A地址,同时加入MA记录

$TTL 7200  
my.com. IN SOA my.com. mailuser.my.com. (1111 1H 20M 1W 1D) 
my.com. IN NS dns1.my.com.
dns1.my.com. IN A 192.168.137.77
www.my.com. IN A 2.8.2.2
@ IN MX 10 mail
mail.my.com  IN A 192.168.4.55

 

 

主从配置

 

#主服务器
zone "lb.com" {
    type master;
    notify yes;
    also-notify {192.168.137.55;};
    allow-transfer {192.168.137.55;};
    file "lb.com.zone"
}

#从服务器 
zone "lb.com" {
    type slave;
    file "lb.com.zone";
    master-ip {xxx.xxx.xxx.xxx;};
}
 主服务器的zone 配置文件如果改动了,一定要改动 SOA 的序列号,因为从机是根据序列号进行增量更新

 

#file  lb.com.zone  改之前
$TTL 7200
lb.com IN SOA lb.com. mailuser.lb.com (1111 1H 10M 1W 1D)

#改之后
lb.com IN SOA lb.com. mailuser.lb.com (1112 IH 1M 1W 1D)

 另外,为了保证安全,在主机上,要注意加上传输的限止,也就是

 allow-transfer {192.168.137.55;};

 除了指定IP,还可以通过 加密签名 进行限制。

 

智能DNS

所谓智能DNS就是根据访客的地区提供不同的A记录。让用户找到最近的服务器。需要新增两个配置:

1 ACL 表示这个区域下的一批IP段,

2. view ,每个view 中指定对应的ACL,以及相应的zone配置

#ACL 文件
acl alcname {
   102.56.8.0/24;
   .....
}

  #/etc/named.conf

options {
        directory "var/named";
        recursion yes;
};
include "/var/named/chineunicom.acl"
include "/var/named/chinemobile.acl"
view "chineunicom"{
   recursion no;
   client-match {chineunicom;}
   zone "my.com" {
        type master;
        file "my.com.zone";
   };
   zone "cname.com" {
        type master;
        file "cname.com.zone";
   };
}
view "chinemobile"{
  ...
}

 

 

客户端工具

客户端工具有 host,nslookup,dig,都可以进行正向反向查询。dig 工具最强大

#正向查询
dig  www.my.com
#反向查询
dig -x 192.168.4.55

#指定DNS服务器
dig @8.8.8.8 www.csdn.com

 

 

相关标签: dns bind