DNS
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
安装部署dns
yum install bind -y
systemctl start named
systemctl enable named
systemctl stop firewalld
systemctl disable firewalld
主配置文件: /etc/named.conf
子配置文件: /etc/name.rfc1912.zones
数据目录: /var/named
高速缓存dns
vim /etc/named.conf
第11行
listen-on port 53 { any; }; ##虚拟机打开端口权限为所有
第17行
allow-query { any; }; ##允许任何用户
第18行
forwarders { 114.114.114.114; }; ##访问ip
第33行
dnssec-validation no; ##不发送给网警机构进行检测
systemctl restart named
测试:
在客户主机
vim /etc/resolv.conf
nameserver 172.25.254.168
dig www.baidu.com
权威dns的正向解析
在dns服务器
vim /etc/named.rfc1912.zones
24 zone "dzh.com" IN {
25 type master;
26 file "dzh.com.zone"; ##file里面是各个域名的解析
27 allow-update { none; };
28 };
cd /var/named/ ##dzh.com.zone编写的目录
cp -p named.localhost dzh.com.zone ##相同权限复制
vim dzh.com.zone
1 $TTL 1D
2 @ IN SOA dns.dzh.com. root.dzh.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dzh.com.
dns A 172.25.254.140
zyx A 172.25.254.169
clb A 172.25.254.170
systemctl restart named
##注意:dzh.com.zone里面的@表示etc/name.rfc1912.zones里面的zone后面的引号里面的内容,即dzh.com
如果没有.会自动补齐dzh.com
/etc/named.rfc1912.zones
/var/named/dzh.com.zone
#测试#
在测试主机中
vim /etc/resolv.conf
nameserver 172.25.254.140
dig zyx.dzh.com
CNAME
www CNAME bbs.a.dzh.com.
bbs.a A 172.25.254.222
bbs.a A 172.25.254.111
CNAME
又叫别名记录,我们可以这么理解,我们小的时候都会有一个小名,长大了都是学名,那么正规来说学名的符合公安系统的,那个小名只是我们的一个代名词而已,这也存在一个好处,就是不暴露自己,比如一个网站a.com在发布的时候,他可以建立一个别名记录,把B.com发不出去,这样不容易被外在用户所察觉!达到隐藏自己的目的!
同时这个是轮播的
测试
注意,不同时间测试,显示的ip可能不同,因为是轮播的
MX
dzh.com. MX 1 mail.dzh.com.
mail A 172.25.254.200
MX
全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!
反向解析
在dns服务器
vim /etc/named.rfc1912.zones
49 zone "254.25.172.in-addr.arpa" IN {
50 type master;
51 file "172.25.254.ptr"; ##file里面是各个域名的解析
52 allow-update { none; };
53 };
cd /var/named/ ##编写的目录
cp -p named.loopback 172.25.254.ptr ##相同权限复制
vim 172.25.254.ptr
1 $TTL 1D
2 @ IN SOA dns.dzh.com. root.dzh.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dzh.com.
dns A 172.25.254.140
140 PTR dns.dzh.com
141 PTR www.dzh.com.
142 PTR bbs.dzh.com
systemctl restart named
/etc/named.rfc1912.zones
/etc/named/172.25.254.ptr
测试:
dig -x 172.25.254.141
双向解析
在dns服务器
vim /etc/named.conf
view localnet {
57 match-clients { localhost; };
58 zone "." IN {
59 type hint;
60 file "named.ca";
61 };
62 include "/etc/named.rfc1912.zones";
63 };
64 include "/etc/named.root.key";
65 view internet {
66 match-clients { any; };
67 zone "." IN {
68 type hint;
69 file "named.ca";
70 };
71 include "/etc/named.rfc1912.inters";
72 };
注意把上面的"."的zone注释掉
在/etc/
cp -p named.rfc1912.zones named.rfc1912.inters
vim named.rfc1912.inters
zone "dzh.com" IN {
type master;
file "dzh.com.inter";
allow-update { none; };
};
在/var/named
cp -p dzh.com.zone dzh.com.inter
vim dzh.com.inter
$TTL 1D
@ IN SOA dns.dzh.com root.dzh.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dzh.com.
dns A 192.168.0.140
www CNAME bbs.a.dzh.com.
bbs.a A 192.168.0.222
bbs.a A 192.168.0.111
dzh.com. MX 1 mail.dzh.com.
mail A 192.168.0.200
/etc/named.conf
注意第一个view是针对本机的,读的文件是/etc/named.rfc1912.zones
第二个是针对其他机子的,读的文件是/etc/named.rfc1912.inters
/etc/named.rfc1912.inters
/var/named/dzh.com.inter
测试:
在本机,解析出来的是172
在别的机子,解析出来的是192
本机
外网
辅助dns
主dns的设定
vim /etc/named.rfc1912.zones
24 zone “dzh.com” IN{
25 type master;
26 file “dzh.com.zone”;
27 allow-update { none; };
28 also-notify { 172.25.254.240; };
29 };
systemctl restart named
注意:每次在更改A记录文件后必须更改serial的数值,这个数值最大10位
辅助dns上
yum install bind -y
systemctl restart named
systemctl stop firewalld
vim /etc/name.conf
vim /etc/named.rfc1912.zones
zone “dzh.com” IN{
type slave;
masters { 172.25.254.168; };
file “slaves/dzh.com.zone”;
allow-update { none; };
};
systemctl restart named
测试:
辅助
vim /etc/resolv.conf
nameserver 172.25.254.240
dig www.dzh.com
主dns更改再测试
未更改
主DNS更改并重启服务
注意:更改完后要更改serial前面的数字
注意规范:表示2019年2月17日的第二次修改
更改后
dns的远程更新
基于ip的
vim /etc/named.rfc1912.zones
zone “dzh.com” IN{
type master;
file “dzh.com.inter”;
allow-update { 172.25.254.240; };
also-notify { 172.25.254.240; };
};
chmod 770 /var/named
systemctl restart named
测试
在240
nsupdate
server 172.25.254.168
update add hello.dzh.com 86400 A 172.25.254.123
send
quit ##添加
dig hello.dzh.com
nsupdate
server 172.25.254.140
update delete bbs.dzh.com
send
quit ##删除
update产生的在140里的/etc/named/dzh.com.inter.jnl中
要重启服务才能到dzh.con.inter里
基于key
在主dns
dnssec-keygen -a HMAC-MD5 -b 128 -n host dzh
cp /etc/rndc.key /etc/dzh.key -p
vim /etc/dzh.key
key “dzh” {
algorithm hmac-md5;
secret “s8n0Yly0DTPaM6aislqBkQ==” ##加密字符用cat查看后复制过来
};
vim /etc/named.conf
42 include “/etc/dzh.key”;
vim /etc/named.rfc1912.zones
zone “dzh.com” IN{
type master;
file “dzh.com.inter”;
allow-update { key dzh; };
also-notify { 172.25.254.240; };
};
systemctl restart named
测试
将钥匙发送给辅助dns
scp Kdzh.+157+52339.* root@172.25.254.240:/mnt/
在辅助dns
nsupdate -k Kdzh.+157+52339.key
server 172.25.254.168
update add hello.dzh.com 86400 A 172.25.254.233
send
quit
如果遇到两台时间差别很大,需要同步时间