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 】

Linux中DDNS配置的更多相关文章

  1. linux初学者-DDNS配置篇

    linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...

  2. 在 Linux 中自动配置 IPv6 地址

    在 Linux 中自动配置 IPv6 地址 在本文中,我们将学习如何为 ULA 自动配置 IP 地址. 何时使用唯一本地地址 唯一本地地址unique local addresses(ULA)使用 f ...

  3. Linux中如何配置IP相关文件

    Linux中如何配置IP 与网络相关的文件:1) /etc/sysconfig/network   设置主机名称及能否启动Network2) /etc/sysconfig/network-script ...

  4. Linux中安装配置spark集群

    一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...

  5. 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MongoDB 说实话为什么会装MongoDB呢,因为之前因为公司 ...

  6. 详解在Linux中安装配置MySQL

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MySQL 安装环境 CentOS7 + MySQL5.7 下载安 ...

  7. Linux中ifcfg-eth0配置参数解释

    Linux中设置IP地址经常使用到ifcfg-eth0这个文件.  vi /etc/sysconfig/network-scripts/ifcfg-eth0 附录文件中的内容: DEVICE=eth0 ...

  8. Linux中安装配置hadoop集群

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...

  9. Linux中如何配置sudo用户

    Linux中的sudo文件在/etc/sudoers,但不建议直接修改此文件: 可以在/etc/sudoers.d文件夹中新建文件,文件名随意,在文件中添加内容如下: 用户名 ALL=(ALL) AL ...

随机推荐

  1. textarea 中的换行符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. shell-特殊变量列表

    特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数.有引号则引号内,作为一个参数传入. $@ 传递 ...

  3. 架构.Net 到 Linux

    nginx + .net core + mysql + radis + rabbitmq

  4. ASO关键词优化技巧:如何充分利用热搜榜与相关热点?

    ASO关键词优化对提高市场曝光率.增加APP下载量有着至关重要的作用.那如何充分利用热搜榜与相关热点来进行ASO优化呢?   一.产品定位   因为此文主要是讲优化APP关键词的,所以产品定位这一块就 ...

  5. WinForm控件Dock属性设置会遮盖其他控件的解决

    在被遮盖住的控件上,右击弹出快捷菜单,然后选择“置于顶层”.

  6. linux 常用压缩解压命令

    压缩格式          打包/解压                   执行命令 .tar                    解包                           tar ...

  7. Tomcat出现端口占用错误

    Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The ...

  8. python range的用法小题

    题目(1)for i in range(10): print(i) 结果:123456789 题目(2) for lst in range(100): if lst % 7 == 0 and str( ...

  9. 10个Python基础练习项目,你可能不会想到练手教程还这么有趣

    美国20世纪最重要的实用主义哲学家约翰·杜威提出一个学习方法,叫做:Learning By Doing,在实践中精进.胡适.陶行知.张伯苓.蒋梦麟等都曾是他的学生,杜威的哲学也影响了蔡元培.晏阳初等人 ...

  10. cumsum累计函数系列:pd.cumsum()、pd.cumprod()、pd.cummax()、pd.cummin()

    cum系列函数是作为DataFrame或Series对象的方法出现的,因此命令格式为D.cumsum() 举例: D=pd.Series(range(0,5)) 1. cumsum 2. cumpro ...