问题产生背景
最近环境上有个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