DNS及DDNS

来源:互联网 发布:淘宝里怎么找我的店铺 编辑:程序博客网 时间:2024/06/07 03:52

**********DNS文档********

1、基本信息

DNS服务可以为用户提供域名和IP地址之间的自动转换,通过DNS,用户只需要输入机器的域名即可访问相关的服务,而无须使用那些难以记忆的IP地址。

2、配置yum源

yum  install  bind  -y           *******下载软件包******

systemctl   start  named      *****开启服务,第一次启动需在键盘上敲击任意字符,以创建加密字符,文件自动存在/etc/rndc.key

3、配置防火墙

firewall-cmd   --list-all        *****列出火墙详细信息*******

firewall-cmd   --permanent    --add-service=dns   *****防火墙开启dns服务

firewall-cmd  --reload      *****更新火墙*****

3、端口

netstat -antp | grep named     ******查看dns端口号,未配置时只有本地的53端口开启*****vim /etc/named.conf 11  listen-on port 53 {any;};      ####设定端口开放#####

4、配置文件

1)、网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

2)、本地的主机名称解析文件:/etc/hosts

***在Linux系统中的“/etc/hosts”文件中,可以保存需要经常访问的主机的主机名与IP地址的对应记录。通常在没有搭建DNS服务器的情况下,可以在该文件中添加DNS服务器地址记录。*****

该文件保存主机名与IP地址的对应记录格式为:
 

  1. IP地址         域名                 主机名 

*****文件中前两行信息是默认的,分别代表IPv4的地址和IPv6地址。最后一行,记录了192.168.1.1的主机和域名的对应关系。******
 

3)、域名服务器配置文件:/etc/resolv.conf

4)、 主机名称配置文件:/etc/sysconfig/network           *****为了方便区分不同的主机,定义一个自己容易记住的名称,安装系统时也可以设置主机名称***

5)、vim    /etc/named.conf

allow-query { any ; };

如果设置其他情况,修改大括号“{}”中的localhost就可以了。any表示允许所有,如允许192.168.1.0网段,设置为“192.168.1.0/24”,具体的主机设为“主机的IP”。

forwarders { 172.25.254.250; }; ####forwarders用来列出要用来作为转发器的服务器的IP地址,使用转发器可绕过从根服务器开始按正常流程检索的正常过程。######
 dnssec-validation no;     ###第一次访问时会有延迟,第二次时会高速缓存缩短时间###

正向解析:把域名变成ip

vim /etc/named.rfc1912.zones

zone "westoslinux.com"IN{

        type master;

       file"westoslinux.com.zone";

       allow-update {none;};

};

 cd /var/named/

cp -p named.localhost westoslinux.com.zone

vim /var/named/westoslinux.com.zone

###########################################

全局TTL配置项及SOA记录

在区域数据库配置文件中,通常包括TTL配置项、SOA(Start Of Authority,授权信息开始)记录和地址解析记录,以分号“;”开始的部分表示注释信息。下面对这些信息进行介绍。

  1. $TTL 1D                                          //设置有效地址解析记录的默认缓存时间  
  2. @       IN SOA  @ rname.invalid. (               //设置SOA标记、域名、域管理邮箱  
  3.                                                  //更新序列号,用于标记地址数据库的变化,可以是10位以内的整数  
  4.                   0       ; serial    
  5.                                                 //刷新时间,从域名服务器更新该地址数据库文件的间隔时间  
  6.                   1D      ; refresh    
  7.                                                  //重试延时,从域名服务器更新地址数据库失败以后,等待多长时间再次尝试  
  8.                   1H      ; retry      
  9.                                                   //失效时间,超过该时间仍无法更新地址数据库,则不再尝试  
  10.                    1W      ; expire    
  11.                                                   //设置无效地址解析记录(该数据库中不存在的地址)的默认缓存时间  
  12.                    3H )    ; minimum   
  13.         NS      dns.westoslinux.com.                            //域名服务器记录,用于设置当前域的DNS服务器的域名地址  
  14.  dns    A       172.25.254.142      
  15.  222    PTR       www.westoslinux.com            //设置域名服务器的A记录,地址为IPv4的地址127.0.0.1,可以设置成192.168.1                          //设置域名服务器的A记录,地址为IPv6的地址
