企业级域名解析服务DNS

DNS

权威名称服务器:存储并提供某区域(整个DNS域或DNS域的一部分)的实际数据。
权威名称服务器 类型包括:
    Master:包括原始区域数据。有时称作"主要"名称服务器。
    Slave:备份服务器,通过区域传送从Master服务器获得的区域数据的副本。有时称作"次要"名称服务器
    非权威/递归名称服务器的类型包括仅缓存名称服务器:仅用于查找,对于非重要>数据之外的任何内容都不具有权威性
DNS查找
     客户端上的Stub解析器将查询发送至/etc/reslove.conf的名称服务器nameserver
如果名称服务器对于请求的信息具有权威性,会将权威答案发送至客户端,否则如果名称服务器在其缓存中有请求的信息,则会将非权威答案发送至客户端;
如果缓存区没有该信息,名称服务器将搜索权威名称服务器以查找信息,从根区域开始,按照DNS层次结构向下搜索,直至对于信息

具有权威性的名称服务器,以此为客户端获得答案。

1>高速缓存DNS

named.conf为DNS配置文件
一些重要的opinions指令

listen-on 控制named侦听的ipv4地址

listen-on-v6 控制named侦听的ipv地址

allow-query 控制哪些客户端可以向DNS服务器询问信息

forwarders  包括DNS查询将转发至的名称服务器的列表(而不是直接联系外部名称服务器;在设有防火墙的情况下很有用)

注意:所有这些指令会将大括号中以分号分隔的元素视为地址匹配列表。
1.yum install bind.x86_64 #服务端安装高速缓存服务

