Think Deep,Work Lean

关于如何给bind加dns记录

Posted on By zack

问题产生背景

最近环境上有个dns无法解析某一个具体的域名,导致服务一直不正常。 在iaas底层找到dns server后,尝试过给dns直接配上该域名应该就能解决问题。 但是找到了bind服务,看半天却感觉没找到配置的地方,现在想回来了,在这记录。

什么是bind?

bind是dns server,简单来说就是提供域名到ip或是ip到域名的映射关系。

配置文件

先看下目录中的文件

root@pek3d-dnsmaster0:/etc/bind# tree .
.
├── bind.keys
├── db.0
├── db.10.in-addr.arpa
├── db.127
├── db.255
├── db.empty
├── db.ks.qingcloud.com
├── db.local
├── db.pek3.pek3cloud.com
├── db.pek3.pek3cloud.com.bak
├── db.pek3.pek3cloud.com.jnl
├── db.root
├── named.conf
├── named.conf.default-zones
├── named.conf.local
├── named.conf.options
├── rndc.conf
├── rndc.key
└── zones.rfc1918

0 directories, 19 files

找到主配置文件:

root@pek3d-dnsmaster0:/etc/bind# cat named.conf
# global options
include "/etc/bind/named.conf.options";

# internal zone
zone "pek3.pek3cloud.com" {  #类似这种的,其实是它是二级域名,说白了,就是一个正常域名的后缀。
    type master;
    file "db.pek3.pek3cloud.com";  # 这里提供了真正映射关系存储的地方,可以在当前目录下找到该文件

    # only allow local update
    allow-update { 127.0.0.1; };

};

# reversed internal zone, necessary when bind is blocked from outside
# the reversed_db_name shall cover the user network, i.e, 10.in-addr.arpa for 10.0.0.0/8
zone "10.in-addr.arpa" {
    type master;
    file "db.10.in-addr.arpa";
};

# kernel service
zone "ks.qingcloud.com" {
    type master;
    file "db.ks.qingcloud.com";

    # only allow local update
    allow-update { 127.0.0.1; };
};

打开存储文件

root@pek3d-dnsmaster0:/etc/bind# cat db.pek3.pek3cloud.com
$ORIGIN .
$TTL 604800     ; 1 week
pek3.pek3cloud.com      IN SOA  ns.pek3.pek3cloud.com. admin.pek3.pek3cloud.com. (
                                69         ; serial
                                604800     ; refresh (1 week)
                                86400      ; retry (1 day)
                                2419200    ; expire (4 weeks)
                                604800     ; minimum (1 week)
                                )
                        NS      ns.pek3.pek3cloud.com.
$ORIGIN pek3.pek3cloud.com.
api                     A       172.31.50.141  #像这种,它是api.pek3.pek3cloud.com对应的记录,下面类似。
i-56q3j9wy              A       10.240.15.3
i-5lcvekzm              A       198.19.0.18
i-c6g6mlry              A       198.19.0.19
i-e0pafmlx              A       198.19.0.17
i-h2tii8al              A       10.240.11.2
i-i2zcae90              A       198.19.0.16
i-ukm0owjm              A       10.240.15.2
ns                      A       172.31.50.142
rtr-eolv0xrl            A       10.240.15.2
rtr-oizdlhez            A       10.240.11.2

在这里配置完后,如何让其他主机来使用这个域名呢?

直接在主机中指定dns server的地址就Ok了。

root@n1x2:/data# cat /etc/resolv.conf
nameserver 172.31.50.142