DNS
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
DNS高速缓冲
作dns服务器的主机必须可以上网
DNS服务端:server1 172.25.66.250
DNS测试端:server2 172.25.66.11
一、服务端中的配置
1:yum install bind -y ###安装bind软件
rpm -qc bind ###查看bind的配置文件是什么
vim /etc/named.conf
修改:第11行 listen-on port 53 {any;};
第17行 allow-query {any;};
第35行 dnssec-validation no;
第18行写入:forwarders {192.168.43.1;};
systemctl restart named ####每次修改完此文件后都要重启dns
vim /etc/resolv.conf
写入:nameserver 172.25.66.250 ######本机ip###
systemctl restart network
dig www.baidu.com
ping www.baidu.com
– NOERROR : 查询成功
– NXDOMAIN : DNS 服务器提示不存在这样的名称
– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
– REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
二、在测试端
1:vim /etc/resolv.conf
写入:nameserver 172.25.66.250
systemctl restart network
dig www.baidu.com
DNS正向解析
正向域名解析,即DNS解析,是通过域名查询IP的解析方式。
vim /etc/named.rfc1912.zones
25行:
zone “westos.com” IN {
type master;
file “westos.com.zone”;
allow-update{none;};
};
cd /var/named
cp -p named.localhost westos.com.zone
vim /var/named/westos.com.zone
写入:第2行SOA后 两个名字可随便写@ IN SOA dns.westos.com. gd.westos.com.
第8行:NS dns.westos.com.
第9行:dns A 172.25.66.250
第10行:hello A 172.25.66.110
systemctl restart named
dig dns.westos.com
dig hello.westos.com
systemctl start named
systemctl enable named
systemctl stop firewalld
systemctl disable firewalld
vim /etc/named/westos.com.zone
写入:www CNAME node1.westos.com. ###把规则的域名变成不规则的域名
node1 A 172.25.66.111
node1 A 172.25.66.222
在测试端server2中查看解析
第一次:
第二次:
反向地址解析
1:编辑 /etc/named.rfc…文件 复制36行及以下六行到第48行
修改为:
zone “66.25.172.in-addr.arpa” IN {
type master;
file “westos.com.ptr”;
allow-update { none; };
};
2:进入 /var/named目录
cp -p named.loopback westos.com.ptr
vim wstos.com.ptr
$TTL 1D
@ IN SOA dns.westos.com. gd.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.103
111 PTR www.westos.com.
222 PTR hello.westos.com.
3:systemctl restart named
4:在测试端:
dig -x 172.25.66.111 ###-x表示反向解析###
#############
1:进入/var/named目录
cp -p westos.com.zone westos.com.inter
2:cp -p /etc/named.rfc…zones /etc/named.rfc…inter
3:vim /etc/named.rfc…inter
将上次写的westos.com.zone的zone改为inter
4:vim /etc/named.conf
(1)注释51-57行
添加:
view localnet {
61 match-clients { 172.25.254.103; };
62 zone “.” IN {
63 type hint;
64 file “named.ca”;
65 };
66 include “/etc/named.rfc1912.zones”;
67 };
68 view inter {
69 match-clients { any; };
70 zone “.” IN {
71 type hint;
72 file “named.ca”;
73 };
74 include “/etc/named.rfc1912.inter”;
75 };
5:systemctl restart named
6:dig www.westos.com
7:换台主机测试 dig www.westos.com
########添加一台辅助服务器####
1:注释掉主服务器dns主配置文件最后写的部分
2:开启另外一台主机
下载bind
关闭并禁止防火墙开机自启动
打开named
3:修改dns主配置文件 any
4:编辑/etc/named.rfc1912.zones
zone “westos.com” IN {
type slave;
masters { 172.25.66.250; };
file “slaves/westos.com.zone”;
allow-update { none; };
};
5:dig www.westos.com
6:######如果主服务器中westos.com.zone文件中的ip修改了,在辅助服务器中是不会同步的,需要在主服务器中编辑文件/etc/named.rfc1912.zones
zone “westos.com” IN {
type master;
file “westos.com.zone”;
allow-update { none; };
also-notify { 172.25.66.12; };
};
###并且在每次修改westos.com.zone文件时,都要修改更新次数
vim westos.com.zone
7:systemctl restart named
更新dns
1:在主服务器
进入/var/named
cp -p westos.com.zone /mnt
chmod 770 /var/named
vim /etc/named.rfc1912.zones
zone “westos.com” IN {
type master;
file “westos.com.zone”;
添加 allow-update { 172.25.66.11; };
also-notify { 172.25.66.12; };
};
systemctl restart named
2:在上一步添加的主机中更新 ###作这一步时主服务器中named组必须对/var/named有可写权限
nsupdate
server 172.25.66.11
update add test.westos.com 86400 A 172.25.66.111
send
3:在主服务器
dig test.westos.com
4:在辅助服务器
dig test.westos.com
5:删除更新
在/var/named目录中删除 westos.com.zone*
cp -p /mnt/westos.com.zone .
systemctl restart named
key加密更新
1:cd /mnt/
生成锁和钥匙
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
2:cp /etc/rndc.key /etc/westos.key -p
vim /etc/westos.key
key “westos” {
algorithm hmac-md5;
secret “roY3hhOiCjkspeBOIARhWw==”; 将此处的key改为上面图中cat看到的红框中的key
};
3:将文件添加到dns主配置文件
vim /etc/named.conf
第45行
include “/etc/westos.key”;
4:vim /etc/named.rfc1912.zones
zone “westos.com” IN {
type master;
file “westos.com.zone”;
添加 allow-update { key westos; };
also-notify { 172.25.66.12; };
};
5;systemctl restart named
6:scp 锁和钥匙 root@172.25.66.12:/mnt/
7:到服务端server2
nsupdate -k Kwestos.+157+40653.key
> server 172.25.66.11
> update add hello.westos.com 400 A 172.25.66.222
> send
8:到server1中测试
动态域名解析DDNS
有时候我们想把一台主机作为服务器,但是这台主机的IP是变动的,这时候我们就需要进行动态域名解析。
动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。
实验操作
1:在主服务器中安装dhcp并配置文件(dhcp基本安装见DHCP设定)
vim /etc/dhcp/dhcpd.conf
7 option domain-name "westos.com";
8 option domain-name-servers 172.25.66.166;
14 ddns-update-style interim;
29 subnet 172.25.66.0 netmask 255.255.255.0 {
30 range 172.25.66.80 172.25.66.90;
31 option routers 172.25.66.11;
32 }
33 key westos {
34 algorithm hmac-md5;
35 secret qxqo2waITGDFL1wwAs9Bug==;
36 };
37 zone westos.com. {
38 primary 127.0.0.1;
39 key westos;
40 }
systemctl restart dhcpd
3:在服务主机中172.25.66.12
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
PERSISTENT_DHCLIENT=1
systemctl restart network
ifconfig 查看获得到的ip
4:dig linux.westos.com