2.vim /etc/named.conf #编辑DNS的配置文件
options {
 11         listen-on port 53 { any; }; #任意ip4的地址都可以侦听
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         allow-query     { any; }; #允许任何用户向DNS-server访问信息(dig www.baidu.com)
 18         forwarders     {114.114.114.114;}; #内部名称服务器

 29         recursion yes;
 30
 31         dnssec-enable yes;
 32         dnssec-validation no;
 33         dnssec-lookaside auto;

3.systemctl restart named #重启该服务

4.vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=172.25.254.64 #设置网关
NETMASK=255.255.255.0 

5.vim /etc/resolv.conf
nameserver=114.114.114.114
dig www.baidu.com

vim  /etc/named.conf #打开访问限制,打开dns服务

在客户端
vim /etc/resolve.conf
nameserver=172.25.254.132 #名称服务器

dig www.baidu.com

dig www.qq.com

vim  /etc/reslove.conf

客户端访问


2>正向解析:

正向解析:根据域名获取ip
反向解析:根据ip获取域名

1.vim /etc/named.rfc1912.zones 
2.cd /var/named/
3.cp  -p  named.localhost    westos.com.zone
4.vim westos.com.zone
$TTL 1D
@#表示westos.com       IN SOA dns.westos.com.#dns解析  lala.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
 NS      dns.westos.com.
dns     A       172.25.254.132
hello   A       172.25.254.101
5.systemctl restart named

vim /etc/named.rfc1912.zones


vim westos.com.zone


本机访问hello.westos.com


2.1>正向轮循式域名解析
1.vim westos.com.zone
www   CNAME    node1.westos.com.
node1   A       172.25.254.222
node2   A       172.25.254.111
2.systemctl restart named

3.dig www.westos.com

vim westos.com.zone


dig www.westos.com


 3>反向解析
 1.cd /var/named/
 2.vim /etc/named.rfc1912.zones
 49 zone "254.25.172.in-addr.arpa" IN { #反向ip
 50         type master;
 51         file "westos.com.ptr";
 52         allow-update { none; };
 53 };
 3.ls
 4.cp -p named.loopback  westos.com.ptr #复制编写内容的模板
 5.ls
 6.vim westos.com.ptr
$TTL 1D
@ #172.25.254       IN SOA  dns.westos.com. root(身份).westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       172.25.254.132
111     PTR     www.westos.com.
222     PTR     nihao.westos.com
 7.systemctl restart named
 8.dig -x 172.25.254.111

实验操作如下


vim /etc/named.rfc1912.zones


vim westos.com.ptr

反向解析访问


4>双向域名解析
1  cp -p westos.com.zone westos.com.inter
2  ls
3  vim westos.com.inter
$TTL 1D
@       IN SOA dns.westos.com.  lala.westos.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.westos.com.
dns     A       182.25.254.132
hello   A       182.25.254.101
www   CNAME    node1.westos.com.
node1   A       182.25.254.222
node1   A       182.25.254.111

vim /etc/named.rfc1912.inter #外网访问文件


4  cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter

5  vim /etc/named.rfc1912.inter
 

 vim /etc/named.rfc1912.inter 

vim /etc/named.rfc1912.zones #本机访问文件

vim /etc/named.rfc1912.zone


 6  vim /etc/named.conf  #named 配置文件50-58行
在本地访问时是/etc/named.rfc1912.zones中查询的
 59 view  localnet {
 60   match-clients  { 172.25.254.132; };
 61   zone "." IN{
 62           type hint;
 63           file "named.ca";
 64 };
 65 include "/etc/named.rfc1912.zones";
 66 };
外网查询时是在/etc/named.rfc1912.inter中查询的
 67  view  inter {
 68   match-clients { any;};
 69   zone "." IN{
 70          type hint;
 71          file "named.ca";
 72      };
 73 include "/etc/named.rfc1912.inter";
 74 };

双向解析主配置文件

实验操作:

132即本机访问

7  systemctl restart named

8  在132的虚拟机访问
  dig www.westos.com

外网访问

5>DNS配置更新同步
1.在dns-server上面服务端
vim /etc/named.conf
注释掉所有更改
vim /etc/named.rfc1912.zones
 19 zone "westos.com" IN {
 20         type master;
 21         file "westos.com.zone";
 22         allow-update { 172.25.254.232; };#允许同步更新
 23         also-notify { 172.25.254.232;}; #并且告知172.25.254.232
 24 };
 
5.当dns-server进行更改的时候
vim /var/named/westos.com.zone
@       IN SOA dns.westos.com.  lala.westos.com. (
                                        0       ; serial
在主服务段更改一次,serial 上写一次,这样才会被比较更新到dns-slave上面

vim /etc/named.rfc1912.zones

在dns-slave配置辅助主机上面,安装bind,打开named服务,关闭防火墙

1.hostnamectl  set-hostname dns-slave.example.com

2.yum install  bind.x86_64

3.systemctl stop firewalld

4.systemctl enable named

5.vim /etc/named.conf

6. vim /etc/named.rfc1912.zones
 19 zone "localhost" IN {
 20         type master;
 21         file "named.localhost";
 22         allow-update { none; };
 23 };
 25 zone "westos.com" IN {
 26         type slave;
 27         masters {172.25.254.132; };#以132为主机
 28         file "slaves/westos.com.zone"; #当132更新时,改机会在slaves目录下生成一个更新后的文件westos.com.zone并同步到该机
 29         allow-update { none; };
 30 };
7.systemctl restart named
 

vim /etc/named.conf


vim /etc/named.rfc1912.zones

当132进行更改时vim /var/named/westos.com.zone


232辅助操作


232访问更改后的

6.1>DNS配置更新
1.cd /var/named/

2.cp westos.com.zone /mnt/ -p #复制该文件并同步权限

3.chmod 770 /var/named/ #给/var/named/添加权限

vim  /etc/named.rfc1912.zones


在232辅助端上面

nusupdate
> server 172.25.254.132
> update add test.westos.com 86400 A 172.25.254.111 #添加test.westos.com域名和解析到westos.com.zone
> send
> quit

在132主机上面/var/named/生成更新文件
ls #生成westos.com.zone.jnl
dig test.westos.com
rm -f /var/named/westos.com.zone*
systemctl restart named
ls
cat /var/named/westos.com.zone #是被更改的状态
rm -f /var/named/westos.com.zone
cp -p /mnt/westos.com.zone .

在232上面
> server 172.25.254.132
> update delete test.westos.com 
> send
> quit

删除test之后

6.2>DNS加密配置更新
1.cd /mnt
2.dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos #加密命令 -a 添加 HMAC-MD5 加密方式 -n 密钥名称
3.cp /etc/rndc.key  /etc/westos.key -p #复制密钥模版
4.cat Kwestos.+157+44512.key #查看密码
6.vim /etc/westos.key  
key "westos" { #钥匙名称
        algorithm hmac-md5;
        secret "6SmsuY+T7Ss8np1iGHOjLA=="; #密码
};
 7. vim /etc/named.conf
 42 include "/etc/westos.key"; #添加加密文件
 8.vim /etc/named.rfc1912.zones
 19 zone "westos.com" IN {
 20         type master;
 21         file "westos.com.zone";
 22         allow-update { key westos; }; #只允许有钥匙的客户端访问
 23         also-notify { 172.25.254.232;};
 24 };
9.scp Kwestos.+157+44512.* [email protected]:/mnt/
10.systemctl restart named

加密实验操作


加密后/etc/named.conf


vim /etc/named.rfc1912.zones


在232/mnt/有westos.key上
1.cd /mnt/
2.ls 查看该路径下是否有key
 nsupdate -k Kwestos.+157+44512.private
> server 172.25.254.132
> update add hello.westos.com 86400 A 172.25.254.121
> send
> quit
dig hello.westos.com


132主机上会生成/var/named/westos.zones.jrl文件并访问添加lala.westos.com

7>DDNS高速缓存DNS
1.yum install dhcp
2.cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
3.vim /etc/dhcp/dhcpd.conf
# option definitions common to all supported networks...
  7 option domain-name "westos.com";
  8 option domain-name-servers 172.25.254.132;
  9
 30 subnet 172.25.254.0 netmask 255.255.255.0 {
 31   range 172.25.254.91 172.25.254.100;
 32   option routers 172.25.254.132;
 33 }
 34 key westos {
 35          algorithm hmac-md5;
 36          secret 6SmsuY+T7Ss8np1iGHOjLA==;#密码
 37        };
 38
 39 zone westos.com. {
 40          primary 127.0.0.1;#回环接口
 41          key westos;
 42        }
4.systemctl restart dhcpd.conf

dhcp 配置文件

实验操作如下


在dhcp客户端
将主机名改为域名为westos.com的名称,ip获取方式为动态获取
1.更改主机名:
hostnamectl set-hostname linux.westos.com

2.在dhcp客户端上设置ifcfg-eth0的配置文件,在拔掉网线的情况

3.systemctl restart network

4.ifconfig

5.dig linux.westos.com
dig 主机名
查看解析出的ip是否随主机动态获取的ip变化而变化

dhcp客户端操作如下:


vim /etc/sysconfig/network-scripts/ifcfg-eth0

ifconfig查看从132上获得的动态ip

当dhcp服务端配置文件改变后并重启了dhcpd服务

vim /etc/dhcp/dhcpd.conf
systemctl restart dhcpd.conf

再次查看动态ip是否更新

dig  linux.westos.com


猜你喜欢

转载自blog.csdn.net/dreamer_xixixi/article/details/80417213