linux一键搭建ddns,在CentOS下配置DDNS并实现动态更新
由于项目需要,最近在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并实现动态更新相关推荐
- linux vnc服务重启,CentOS下配置VNCServer,重启服务仍然生效
CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...
- centos oracle 服务自动启动,CentOS下配置Oracle 11gR2为系统服务自动启动
CentOS下配置Oracle 11gR2为系统服务自动启动 CentOS下配置Oracle 11gR2为系统服务自动启动 为什么80%的码农都做不了架构师?>>> PS:在Wind ...
- centos下配置java环境,CentOS下配置Java环境变量的操作方法
AJAX开发,小编有自己的一些心得体会,也请AJAXer多多指教-那接下来先附上这篇CentOS下配置Java环境变量的操作方法,与君共勉,一起学习. rhel 和 centos linux 使用yu ...
- CentOS下配置VNCServer,重启服务仍然生效
CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...
- wsl2设置挂载_Windows下的Linux子系统安装,WSL 2下配置docker
Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在"启 ...
- centos下配置wifi连接
centos下配置wifi连接 因为自己的centos系统没有带GUI界面,所以配置wifi账号密码,每次都要自己从网上搜命令,碰到了问题还要再去百度,这次就写下文章把用到的命令全部记录下来. 下载i ...
- linux防火墙添加udp 123,centos下的ntp的安装和配置 (注意 防火牆的udp 123要打開,不然會不能用)...
centos下的ntp的安装和配置安装 yum install ntp 配置文件 /etc/ntp.conf restrict default kod nomodify notrap nopeer n ...
- CentOS下配置多个Tomcat同时运行 本篇文章来源于 Linux公社网站(www.linuxidc.com)
原文地址:http://blog.csdn.net/tjcyjd/article/details/46553361 版权声明:本文为博主原创文章,未经博主允许不得转载. 同一服务器部署多个tomcat ...
- linux 双网卡主备,CentOS下双网卡主备模式配置
CentOS下双网卡主备模式配置 1简述 通过双网卡设置主备模式,实现当一块网卡宕掉时,另外一块网卡可以自动顶替宕掉的网卡工作,保障网络正常访问. 2实现 2.1.查看网卡信息 执行ifconfig ...
最新文章
- python 并行计算 multiprocessing、multiprocess模块 简介
- python的编程模式-实例解析Python设计模式编程之桥接模式的运用
- Unity笔记(正版全阶段)目录
- jvm 内存溢出问题排查方法
- AliOS Things 组件系统(uCube)
- 新浪uc2010官方下载
- [转]何时使用委托而不使用接口(C# 编程指南)
- Pytorch:上采样、下采样
- 代码规范与读写可维护性
- mysql中不能update与safe update mode 有关
- 关于《ADS-B点迹数据质量控制散及基础预警算法和实现流程》
- Linux 使用yum下载软件
- 第四讲 移动互联网接入技术
- ApacheCN 活动汇总 2019.6.28
- 【论文写作】——设置中英文字体
- java mail实现smtp登录验证
- 微信小程序幽默风和git
- 2022年9月全球数字安全最新新闻汇总
- css Hack
- SVG描边动画实现过程
热门文章
- 音乐领域的自然语言理解
- 30款APP源码打包 Java Android安卓App源码 30款打包下载
- 【我的Android进阶之旅】Android Studio 中 使用git提交代码报错:Can‘t commit changes from multiple changelists at once
- git pull不同步_Git fetch和git pull的区别?
- 微信PC端各个数据库文件结构与功能简述 - Multi文件夹
- 如何利用GitHub设计一个炫酷的个人网站(含代码)
- EASEUS Todo Backup Crack
- python+OpenCV 图片合成视频
- 【2023校招刷题】常见面试问题总结(五、验证策略及宏观思想篇)(随后续面试不断更新....)
- 服务器测压网站,网站服务器压力测试