由于项目需要,最近在CentOS 6系统中配置了一个DDNS(Dynamic DNS)服务器,

从而实现了动态对域名的添加删除等操作,记录一下步骤,备忘。

第一步 安装BIND

BIND全称是Berkeley Internet Name Daemon,是现今互联网上最常用的DNS服务

器软件,现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

在CentOS上安装BIND非常的简单,只需要使用root权限执行:

yum install bind bind-utils

就可以安装好BIND以及DNS相关的一些工具,包括dig以及nsupdate等,需要注意的是,在CentOS上,BIND实际的服务名是named,因此需要使用:

service named start|stop|restart

来对BIND进行操作。

第二步 配置静态DNS

在配置动态DNS之前,首先配置一个静态的DNS,来测试一下BIND能否正常工作。

打开/etc/named.conf文件:

vim /etc/named.conf

在文件的末尾,加上:

zone “mytest.com” IN {

type master;

file “mytest.com”;

allow-update { none; };

};

这里,声明了一个新的zone:”mytest.com”,并且指明了zone文件为”mytest.com”,根据文件上方指定的目录,默认的zone文件存放在/var/named目录下。

因此,我们需要在这个目录下,新建一个”mytest.com”文件,用来存放zone描述。

vim /var/named/mytest.com

在文件中输入以下内容:

$TTL 1D ;声明了TTL时间为1天

@ IN SOA @ mytest.com. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

$ORIGIN mytest.com. ;表示接下来的配置都已mytest.com.为根

;如果不写这一行,就需要写全整个域名

;如test1.mytest.com.而不是下面的test1

NS @ ;NS记录,指向根

@ A 127.0.0.1 ;根,指向127.0.0.1

test1 A 1.1.1.1 ;A记录test1,指向1.1.1.1

test2 A 2.2.2.2 ;A记录test2,指向2.2.2.2

保存文件,需要注意的是,named运行时是以named组的named用户来执行的,因此必须给named这个用户访问/var/named/mytest.com这个文件的权限,我们直接把这个文件的所有者设置为named。

chown named:named /var/named/mytest.com

好了,设置完成,启动named。

service named start

启动完成之后,来测试一下:

dig test1.mytest.com @127.0.0.1

看一下结果:

...

;; ANSWER SECTION:

test1.mytest.com. 86400 IN A 1.1.1.1

...

指向了1.1.1.1,说明静态DNS配置成功。

第三步 配置动态DNS

首先,我们需要生成一个Key,用于更新记录的授权。这里使用了HMAC-MD5算法来生成Key。运行:

dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST mytest.com

会得到2个文件,分别以.key和.private结尾:

Kmytest.com.+157+54894.key Kmytest.com.+157+54894.private

我们需要的是.private Key的内容:

Private-key-format: v1.3

Algorithm: 157 (HMAC_MD5)

Key: Tf2lJsSSrSMcu2RvfnLWqwno9drVpQFLk8XkR7BIYWuQF17q/miYa6HfDhDaUCH2x4Bc3ea/Q6Bntod9/sLGdg==

Bits: AAA=

Created: 20141206031434

Publish: 20141206031434

Activate: 20141206031434;

在/etc/named.conf中,zone “mytest.com”之前加上:

key “mytestcom” {

algorithm hmac-md5;

secret “Tf2lJsSSrSMcu2RvfnLWqwno9drVpQFLk8XkR7BIYWuQF17q/miYa6HfDhDaUCH2x4Bc3ea/Q6Bntod9/sLGdg==”;

};

其中key的名字随便起,secret就是刚刚生成的Key那个字段。

然后继续修改文件末尾zone的定义:

