Linux——高速缓存dns

来源:互联网 发布:spine mac 编辑:程序博客网 时间:2024/05/17 03:53

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

dns用来做地址解析
dig 域名                                      ##解析一个域名
第一次访问一个域名的时候花费的时间会比较长,但是当你第一次解析过之后,再次解析就会减少花费时间。
dns高速缓存,作用是提高本地其他人的访问速度。

##一.安装部署dns
yum install bind.x86_64 -y (用yum search 寻找出来的)
systemctl start named (打开这个服务的时候会收集系统信息,所以要敲键盘)
systemctl enable named
systemctl stop firewalld
systemctl disable firewalld
启动named的时候要敲键盘,那样会生成/etc/rndc.key
dns的文件 /etc/resolv.com
端口是53,但是开在回环接口只是在本机内部,外部接受不到,所以当你开启服务的时候,却依然无法使用其他主机的网络服务,所以需要将这个端口开到他的网卡上去,报错的原因是你的服务不可到达,因为是开在了回环接口上。


#主配置文件:/etc/named.conf
#子配置文件: /etc/name.rfc1912.zones
#数据目录: /var/named

##二.高速缓存dns
vim /etc/named.conf
11行 listen-on port 53 {any;};后面的ip改为any ##接口在所有的网络地址打开
17行 allow-query {any;};后面localhost 改成any ##能够查询你当前dns的客户群体
18行添加: forwarders {172.25.254.54;}; ##当你的dns被询问地址却不知道的时候就会去54寻找


#测试
在客户主机
vim /etc/resolv.conf
nameserver 172.25.254.100
dig www.baidu.com

##三.权威dns的正向解析        ##给定一个域名,会解析出来IP
vim /etc/named.rfc1912.zones
zone "zjj.com" IN {
    type master;
    file "zjj.com.zone";
    allow-update {none;};
}


cd /var/name/
cp -p named.localhost zjj.com.zone    ##用-p是因为要把这个文件的所与属性都复制过来

vim zjj.com.zone


  1 $TTL 1D
  2 @       IN SOA  dns.zjj.com. (后面要带个点)root.zjj.com. (                               
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.zjj.com.
  9 dns     A       172.25.254.238
 10 www     A       172.25.254.111


#测试:
dig www.zjj.com

##四.反向解析        ##给定一个IP,给你解析出来域名

vim /etc/named.rfc1912.zones
zone "254.25.172.(要反着写,如果ip是172.25.254)in-addr.arpa" IN {          
    type naster;
    file "zjj.com.ptr";
    allow-update {none;};
};


cp named.loopback zjj.con.ptr -p
vim zjj.com.ptr
  1 $TTL 1D
  2 @       IN SOA   dns.zjj.com. root.zjj.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.zjj.com.
  9 dns     A       172.25.254.154
 10 100     PTR     www.zjj.com.


systemctl restart named

#测试:
dig -x 172.25.254.154

#五.dns双向解析              ##有选择性的让不同的网段查看不同的内容,主要表现为内外网访问地址的区别。
vim /etc/named.conf
 51 view localnet {
 52         match-clients {172.25.254.254;};
 53         zone "." IN {
 54                 type hint;
 55                 file "named.ca";
 56 };
 57 include "/etc/named.rfc1912.zones";
 58 include "/etc/named.root.key";
 59 };

网址为172.25.254.254的主机在使用dns上网的时候可以看到/etc/named.rfc1912.zones的内容

 60 view any {
 61         match-clients {any;};
 62         zone "." IN {
 63                 type hint;
 64                 file "named.ca";
 65 };
 66 include "/etc/named.rfc1912.zones.inter";
 67 include "/etc/named.root.key";
 68 };


cp /etc/named.rfc1912.zones /etc/named.rfc.1912.zones.inter
vim /etc/named.rfc1912.zones.inter
 24 zone "zjj.com" IN {
 25         type master;
 26         file "zjj.com.inter";
 27         allow-update { none; };
 28 };


cp -p westos.com.zone zjj.com.inter


vim westos.com.inter
  1 $TTL 1D
  2 @       IN SOA  dns.zjj.com. root.zjj.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.zjj.com.
  9 dns     A       1.1.1.238
 10 www     A       1.1.1.138


dns的配置文件比较特殊,注释等于全部开启。
当你在主dns进行过更改的时候如果不修改serial(对比一致性,来自westos.com.inter)的值(最大十位,超过不生效,所以一般使用年月日和第几次修改做标示,正好十位),辅助dns不会进行识别,
用stat zjj.com.inter 可以查看同步信息,


##六.辅助dns
主dns的设定
vim /etc/named.rfc1912.zones.inter            ##修改的话最好不要用最近使用过的数字,因为可能存在缓存,导致同步不成功


systemctl restart named
注意:每次更改A记录文件后必须更改serial的数值,这个数值最大十位。
辅助dns上
yum install bind -y
systemctl start named
systemctl stop firewalld
vim /etc/named.conf        ##修改的内容和刚刚开始配置dns服务一样的修改,两个地方改成any
vim /etc/named.rfc1912.zones
zone "zjj.com" IN {
        type slave;
        masters{172.25.254.238;};
        file "slave/zjj.com.inter";
        allow-update { none; };
 };


systemctl restart named

#测试
将/etc/reslove.conf分别修改两个dns的地址,然后dig尝试

##七.dns的远程更新
chmod g+w /var/named
做下一个实验之前 cp -p /var/named/zjj.com.inter /mnt/
vim /etc/named.rfc1912.zone.inter
zone "zjj.com" IN {
        type master;
        file "zjj.com.inter";
        allow-update { 172.25.254.254; };
        also-notify {172.25.254.254; };
};

systemctl restart named
#测试
#在远程主机中 nsupdate
#> server 172.25.254.154     #添加
#> updata add bbs.zjj.com 86400 A 1.1.1.3
#> send
#> server 172.25.254.100    #删除
#> update delete bbs.zjj.com
#> send
#
#基于key的
cp /etc/rndc.key /etc/zjj.key -p
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST zjj
cat Kzjj+的密钥
vim /etc/zkk.key
 key "rndc-key" {
       algorithm hmac-md5;
       secret "5eGJvqN9mw1NiYqQx3CQmA==";
};

vim /etc/named.conf
include "/etc/zjj.key";

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

vim /etc/named.rfc1912.zones.inter
zone zjj.com" IN {
        type master;
        file "zjj.com.inter";
        allow-update { key zjj; };
        also-notify {172.25.254.138; };
};

#测试
scp 把公钥和私钥都考过去
在有key的主机中执行nsupdate




##8.ddnsvim

主dns上

/etc/named.conf

vim /etc/dhcp/dhcpd.conf


systemctl restart dhcpd

systemctl restart named

辅助dns上,网络设置为dhcp