ddns配置 linux_ddns linux - CSDN
  • LinuxDDNS配置

    2019-06-16 17:24:02
    LinuxDDNS配置 1、实验拓扑结构 图1 实验拓扑图 2、项目要求 通过系统的搭建,能够为Web Server动态更新DNS信息。 3、项目开展思路(思维导图) 图2 DDNS实验思维导图 4、实验步骤 (1) 基础网络搭建 ...

    Linux中DDNS配置

    1、实验拓扑结构

     

    图1 实验拓扑图

    2、项目要求

    通过系统的搭建,能够为Web Server动态更新DNS信息。

    3、项目开展思路(思维导图)

    图2 DDNS实验思维导图

    4、实验步骤

    (1) 基础网络搭建

    DHCP Server能Ping通DNS Server

    图3 网络连通测试

    (2)在DNS Server上

    1)安装DNS服务

    [root@lyy 桌面]# yum install bind -y

    2)生成密钥

    [root@lyy 桌面]# mkdir key

    [root@lyy 桌面]# cd key/

    [root@lyy key]# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST www

    Kwww.+157+55680

    [root@lyy key]# ls

    Kwww.+157+55680.key  Kwww.+157+55680.private

    [root@lyy key]# cat Kwww.+157+55680.key

    www. IN KEY 512 3 157 7mThflorkZ+uJGSGK7XmKxYkDxm+nzP49CITZ+njEmQajyAWkk8lTtpw 8AnC+pMP8hXGu2QK5hf4zlaqf4DzSw==

    3)配置主配置文件named.conf

    将生成的公钥(空格去掉)复制到named.conf中,加入key字段


    options {

                                                listen-on port 53 { any; };

                                                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";

                                                allow-query     { any; };

                                };

    key www {

                                                algorithm hmac-md5;

    secret"7mThflorkZ+uJGSGK7XmKxYkDxm+nzP49CITZ+njEmQajyAWkk8lTtpw8AnC+pMP8hXGu2QK5hf4zlaqf4DzSw==";

    };

    zone "xh27.com"     IN {

                                                type master;

                                                file "named.xh27.com";

                                                allow-update {

                                                key www;

                                                };

    };

    zone "0.168.192.in-addr.arpa" IN {

                                                type master;

                                                file "named.192.168.0";

                                                allow-update {

                                                key www;

                                                };

    };


    4)添加正解文件

    [root@lyy 桌面]# cd /var/named/

    [root@lyy named]# touch named.xh27.com

    [root@lyy named]# gedit named.xh27.com


    $TTL 3H

    @    IN SOA    master.xh27.com. admin.mail.xh27.com. (

                                          0    ; serial

                                          1D    ; refresh

                                          1H    ; retry

                                          1W    ; expire

                                          3H )    ; minimum

    @                 IN     NS        master.xh27.com.

    master.xh27.com.        IN    A        192.168.0.253


    5)添加反解文件

    [root@lyy named]# touch named.192.168.0

    [root@lyy named]# gedit named.192.168.0


    $TTL 3H

    @    IN SOA    master.xh27.com. admin.mail.xh27.com. (

                                          0    ; serial

                                          1D    ; refresh

                                          1H    ; retry

                                          1W    ; expire

                                          3H )    ; minimum

    @         IN     NS        master. xh27.com.

    253        IN    PTR        master. xh27.com.


    6)防火墙开放53端口

    [root@lyy named]# iptables -I INPUT -i eth0 -p udp --dport 53 -j ACCEPT

    [root@lyy named]# iptables -I INPUT -i eth0 -p tcp --dport 53 -j ACCEPT

    7)设置Selinux

    [root@lyy named]# setsebool -P named_write_master_zones=1

    //允许动态更新文件的写入

    8)设置文件夹权限

    [root@lyy named]# chmod g+w /var/named

    [root@lyy named]# chown named /var/named

    9)启动DNS服务

    [root@lyy named]# service named start

    (3)在DHCP Server上

    1)安装DHCP服务

    [root@lyy yum.repos.d]# yum install dhcp -y

    2)配置DHCP主配置文件

    [root@lyy yum.repos.d]# gedit /etc/dhcp/dhcpd.conf


    option domain-name "xh27.com";

    option domain-name-servers master.xh27.com;

    default-lease-time 600;

    max-lease-time 7200;

    ddns-update-style interim;

    key www {

                              algorithm hmac-md5;              secret"7mThflorkZ+uJGSGK7XmKxYkDxm+nzP49CITZ+njEmQajyAWkk8lTtpw8AnC+pMP8hXGu2QK5hf4zlaqf4DzSw==";

    }

    zone xh27.com {

                              key www;

                              primary 192.168.0.253;

    }

    zone 0.168.192.in-addr.arpa {

                              key www;

                              primary 192.168.0.253;

    }

    subnet 192.168.0.0 netmask 255.255.255.0 {

                    range 192.168.0.50 192.168.0.150;

                   option routers 192.168.0.254;

    }


    3)设置DNS服务器

    [root@lyy yum.repos.d]# gedit /etc/resolv.conf

    nameserver 192.168.0.253

    4)启动DHCP服务

    [root@lyy yum.repos.d]# service dhcpd start

    (4)在WEB server上

    1)设置主机名

    [root@lyy 桌面]# gedit /etc/sysconfig/network

    HOSTNAME=www

    2)重启网络服务

    [root@www 桌面]# service network restart

    [root@www 桌面]# ifconfig

    图4 WEB Server第一次获取IP

    5、结果检测

    (1)在DHCP Server上

    将IP地址分配的范围从50-150,改为151-200,重启DHCP服务器

    图5 修改分配的IP范围

    [root@lyy yum.repos.d]# service dhcpd restart

    (2)在WEB Server上

    1)重启网络服务

     

    图6 WEB Server第二次获取IP

    2)解析www.xh27.com和192.168.0.151

     

    图7 WEB Server解析域名和IP

    (3)在DNS Server上

    1)查看获取的动态更新文件

    [root@lyy 桌面]# ll /var/named/

     

    图 8 DNS查看更新文件

    2)查看日志文件

    [root@lyy 桌面]# gedit /var/log/messages

     

    图 9 DNS查看日志文件


     

    【版权所有,转载请注明原文出处:http://www.cnblogs.com/liaoyuanyang/p/7029234.html 】

    posted @ 2017-06-16 20:56 远是远洋的洋 阅读(...) 评论(...) 编辑 收藏

    展开全文
  • linux初学者-DDNS配置

    2017-08-09 20:27:13
    如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP。如果DHCPD服务可以在配置主机IP后将信息传递给DNS服务,再由DNS服务...

       如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP。如果DHCPD服务可以在配置主机IP后将信息传递给DNS服务,再由DNS服务来记录这些数据,将会变得容易许多。这种DHCPD服务更新DNS服务数据就是DDNS。

            配置DDNS时,需要在一台主机上分别配置DNS服务和DHCPD服务。

            DNS服务的配置如下:

             a、"dnssec-keygen -a HMAC-MD5 -b 128 -n HOST keydns"。这是生成一个密钥,为了安全考虑。"keydns"为密钥名称,可自行设置。"cat Kwestos.+157+18569.key",查看生成的密钥并复制。


             b、"cp /etc/rndc.key /etc/keydns.key -p"。生成DNS的加密文件。


             c、"vim /etc/keydns.key"。如下图所示,第1行改为"keydns",第3行""中改为a中复制的密钥。


             d、"vim /etc/named.conf"。如下图所示,在第47行"logging {"之前编辑"include "/etc/keydns.key";",这是指定dns服务读取的key文件。


             e、"vim /etc/named.rfc1913.zones"。如下图所示,将第28行改为"allow-update { key keydns; };",这是指定we域能够被keydns更新。


            DHCPD的配置如下:

            a、"head -n 36 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf"。将"dhcpd.conf.example"的前36行复制为"dhcpd.conf"文件。


            b、"vim /etc/dhcp/dhcpd.conf"。将第7行和第8行改为下图所示内容。"we.com"为域名,"172.25.254.102"为DNS的IP。去掉第14行的注释。注释掉第27和28行。将第32至第35行改为如下图所示配置。


            c、"vim /etc/dhcp/dhcpd.conf"。在第36行后输入下图所示内容。

                                      key keydns {

                                               algorithm hmac-md5;

                                               secret Z8aPp2bzIT9gmvyZS28ijA==;

                                       };

                

                                       zone we.com. {

                                               primary 127.0.0.1;

                                               key keydns;

                                       }


            完成后重启DNS和DHCPD服务,至此,服务器的DDNS配置已经完成。

            测试时,将一台主机的主机名设置成为"xxx.we.com",例如"123.we.com"。设置网络为DHCP自动获取IP,如下图所示,自动获得的IP为"172.25.254.65"。


            在有DDNS的主机上输入"dig 123.we.com",如下图所示,则可以看到测试的主机IP和主机名。这样就完成了DHCPD服务对DNS服务的数据同步。


    展开全文
  • Linuxddns

    2019-03-16 22:27:50
    ddns:花生壳 所有解析都是可以自动对应的 dhcp配置 vim /etc/dhcp/dhcpd.conf 14. ddns-update-style interim; 开启dhcp更新dns功能 37.key westos { 38. algorithm hmac-md5; dhcp更新dns时用到的key 39. 40. } 42 ...

    ddns:花生壳
    所有解析都是可以自动对应的

    • 在服务主机上搭建dhcp

    1.安装dhcp
    在这里插入图片描述
    2.复制/usr/share/doc/dhcpd.conf.example 到 /etc/dhcp/dhcpd.conf

    在这里插入图片描述
    3.编辑配置文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4.打开dhcp服务
    在这里插入图片描述
    注意:有关dhcp配置请参考dhcp服务器搭建

    • 客户主机上

    (1)进入网络配置,更改工作方式为动态,重启网络,ifconfig查看
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    (2)dig news.westos.com
    在这里插入图片描述
    (3)服务主机上dhcp配置,重启dhcp服务
    在这里插入图片描述

    14. ddns-update-style interim;   开启dhcp更新dns功能
    37.key westos { 
    38.	algorithm hmac-md5;      dhcp更新dns时用到的key
    
    40.}
    
    42 zone westos.com. {            指定dhcp更新的域名
    43	primary 127.0.0.1        指定dns所在的主机ip
    44	primary 127.0.0.1        指定dns所在的主机ip
    45 }
    

    在这里插入图片描述
    在这里插入图片描述
    (4)重启网络
    在这里插入图片描述
    (5) 客户主机重启网络,dig news.westos.com查看ip和主机名称的解析是否一致
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (6)服务主机上,vim /etc/dhcp/dhcpd.conf 修改ip范围,重启dhcp服务
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    (7)客户主机上:重启网络,ifconfig 查看ip,dig news.westos.com查看ip和主机名称的解析是否一致
    在这里插入图片描述
    在这里插入图片描述
    注意:设定这台主机的主机名news.westos.com,这个名称在原有的dns服务中是没有解析的

    展开全文
  • Linux 环境下搭建DDNS

    2017-11-20 17:35:51
    什么是ddnsDDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并...
    什么是ddns:
    DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。

    2.实验环境:
    CentOS 6.7;
    DNS、DHCP 部署在同一台服务器上;

    Server 端:
    3.dhcp的安装与配置:
    3.1 绑定服务器静态IP
    [root@DNS ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    TYPE=Ethernet
    ONBOOT=yes
    NM_CONTROLLED=no
    BOOTPROTO=static
    IPADDR=192.168.10.100
    PREFIX=24
    3.2 yum 安装dhcp

    [root@DNS ~]#yum install -y dhcp

    3.2.生成一个key 在dns和dhcp都会用到,用来更新dns库

    [root@DNS ~]#dnssec-keygen -a HMAC-MD5 -b 128 -n USER ddnsuser
    //以ddnsuser生成一个md5加密的128位密码,生成两个文件。

    [root@DNS ~]# ls
    anaconda-ks.cfg install.log.syslog Kddnsuser.+157+56925.private
    install.log Kddnsuser.+157+56925.key

    [root@DNS ~]# cat Kddnsuser.+157+56925.key
    ddnsuser. IN KEY 0 3 157 oxRjfO3rB1b0pzY1WNpbNg== //后半段为密文,需要用到

    3.3 dhcp的配置如下:

    [root@DNS ~]#grep -v "^#" /etc/dhcp/dhcpd.conf
    ddns-update-style interim;
    #ddns-updates on;
    log-facility local7;
    key ddnsuser {
    algorithm hmac-md5;
    secret oxRjfO3rB1b0pzY1WNpbNg==; //指定ddnsuser的key
    }
    zone ddns.com. {
    primary 192.168.10.100;
    key ddnsuser; //允许dhcp更新dns记录
    }
    zone 10.168.192.in-addr.arpa. {
    primary 192.168.10.100;
    key ddnsuser;
    }
    subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.30 192.168.10.31;
    option routers 192.168.10.1;
    option domain-name "ddns.com";
    option domain-name-servers 192.168.10.100;
    default-lease-time 600;
    max-lease-time 7200;
    }

    3.4 启动dhcp

    [root@DNS ~]# service dhcpd start

    4.安装并配置bind(DNS):
    4.1 yum 安装bind

    [root@DNS ~]# yum install -y bind bind-chroot bind-libs bind-utils

    4.2 dns的配置如下:

    [root@DNS named]# cat /etc/named.conf
    zone "." IN {
    type hint;
    file "named.ca";
    };
    key ddnsuser {
    algorithm hmac-md5;
    secret oxRjfO3rB1b0pzY1WNpbNg==; //指定ddnsuser的key
    };
    zone "ddns.com" IN {
    type master;
    file "/var/named/ddns.zone";
    allow-update {key ddnsuser;}; //允许通过验证的key升级dns库
    };
    zone "10.168.192.in-addr.arpa" IN {
    type master;
    file "/var/named/ddns.zone.db";
    allow-update {key ddnsuser;};
    };
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";

    4.3 配置正反向解析文件:

    [root@DNS ~]# cp -p /var/named/named.loopback /var/named/ddns.zone
    [root@DNS ~]# cp -p /var/named/named.loopback /var/named/ddns.zone.db

    4.3.1 正向解析文件:
    [root@DNS ~]# vim /var/named/ddns.zone

    $ORIGIN .
    $TTL 86400 ; 1 day
    ddns.com IN SOA dns.ddns.com. rname.invalid. (
    3 ; serial
    86400 ; refresh
    3600 ; retry
    604800 ; expire
    10800 ; minimum
    )
    NS dns.ddns.com.
    $ORIGIN ddns.com.
    dns A 192.168.10.100
    www A 192.168.10.15

    4.3.2 反向解析文件:

    [root@DNS ~]# vim /var/named/ddns.zone.db
    $ORIGIN .
    $TTL 86400 ; 1 day
    10.168.192.in-addr.arpa IN SOA dns.ddns.com.10.168.192.in-addr.arpa. rname.invalid. (
    2 ; serial
    86400 ; refresh
    3600 ; retry
    604800 ; expire
    10800 ; minimum
    )
    NS dns.ddns.com.
    $ORIG IN 10.168.192.in-addr.arpa.
    15 PTR www.ddns.com
    19 PTR dns.ddns.com

    4.4 权限设置:

    [root@DNS ~]# chmod g+w /var/named/ //为了让dhcp可写
    [root@DNS ~]# chown -R named.named /var/named/chroot/var/named/
    //在centos6中,上述的目录默认是root.named ,导致最后的.jnl文件不能生成,注意修改权限。


    4.5 启动dns服务:

    [root@DNS ~]# service named start

    Client 端(Linux PC):
    在/etc/dhcp目录下新建dhclient.conf文件

    [root@ntp ~]# vim /etc/dhcp/dhclient.conf
    send fqdn.fqdn "ntp"; //ntp是客户端的hostname
    send fqdn.encoded on;
    send fqdn.server-update off;

    测试:
    1. 将网卡设置成dhcp获取ip:

    BOOTPROTO=dhcp
    [root@ntp ~]# dhclient -r
    [root@ntp ~]# dhclient eth0

    2.进行正反向的dns解析:
    正解:

    [root@ntp ~]# nslookup ntp.ddns.com
    Server: 192.168.100.100
    Address: 192.168.100.100#53
    Name: ntp.ddns.com
    Address: 192.168.100.30

    反解:

    [root@ntp ~]# host 192.168.100.30
    30.100.168.192.in-addr.arpa domain name pointer ntp.ddns.com.

    可以看到,named中并没有定义这个域名,但是被解析到了。
    另外,在/var/named/chroot/var/named/下将出现jnl的二进制文件,记录这我们解析的操作。
    [root@DNS ~]# ll /var/named/chroot/var/named/
    总用量 52

    ************
    -rw-r--r-- 1 named named 432 1月 18 15:28 ddns.zone
    -rw-r--r-- 1 named named 421 1月 18 15:27 ddns.zone.db
    -rw-r--r-- 1 named named 1683 1月 18 15:15 ddns.zone.db.jnl
    -rw-r--r-- 1 named named 1682 1月 18 15:15 ddns.zone.jnl
    ************

    3.监控Server端的ddns.zone

    $ORIGIN .
    $TTL 86400 ; 1 day
    ddns.com IN SOA dns.ddns.com. rname.invalid. (
    4 ; serial
    86400 ;
    3600 ;
    604800 ;
    10800 ;
    )
    NS dns.ddns.com.
    $ORIGIN ddns.com.
    dns A 192.168.10.100
    $TTL 300 ; 5 minutes
    ntp A 192.168.10.30
    TXT "001c92d13d95f00b8d62503da8db6bfa35"
    $TTL 86400 ; 1 day
    www A 192.168.10.15
    ~

    4.监控ddns.zone.db

    $ORIGIN .
    $TTL 86400 ; 1 day
    10.168.192.in-addr.arpa IN SOA dns.ddns.com.10.168.192.in-addr.arpa. rname.invalid. (
    3 ; serial
    86400 ;
    3600 ;
    604800 ;
    10800 ;
    )
    NS dns.ddns.com.
    $ORIGIN 10.168.192.in-addr.arpa.
    15 PTR www.ddns.com
    19 PTR dns.ddns.com
    $TTL 300 ; 5 minutes
    30 PTR ntp.ddns.com.


    可以看到,系统自动写入刚才解析的语句,只是换成了bind自己的语法。

    附:
    值得注意的是,只能在此dhcp中获取的ip才会被解析到;
    另外,上述过程有延时,大约10min;
    要是开启图形化的话,一定要把NetworkManger关掉,它会影响服务解析。
    本文出自 “、寒风飘雪、” 博客,请务必保留此出处http://hanfengpiaoxue.blog.51cto.com/10200829/1739266

    一个外国的:
    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dynamic-dns.html
    展开全文
  • Linux DDNS 动态域名解析服务配置

    在网络管理中,对于DNS服务的管理是一项基础性的工作。随着用户规模的扩大,频 繁地手工修改DNS的区域数据库文件不是一件轻松的工作。关于动态 DNS (DDNS)的研究逐渐引起了人们的关注,不同的平台都推出了自己的解决方案。本文将详细介绍Linux环境下DDNS的解决方案,即由Internet Software Consortium(ISC)开发的BIND-DNS和DHCP(Dynamic Host Configure Protocol,动态主机配置协议)协同工作,进而共同实现DDNS的方法。

    在Linux下实现动态DNS不仅需要Bind 8以上的DNS软件,还要有DHCP Server v3.0以上版本,因为只有3.0以上的版本才完全实现了对DDNS的支持。因此,本文的实现环境采用Slackware Linux 9.0作为DDNS服务器,其上同时运行DNS和DHCP服务,其中DNS Server采用Bind 9.2.2,DHCP Server采用DHCP Server v3.0pl2。

    下面详细介绍Linux环境下安全、动态DNS的实现方法。

    创建密钥

    要实现DNS的动态更新,首先要考虑的是怎样保证安全地实现DDNS。由ISC给出的方法是创建进行动态更新的密钥,在进行更新时通过该密钥加以验证。为了实现这一功能,需要以root身份运行以下命令:

    root@slack9:/etc# dnssec-keygen -a HMAC-MD5 -b 128 -n USER myddns

    Kmyddns. 157 37662

    上述dnssec-keygen命令的功能就是生成更新密钥,其中参数-a HMAC-MD5是指密钥的生成算法采用HMAC-MD5;参数-b 128是指密钥的位数为128位;参数-n USER myddns是指密钥的用户为myddns。

    该命令生成的一对密钥文件如下:

    -rw------- 1 root root 48 Jan 14 18:26 Kmyddns. 157 37662.key

    -rw------- 1 root root 81 Jan 14 18:26 Kmyddns. 157 37662.private

    可以查看刚生成的密钥文件内容:

    root@slack9:/etc# cat Kmyddns. 157 37662.key

    myddns.INKEY02157 4gEF1Mkmn5hrlwYUeGJV3g==

    root@slack9:/etc# cat Kmyddns. 157 37662.private

    Private-key-format: v1.2

    Algorithm: 157 (HMAC_MD5)

    Key: 4gEF1Mkmn5hrlwYUeGJV3g==

    仔细阅读该密钥文件就会发现,这两个文件中包含的密钥是一样的,该密钥就是DHCP对DNS进行安全动态更新时的凭据。后面需要将该密钥分别添加到DNS和DHCP的配置文件中。

     

    修改DNS的主配置文件

    密钥生成后就要开始对/etc/named.conf文件进行编辑修改,主要目的是将密钥信息添加到DNS的主配置文件中。本文给出修改后的/etc/named.conf的一个实例:

    options {

    directory "/var/named";

    file://指定区域数据库文件的存放目录

    };

    zone "." IN {

    type hint;

    file "caching-example/named.ca";

    };

    zone "localhost" IN {

    type master;

    file "caching-example/localhost.zone";

    allow-update { none; };

    };

    zone "0.0.127.in-addr.arpa" IN {

    type master;

    file "caching-example/named.local";

    allow-update { none; };

    };

    key myddns {

    algorithm HMAC-MD5.SIG-ALG.REG.INT;

    file://指明生成密钥的算法

    secret 4gEF1Mkmn5hrlwYUeGJV3g==;

    file://指明密钥

    };

    zone "tcbuu.cn" IN {

    type master;

    file "tcbuu.cn";

    file://正向区域文件名tcbuu.cn,后文会用到该文件

    allow-update { key myddns; };

    file://指明采用key myddns作为密钥的用户可以动态更新该区域“tcbuu.cn”

    };

    zone "1.22.10.in-addr.arpa" IN {

    type master;

    file "tcbuu.cn.arpa";//反向区域文件名tcbuu.cn

    allow-update { key myddns; };

    file://指明采用key myddns作为密钥的用户可以动态更新该区域“1.22.10.in-addr.arpa”

    };

    在 /etc/named.conf中可以定义多个区域,只要在允许动态更新的区域中增加allow-update { key myddns; }指令,即可实现动态更新,并且只有拥有key myddns实体(在本文的实现中该实体就是拥有同样密钥的DHCP服务器)才能实现对该区域进行安全地动态更新。相比原来只限定IP地址的方法,该方法 要安全得多。  

    至此完成对DNS服务器的配置,可以执行#named运行DNS服务。

    修改DHCP的配置文件

    DHCP的主要功能是为DHCP客户动态地分配IP地址、掩码、网关等内容。正是由于DHCP的动态特性,在实现DDNS时,DHCP成为首选方案。

    给出修改后的/etc/dhcpd.conf的一个实例:

    # dhcpd.conf

    # Sample configuration file for ISC dhcpd

    # option definitions common to all supported networks...

    option domain-name "tcbuu.cn";

    option domain-name-servers 10.22.1.123;

    default-lease-time 600;

    max-lease-time 800;

    ddns-update-style interim;

    file://指明实现动态DNS的方法为interim

    subnet 10.22.1.0 netmask 255.255.255.0 {

    range 10.22.1.60 10.22.1.69;//地址池

    option broadcast-address 10.22.1.255;

    option routers 10.22.1.100;

    }

    key myddns {//指明密钥生成的算法及密钥

    algorithm HMAC-MD5.SIG-ALG.REG.INT;

    secret 4gEF1Mkmn5hrlwYUeGJV3g==;

    }

    zone tcbuu.cn. {

    primary 10.22.1.123;

    key myddns;//指明更新时采取的密钥key myddns

    }

    zone 1.22.10.in-addr.arpa. {

    primary 10.22.1.123;

    key myddns;//指明更新时采取的密钥key myddns

    } 

     

    说明:

    1.ddns-update-style interim

    由ISC开发的DHCP服务器目前主要支持interim方法来进行DNS的动态更新,另外一种称为ad-hoc的方法基本上已经不再采用。因此,实际上,interim方法是目前Linux环境下通过DHCP实现安全DDNS更新的惟一方法。

    2.key myddns {//指明密钥生成的算法及密钥

     

    algorithm HMAC-MD5.SIG-ALG.REG.INT;

    secret 4gEF1Mkmn5hrlwYUeGJV3g==;

    }

    此段内容与/etc/named.conf中的完全一样。需要注意的是,在编辑/etc/dhcpd.conf时,{}的末尾没有“;”,这是与/etc/named.conf中不一样的地方。

    3.在/etc/dhcpd.conf中指明的区域名称后面一定要以“.”结尾。因此zone tcbuu.cn.中的cn和zone 1.22.10.in-addr.arpa.中的arpa后面一定要有“.”。

    /etc/dhcpd.conf配置完成,可以执行#dhcpd将DHCP服务运行起来。

    测试DDNS

    经过上述服务器的配置,现在可以检测一下DDNS的实现过程。

    当 DNS配置成支持动态更新后,在/var/named/目录下会多出两个以.jnl结尾的二进制格式区域文件。这两个文件是当前正在工作的区域文件的运行 时文件,所有动态更新的纪录都会最先反映到这两个文件中,然后经过大约15分钟左右才将更新的内容反映到文本形式的区域文件中,即以.jnl结尾的区域文 件中是最新的内容。

    在本文所举实例中,/var/named/目录下的区域文件为:

    tcbuu.cn 正向区域文件。

    tcbuu.cn.arpa 反向区域文件。

    tcbuu.cn.arpa.jnl 临时工作的二进制正向区域文件(新增)。

    tcbuu.cn.jnl 临时工作的二进制反向区域文件(新增)。

    1.以Windows 2000作为DHCP客户端测试

    (1)设客户机的主机名为kill-virus,执行ipconfig /all显示所获得的IP地址为10.22.1.69。

    (2)在客户端执行nslookup测试。

    C:/Documents and Settings/Administrator>nslookup

    Default Server: slack9.tcbuu.cn

    Address: 10.22.1.123

    > kill-virus.tcbuu.cn//测试客户机FQDN在区域文件中是否存在

    Server: slack9.tcbuu.cn

    Address: 10.22.1.123

    Name: kill-virus.tcbuu.cn

    Address: 10.22.1.69//测试结果,表明该资源纪录存在

    (3)在客户机kill-virus上执行ipconfig /release释放获得的IP地址。

    (4)在客户机kill-virus上执行ipconfig /renew重新获得IP地址。

    (5)用nslookup显示区域数据库中的内容。

    C:/Documents and Settings/Administrator>nslookup

    Default Server: slack9.tcbuu.cn

    Address: 10.22.1.123

    > ls tcbuu.cn//显示区域数据库中的资源纪录

    [ftp.tcbuu.cn]

    tcbuu.cn. NS server = slack9.tcbuu.cn

    D2501 A 10.22.1.60

    dellpc A 10.22.1.100

    kill-virus A 10.22.1.61 file://IP地址发生变化

    slack9 A 10.22.1.123

    以上测试说明同一台客户机kill-virus通过DHCP服务可以先后获得IP地址,并与动态DNS服务器建立联系,使该客户机的主机名与获得的IP地址一同作为一条纪录动态地更新到正向区域文件中去。可以采用同样的方法测试反向区域的更新,不再赘述。

    2.用Linux DHCP客户端测试

    在Linux DHCP客户端进行测试时,需要执行dhcpcd守护进程。如果要进行动态更新,还需要加上-h参数。执行的命令格式如下:

    #dhcpcd -h MyLinux

    其中-h后面跟的是本机的主机名,用来通过DHCP服务注册到DDNS服务器的区域文件中,是进行动态更新必不可少的。

    动态更新后的区域数据库文件

    通过查看正向区域数据库文件/var/named/tcbuu.cn和反向区域数据库文件/var/named/tcbuu.cn,可以了解区域数据库文件到底更新了哪些内容。

    #cat /var/named/tcbuu.cn

    $ORIGIN .

    $TTL 36000 ; 10 hours

    tcbuu.cn IN SOA slack9.tcbuu.cn. root.slack9.tcbuu.cn. (

    2004011402 ; serial

    3600 ; refresh (1 hour)

    1800 ; retry (30 minutes)

    36000 ; expire (10 hours)

    36000 ; minimum (10 hours)

    )

    NS slack9.tcbuu.cn.

    $ORIGIN tcbuu.cn.

    dellpc A 10.22.1.100

    ftp CNAME slack9

    $TTL 300 ; 5 minutes

    kill-virus A 10.22.1.61

    TXT "3156e87eb0180675cfb5e3e8ad026e78b3"

    $TTL 36000 ; 10 hours

    slack9 A 10.22.1.123

    www CNAME slack9

    以上区域文件的书写格式与更新前相比变化较大,说明该文件已被更新过了。这里还要 说明的是,在动态更新的客户端kill-virus的A纪录下多了一条同名的TXT类型的纪录。TXT类型纪录是BIND-DNS和DHCP专门用来实现 DDNS的辅助性资源纪录,它的值是哈希标示符字符串,该字符串的值还可以在/var/state/dhcp/dhcpd.leases文件中找到。

    总的来说,在Linux下通过DHCP实现安全DDNS的过程可分为三步:第一, 创建进行安全动态更新的密钥;第二,修改DNS的主配置文件 /etc/named.conf,目的是定义采用动态更新的密钥及指定可以动态更新的区域;第三,修改DHCP的配置文件 /etc/dhcpd.conf,目的是定义采用动态更新的密钥及指定动态更新哪些区域。

    展开全文
  • 一、DDNS原理 动态DNS又名DDNS,它的主要功能是实现固定域名到动态IP地址之间的解析。对于使用动态IP地址的用户,在每次上网得到新的IP地址后,安装在主机上的动态域名软件就会将该IP地址发送到由DDNS服务商提供的...
  • linux下的ddns

    2018-11-12 00:18:24
    安装dns与dhcp服务 yum install bind -y yum install dhcp -y 如图所示dns更新方式key dnskey加密更新信息 ...配置dhcp的ddns是信息要与之对应,完整配置参考linux下dns配置   配置dhcp服务 复制一...
  • Linux 一行代码搞定ddns

    2018-10-15 09:58:38
    (毕竟老妈在家里也就聊个微信,看个视频),刚好家里用的是斐讯路由器,说干就干,刷机,设置动态dns,新的固件是由动态dns功能的,但是测试发现只有在保存的时候才生效一次,之后就没有再进行过IP的更新(原因没有...
  • 解决当主机ip是基于dhcp分配的非固定ip时,如何进行DNS更新的问题 环境: 因为之前做过基于key的dns更新,所以需要将环境恢复 将/var/named下的westos.com.zone和westos.com.zone.jnl删除,还原备份,重启named服务...
  • DDNS配置实例(DHCP+DNS=DDNS) 在网络管理中,维护DNS服务器是一项很基本的工作。但是,随着网络规模的不断扩大,频繁的去修改DNS区域数据文件,那也将会是一件很麻烦的事情。因此,动态DNS就应运而生。 动态DNS...
  • DDNS配置小实例

    2019-06-17 23:50:57
    linux下创建DDNS服务器 DDNS(dynaic domain name server ,动态域名服务)是客户端动态IP地址映射到一个固定的DNS服务上,客户端每次连接网络的时候会通过信息传递把该FQDN于IP地址对应关系传送给DNS服务器,DDNS需要...
  • 一、DDNS的概述 DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。 DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送...
  • 将dnspodsh复制到/usr/bin下设置成可执行属性,并在/etc/rc.local中加入下面一行即可实现你自己的免费DDNS: /usr/bin/dnspodsh dnspod_name dnspod_passwaord &>/dev/null 保存时注意使用LINUX格式和UTF8...
  • Linux DDNS配置

    2019-05-07 00:24:50
    Linux DDNS配置 DDNS(动态域名服务器)是将用户的动态 IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器...
  • 二dns高速缓存基本配置 正向解析 论叫机制 反向解析 双向解析 三dns key 更新步骤一 步骤二 步骤三 四dhcpd 配置 一、dns介绍简介DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个...
  • 基于阿里云的ddns实现

    2020-07-28 23:32:22
    通过在阿里云申请的 开发者id来进行动态的dns设置(ddns): 可以省去购买花生棒的钱, 并且实现的更稳定 ~ 不限制带宽 ~ 更改自己的域名 , 启动运行即可 (Java代码实现)
  • 动态域名解析(ddns) 动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。也就是说DDNS捕获用户每次变化的IP...
1 2 3 4 5 ... 20
收藏数 3,788
精华内容 1,515
关键字:

ddns配置 linux