zone “mytest.com” IN {

type master;

file “mytest.com”;

allow-update { key mytestcom; };

允许mytestcom的key对zone进行更新。

同时,由于动态更新需要在/var/named写入jnl文件。所以需要将/var/named的所有者更改为named:

chown named:named /var/named

同时,selinux也有可能限制named写入文件,需要关闭:

设置完成后。重启named:

第四步 动态更新DNS

使用nsupdate命令对DNS进行更新:

完成后使用dig测试一下:

dig test3.mytest.com @127.0.0.1

结果:

;; ANSWER SECTION:

test3.mytest.com. 600 IN A 3.3.3.3

成功!

linux一键搭建ddns,在CentOS下配置DDNS并实现动态更新相关推荐

  1. linux vnc服务重启,CentOS下配置VNCServer,重启服务仍然生效

    CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...

  2. centos oracle 服务自动启动,CentOS下配置Oracle 11gR2为系统服务自动启动

    CentOS下配置Oracle 11gR2为系统服务自动启动 CentOS下配置Oracle 11gR2为系统服务自动启动 为什么80%的码农都做不了架构师?>>> PS:在Wind ...

  3. centos下配置java环境,CentOS下配置Java环境变量的操作方法

    AJAX开发,小编有自己的一些心得体会,也请AJAXer多多指教-那接下来先附上这篇CentOS下配置Java环境变量的操作方法,与君共勉,一起学习. rhel 和 centos linux 使用yu ...

  4. CentOS下配置VNCServer,重启服务仍然生效

    CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...

  5. wsl2设置挂载_Windows下的Linux子系统安装,WSL 2下配置docker

    Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在"启 ...

  6. centos下配置wifi连接

    centos下配置wifi连接 因为自己的centos系统没有带GUI界面,所以配置wifi账号密码,每次都要自己从网上搜命令,碰到了问题还要再去百度,这次就写下文章把用到的命令全部记录下来. 下载i ...

  7. linux防火墙添加udp 123,centos下的ntp的安装和配置 (注意 防火牆的udp 123要打開,不然會不能用)...

    centos下的ntp的安装和配置安装 yum install ntp 配置文件 /etc/ntp.conf restrict default kod nomodify notrap nopeer n ...

  8. CentOS下配置多个Tomcat同时运行 本篇文章来源于 Linux公社网站(www.linuxidc.com)

    原文地址:http://blog.csdn.net/tjcyjd/article/details/46553361 版权声明:本文为博主原创文章,未经博主允许不得转载. 同一服务器部署多个tomcat ...

  9. linux 双网卡主备,CentOS下双网卡主备模式配置

    CentOS下双网卡主备模式配置 1简述 通过双网卡设置主备模式,实现当一块网卡宕掉时,另外一块网卡可以自动顶替宕掉的网卡工作,保障网络正常访问. 2实现 2.1.查看网卡信息 执行ifconfig ...

最新文章

  1. python 并行计算 multiprocessing、multiprocess模块 简介
  2. python的编程模式-实例解析Python设计模式编程之桥接模式的运用
  3. Unity笔记(正版全阶段)目录
  4. jvm 内存溢出问题排查方法
  5. AliOS Things 组件系统(uCube)
  6. 新浪uc2010官方下载
  7. [转]何时使用委托而不使用接口(C# 编程指南)
  8. Pytorch:上采样、下采样
  9. 代码规范与读写可维护性
  10. mysql中不能update与safe update mode 有关
  11. 关于《ADS-B点迹数据质量控制散及基础预警算法和实现流程》
  12. Linux 使用yum下载软件
  13. 第四讲 移动互联网接入技术
  14. ApacheCN 活动汇总 2019.6.28
  15. 【论文写作】——设置中英文字体
  16. java mail实现smtp登录验证
  17. 微信小程序幽默风和git
  18. 2022年9月全球数字安全最新新闻汇总
  19. css Hack
  20. SVG描边动画实现过程

热门文章

  1. 音乐领域的自然语言理解
  2. 30款APP源码打包 Java Android安卓App源码 30款打包下载
  3. 【我的Android进阶之旅】Android Studio 中 使用git提交代码报错:Can‘t commit changes from multiple changelists at once
  4. git pull不同步_Git fetch和git pull的区别?
  5. 微信PC端各个数据库文件结构与功能简述 - Multi文件夹
  6. 如何利用GitHub设计一个炫酷的个人网站(含代码)
  7. EASEUS Todo Backup Crack
  8. python+OpenCV 图片合成视频
  9. 【2023校招刷题】常见面试问题总结(五、验证策略及宏观思想篇)(随后续面试不断更新....)
  10. 服务器测压网站,网站服务器压力测试