测试:dig   -x  172.25.254.142


**************************DNS集群,辅助DNS*************************

主dns:
/etc/named.rfc1912.zones
   // allow-query  { example; };
  // allow-query-cache { example; };
zone "example.com" IN {
   type master;
   file "example.com.zone";
   allow-update { none; };
   allow-transfer { 192.168.0.4; };
};

辅dns:

(/var/named/chroot/var/named/slaves目录下会有主机的dns文
件),此时该机的dns设为本机地址
options {
//   listen-on port 53 { 127.0.0.1; };
    listen-on-v6 port 53 { ::1; };
    directory    "/var/named";
    dump-file    "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";

//    Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;

// allow-query      { localhost; };
//  allow-query-cache { localhost; };

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

};
};

不同的机器使用不同的dns:
主dns:named.conf
view localhost_resolver {
match-clients
{ localhost; };
       match-destinations { localhost; };
       recursion yes;
       include "/etc/named.rfc1912.zones";
       zone "example.com" IN {
       type master;
    };
};
     file "example.com.zone";
view internal_resolver {
       match-clients
       { 192.168.0.0/24; };
       match-destinations { 192.168.0.0/24; };
       recursion yes;
       include "/etc/named.rfc1912.zones";
       zone "example.com" IN {
       type master;
       file "example.com.internal";
};

#####DNS自动同步###

主DNS下:   vim /etc/rfc1912.zones

allow-transfer{172.25.254.242;};

also-notify {172.25.254.242;};

vim /var/named/westoslinux.com.zone

更改serial值。主DNS重启后,辅助DNS会自动同步

注意:serial的值此时不能为0,最多为10位,一般为yyyymmdd+次数

辅助dns会根据serial是否为0来判断是否更新A记录的文件


**********************key的制作和处理**********************

主dns:
dnssec -keygen -a HMAC-MD5 -b 128 -n USER ddns
Kddns.+157+59812.key
Kddns.+157+59812.private

cat Kddns.+157+59812.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: R4G16tKxFFBpsPkUyNDWAw==


cp -p /etc/rndc.key   /etc/westos.key

vim /etc/westos.key

key   “rndc-key”  {
        algorithm hmac-md5;
        secret R4G16tKxFFBpsPkUyNDWAw==;
};

vim /etc/named.conf

43 include "/etc/westos.key";

vim  /etc/named.rfc1912.zones

zone "example.com" {
type master;
file "example.com.zone";
allow-update { key westos; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "example.com.local";
allow-update { key westos; };
};

把密码和钥匙发送给辅助DNS

scp  Kwestos.xxxxx.key Kwestos.+157+44565.private   root@172.25.254.242:/

测试:

辅DNS:nsupdate  -k

主DNS: dig  www.westos.com


chmod 770 /var/named/chroot/var/named
##DNS动态绑定##

服务器:

vim /etc/dhcpd/dhcp.conf

7 name "westos.com"

8 name-servers 172.25.254.142

14 ddns-update-style interim;
key ddns {
algorithm hmac-md5;
secret R4G16tKxFFBpsPkUyNDWAw==;
};
zone example.com. {primary 127.0.0.1;
key westos;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key westos;
}

客户端:

网卡配置文件

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

DNS1=172.25.254.142

BOOTPROTP=dhcp

vim   /etc/resolv.conf

nameserver 172.25.254.142

测试:

服务器:

systemctl restart  dhcpd

systemctl  restart named

客户端:

systemctl  restart network

ifconfig

dig  client.westos.com



0 0