1.DNS简介
DNS全称为Domain Name System,它提供把域名转换为IP的功能。比如把www.21.php.com这样的域名转换为211.152.50.35这样的IP地址。如果没有DNS,我们浏览网站就必须输入网站的IP地址进行访问,而提供DNS服务的就是DNS服务器。DNS服务器分为三种:高速缓存服务器,主服务器,辅助服务器。
2.配置DNS服务
配置DNS实验步骤:
<1>准备两台主机(虚拟机也可以),修改IP分别为172.25.254.200和172.25.254.100(ip地址随意,保证在同一网段并且自己能区分开服务器和客户端就行)。假设172.25.254.200是DNS服务器,172.25.254.100是客户端。修改服务器200的主机名为server,客户端主机名为client方便实验。
<2>linux下的DNS功能是通过bind软件来实现的。因此两台主机要配置好yum源,在server主机(服务器)和客户端(client)上安装bind软件:
[root@servr ~]# yum install bind -y ##安装bind
[root@servr ~]# systemctl start named ##启动named服务
[root@servr ~]# systemctl enable named ##开机自启named服务
[root@servr ~]# systemctl stop firewalld ##关闭火墙
[root@servr ~]# vim /etc/named.conf/ ##修改named.conf
vim:
11 listen-on port53{any;};
12 listen-on-v6 port53{any;};
17 allow-query{any;};
18 forwarders{172.25.254.200;};
32 dnssec-validation no;
:wq
[root@servr ~]# systemctl restart named ##重启named服务
<3>客户端配置:
[root@client ~]# vim /etc/resolv.conf
在第三行编辑:nameserver 172.25.254.200(DNS服务器ip)
:wq
在客户端测试:
[root@client ~]# dig www.baidu.com
3.正向解析
服务端(server):
[root@servr ~]# vim /etc/named.rfc1912.zones
复制19行到23行的代码粘贴到第24行并对粘贴的代码进行修改:
25 zone “westos.com” IN {
26 type master;
27 file “westos.com.zone”;
28 allow-update { none; };
29 };
[root@servr ~]# systemctl restart named
[root@servr ~]# cp -p /var/named/named.localhost /var/named/westos.com.zone
[root@servr ~]# vim /var/named/westos.com.zone
vim:
2 @ IN SOA dns.westos.com. root.westos.com.(
9 dns A 172.25.254.200
10 www A 172.25.254.111
:wq
[root@servr ~]# systemctl restart named
客户端(client)测试:
[root@client ~]# dig www.westos.com
4.反向解析
服务端(server):
[root@servr ~]# cp -p /var/named/westos.com.zone /var/named/westos.com.ptr
[root@servr ~]# vim /var/named/westos.com.ptr
vim:
9 111 PTR www.westos.com
:wq
[root@servr ~]# vim /etc/named.rfc1912.zones
vim:复制43行到47行的代码粘贴到第48行并对粘贴的代码进行修改:
49 zone “254.25.172.in-addr.arpa” IN {
51 file “westos.cpm.ptr”;
:wq
[root@servr ~]# systemctl restart named
客户端(client)测试:
dig -x 172.25.254.111
5.加密
服务端(server):
[root@servr mnt]# dnssec-kengen -a HMAC_MD5 -b 128 -n HOST westos
[root@servr mnt]# cp /etc/rndc.key /etc/westos.key -p
[root@servr mnt]# vim /etc/westos.key
vim:
1 key”westos”{
3 secret”加密字符”;
:wq
[root@servr mnt]# vim /etc/named.conf
vim:
42 include “/etc/westos.key”;
:wq
[root@servr mnt]# vim /etc/named.rfc1912.zones
vim:
28 allow-update {key westos;};
:wq
[root@servr ~]# systemctl restart named
[root@servr mnt]# scp 钥匙 root@172.25.254.100:/mnt/
客户端(client):
[root@client ~]# cd /mnt/
[root@client mnt]# nsupdate -k 私钥
server 172.25.254.200
update add hello.westos.com 86400 A 172.25.254.100
send
在服务端(server)测试:
[root@servr mnt]# dig hello.westos.com
6.ddns
服务端(server):
[root@servr ~]# yum install dhcp -y
[root@servr ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:overwirte ‘/etc/dhcp/dhcpd.conf’? y
[root@servr ~]# vim /etc/dhcp/dhcpd.conf
vim:
14 去掉# 并把none改为interim
其它的按照配置dhcp服务的方法配置
:wq
[root@servr ~]# systemctl restart dhcpd
[root@servr ~]# vim /etc/dhcp/dhcpd.conf
vim:
35 key westos {
36 algorithm hmac-md5;
37 secret 加密字符;
38 };
39 zone westos.com {
40 primary 172.0.0.1;
41 key westos;
42 }
:wq
[root@servr ~]# systemctl restart dhcpd.service
[root@servr ~]# systemctl restart named
客户端(client):
[root@servr ~]# hostnmaectl set-hostname westos.example.com
[root@servr ~]# reboot
[root@westos ~]# vim /etc/sysconfig/network-scripts/ifcfg-Ethernet_connection_1
vim:
BOOTPROTO=dhcp
NAME=westos
DEVICE=eth0
ONBOOT=yes
:wq
[root@westos ~]# systemctl restart network
[root@westos ~]# ifconfig
能自动获取在/etc/dhcp/dhcpd.conf里配置的ip就说明ddns配置成功