建立内部动态DNS服务器
建立内部动态DNS服务器
因为各种不同的原因,企业内部往往会有多台DHCP服务器,负责分发IP地址,给内部网络管理带来不便。本文将介绍如何在企业内部用BIND9建立内部DDNS服务,解决网络管理不便的问题。
假设企业内部有三台DHCP服务器负责为三个子域分发IP地址,三个子域分别是rd.lswin.cn
(192.168.230.0/24)、ga.lswin.cn
(192.168.231.0/24)和sm.lswin.cn
(192.168.232.0/24)。
示例中,DDNS服务器的名称为ddns.lswin.cn
。
安装 /配置BIND9
安装 BIND9
root@ddns:~# apt-get update && apt-get install bind9
配置BIND9
修改/etc/bind/named.conf.local 文件
//
// Do any local configuration here
//// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";//
// ___***___ Own DynDNS
//
include "/etc/bind/ddns-keys.conf";//
// rd.lswin.cn zone 配置
//
zone "rd.lswin.cn" {type master;file "/var/lib/bind/rd.lswin.cn.zone";allow-update { key rd-lswin-cn.;};notify no;
};// Reverse DNS 的定义. 用您的子域地址替代 230.168.192
zone "230.168.192.in-addr.arpa" {type master;file "/var/lib/bind/rd.lswin.cn.rev.zone";allow-update { key rd-lswin-cn.; };
};//
// ga.lswin.cn zone 配置
//
zone "ga.lswin.cn" {type master;file "/var/lib/bind/ga.lswin.cn.zone";allow-update { key ga-lswin-cn.;};notify no;
};// Reverse DNS 的定义. 用您的子域地址替代 231.168.192
zone "231.168.192.in-addr.arpa" {type master;file "/var/lib/bind/ga.lswin.cn.rev.zone";allow-update { key ga-lswin-cn.; };
};//
// sm.lswin.cn zone 配置
//
zone "sm.lswin.cn" {type master;file "/var/lib/bind/sm.lswin.cn.zone";allow-update { key sm-lswin-cn.;};notify no;
};// Reverse DNS 的定义. 用您的子域地址替代 232.168.192
zone "232.168.192.in-addr.arpa" {type master;file "/var/lib/bind/sm.lswin.cn.rev.zone";allow-update { key sm-lswin-cn.; };
};
为子域配置库文件
/var/lib/bind/rd.lswin.cn.zone
$ORIGIN .
$TTL 907200 ; 1 week 3 days 12 hours
rd.lswin.cn IN SOA ns1.rd.lswin.cn. (2014071478 ; serial28800 ; refresh (8 hours)3600 ; retry (1 hour)604800 ; expire (1 week)38400 ; minimum (10 hours 40 minutes))NS ns1.rd.lswin.cn.
$ORIGIN rd.lswin.cn.
ns1 A 192.168.230.1
/var/lib/bind/rd.lswin.cn.rev.zone
$ORIGIN .
$TTL 907200 ; 1 week 3 days 12 hours
230.168.192.in-addr.arpa IN SOA ns1.rd.lswin.cn. (2014071452 ; serial28800 ; refresh (8 hours)604800 ; retry (1 week)604800 ; expire (1 week)86400 ; minimum (1 day))NS ns1.rd.lswin.cn.
$ORIGIN 230.168.192.in-addr.arpa.
1 PTR rd.lswin.cn.PTR ns1.rd.lswin.cn.PTR admin.rd.lswin.cn.
其他二个zone的和这个配置基本一致,只需修改IP地址和子域名即可。
为子域配置生成密匙
首先为三个子域生成不同的密匙,然后将生成的密匙放入密匙文件 /etc/bind/ddns-keys.conf
root@ddns:~# tsig-keygen -a hmac-sha512 rd-lswin-cn.
root@ddns:~# tsig-keygen -a hmac-sha512 rd-lswin-cn.
root@ddns:~# tsig-keygen -a hmac-sha512 rd-lswin-cn.
key "rd-lswin-cn." {algorithm hmac-sha512;secret "dWZM3Go6hz7AL/VX3ihaQpTgwyigx27hIoKgxVooYblnFkgKTPjBiUhScM+eOpO4PrD1EgYwCIc/zb3WzoUadg==";
};
key "ga-lswin-cn." {algorithm hmac-sha512;secret "0avlbJzkK0DWB0XZbYDjK5Q7gAjmbTCPliHaV19di0KnH7lKitclqOF/l/S8SP5BFSUbpDQTen0OY/9mvcfGbA==";
};
key "sm-lswin-cn." {algorithm hmac-sha512;secret "HxyVoX1/i5293TD3fXUxRLyuyjofdnKUy3fsvamB4myAAva4etoa+4rQliXb2+PoVpLxOyOkwN8ksY5ypioG1A==";
};
检查配置/重启BIND9
检查配置
root@ddns:~# named-checkconf
root@ddns:~# named-checkzone rd.lswin.cn /var/lib/bind/rd.lswin.cn.zone
zone rd.lswin.cn/IN: loaded serial 2014071478
OK
root@ddns:~# named-checkzone ga.lswin.cn /var/lib/bind/ga.lswin.cn.zone
zone ga.lswin.cn/IN: loaded serial 2014071478
OK
root@ddns:~# named-checkzone sm.lswin.cn /var/lib/bind/sm.lswin.cn.zone
zone sm.lswin.cn/IN: loaded serial 2014071478
OK
root@ddns:~#
如没问题,就可以重启BIND9。
root@ddns:~# service bind9 restart
root@ddns:~#
测试动态更新功能
三组配置完全相似,我们只测试一组配置。
建立key文件 ga-lswin-cn.key
从现有配置中,将ga.lswin.cn的key复制过来。
key "ga-lswin-cn." {algorithm hmac-sha512;secret "0avlbJzkK0DWB0XZbYDjK5Q7gAjmbTCPliHaV19di0KnH7lKitclqOF/l/S8SP5BFSUbpDQTen0OY/9mvcfGbA==";
};
测试正向DDNS添加
root@ddns:~# nslookup test.ga.lswin.cn ddns.lswin.cn
Server: ddns.lswin.cn
Address: 192.168.220.109#53** server can't find test.ga.lswin.cn: NXDOMAIN
root@ddns:~# nsupdate -k ./ga-lswin-cn.key
> server ddns.lswin.cn
> zone ga.lswin.cn
> update add test.ga.lswin.cn 7200 IN A 192.168.231.123
> show
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0
;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; ZONE SECTION:
;ga.lswin.cn. IN SOA;; UPDATE SECTION:
test.ga.lswin.cn. 7200 IN A 192.168.231.123> send
> quit
root@ddns:~# nslookup test.ga.lswin.cn ddns.lswin.cn
Server: ddns.lswin.cn
Address: 192.168.220.109#53Name: test.ga.lswin.cn
Address: 192.168.231.123root@ddns:~#
记录 test.ga.lswin.cn
已成功加入DDNS。
测试正向DDNS删除
root@ddns:~#
root@ddns:~# nslookup test.ga.lswin.cn ddns.lswin.cn
Server: ddns.lswin.cn
Address: 192.168.220.109#53Name: test.ga.lswin.cn
Address: 192.168.231.123root@ddns:~# nsupdate -k ./ga-lswin-cn.key
> server ddns.lswin.cn
> zone ga.lswin.cn
> update delete test.ga.lswin.cn A
> send
> quit
root@ddns:~# nslookup test.ga.lswin.cn ddns.lswin.cn
Server: ddns.lswin.cn
Address: 192.168.220.109#53** server can't find test.ga.lswin.cn: NXDOMAINroot@ddns:~#
记录test.ga.lswin.cn
已从DDNS中成功删除。
**测试逆向DDNS添加**
root@ddns:~#
root@ddns:~# nslookup 192.168.231.123 ddns.lswin.cn
** server can't find 123.231.168.192.in-addr.arpa: NXDOMAINroot@ddns:~# nsupdate -k ./ga-lswin-cn.key
> server ddns.lswin.cn
> update add 123.231.168.192.in-addr.arpa. 7200 PTR test.ga.lswin.cn
> send
> quit
root@ddns:~# nslookup 192.168.231.123 ddns.lswin.cn
123.231.168.192.in-addr.arpa name = test.ga.lswin.cn.root@ddns:~#
192.168.231.123
已成功添加。
**测试逆向DDNS删除**
root@ddns:~# nslookup 192.168.231.123 ddns.lswin.cn
123.231.168.192.in-addr.arpa name = test.ga.lswin.cn.root@ddns:~# nsupdate -k ./ga-lswin-cn.key
> server ddns.lswin.cn
> update delete 123.231.168.192.in-addr.arpa. PTR
> send
> quit
root@ddns:~# nslookup 192.168.231.123 ddns.lswin.cn
** server can't find 123.231.168.192.in-addr.arpa: NXDOMAINroot@ddns:~#
192.168.231.123
已成功删除。
配置DHCP服务器推送更新
在我们的系统中,只有下列二种DHCPD,所以只有以下二种示例。
假设:ddns.lswin.cn的IP地址是192.168.220.109。
ISC DHCPD
如子网 ga.lswin.cn子网上的DHCPD是ISC的DHCPD,在dhcpd.conf中加上下列内容即可:
# Turn on DDNS
ddns-updates on;
update-static-leases on;
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style standard;
update-static-leases on;
key "ga-lswin-cn." {algorithm hmac-sha512;secret "0avlbJzkK0DWB0XZbYDjK5Q7gAjmbTCPliHaV19di0KnH7lKitclqOF/l/S8SP5BFSUbpDQTen0OY/9mvcfGbA==";
};
#
# update ga.lswin.cn DNS zones and its reverse zone
zone ga.lswin.cn. {primary 192.168.220.109;key ga-lswin-cn.;
}
zone 231.168.192.in-addr.arpa. {primary 192.168.220.109;key ga-lswin-cn.;
}
OPNSense
如子网 ga.lswin.cn子网上的DHCPD是来自OPNSense,在dhcpd.conf中加上下列内容即可:
pfSense的配置方式一样。
示例中BIND9的options配置文件:
/etc/bind/named.conf.options
/
// for security, only in acl can inquery this DNS
//
// --------------------- ACLs -------------------------
// 允许使用该DNS的IP列表
acl internal {// 本地127.0.0.1;// CIDR of 192.168.0.0 - 192.168.255.255192.168.0.0/16;// CIDR of 10.10.0.0 - 10.10.0.25510.10.0.0/24;
};// ------------------- Options -------------------------
options {directory "/var/cache/bind";// 使用114.114.114.114 和 阿里公共DNS做外部DNSforwarders {// 114 DNS114.114.114.114;// Ali's DNS223.5.5.5;};// 安全设置,只允许ACL中的IP访问allow-query {internal;};allow-query-cache {internal;};// enables recursive queries but on from our local nets and local hosts// Do not allow externals to do recursive queries.recursion yes;allow-recursion {internal;};allow-transfer {internal;};//========================================================================// If BIND logs error messages about the root key being expired,// you will need to update your keys. See https://www.isc.org/bind-keys//========================================================================// turn off zone encryption. The auto flag still generates// warnings in the log filednssec-enable no;//dnssec-enable yes;//dnssec-validation auto;auth-nxdomain no; # conform to RFC1035listen-on-v6 { none; };
};
内部DDNS服务器已经建立完成,DHCP服务器只要将内部主DNS服务器指向ddns.lswin.cn即可。采用内部DDNS服务,可以给内网的管理带来很大方便,如服务器的备份、迁移等等。
建立内部动态DNS服务器相关推荐
- 建立自己的dns服务器的用途
做互联网服务,很多内部运用可以使用IP.但是当这个IP改变时,修改配置比较麻烦,所以我们一般采用域名.我们一般采用主域名加上很多前缀来指定不同业务的IP. 我经常在一年内遇到两三次dns故障,就是服务 ...
- 用AdGuard Home搭建一个内部的DNS服务器,开启局域网内无广告和追踪的浏览体验
为什么使用对象不喜欢广告? 我们在看电视的时候不开会员就有90秒的小广告,刷朋友圈的时候会有汽车.欧巴的互动广告,看新闻头条的时候有贴片广告,看抖音的时候也会有带货的广告,小网站上也还有 * 感荷官在 ...
- 架设动态 DNS 服务器: 让你成为 ISP 啦
http://vbird.dic.ksu.edu.tw/linux_server/0350dns_6.php#ddns http://www.study-area.org/tips/ddns.htm ...
- dns服务器的配置与管理
dns服务器的配置与管理 dns服务器的配置与管理 1. dns 的概述 当我们查询网站的时候你在浏览器上输入域名的时 ...
- 深入一步研究DNS服务器
计算机在网络上进行通讯时只能识别如"201.51.0.73"之类的IP地址,而不能认识如[url]www.ccidnet.com[/url]之类的域名,但是,当打开浏览器,在地址栏 ...
- 鸟哥的Linux私房菜(服务器)- 第十九章、主机名控制者: DNS 服务器
第十九章.主机名控制者: DNS 服务器 最近更新日期:2011/08/05 我们都知道,在『记忆』的角色上,人脑总是不如计算机的,而人们对文字的印象又比数字高.因此,想要使用纯粹的 TCP/IP 来 ...
- 第十九章、主机名控制者: DNS 服务器
我们都知道,在『记忆』的角色上,人脑总是不如计算机的,而人们对文字的印象又比数字高.因此,想要使用纯粹的 TCP/IP 来上网,实在不好记忆又很麻烦.为了适应人类的使用习惯,因此一个名为 DNS 的服 ...
- 什么是动态DNS 动态DNS有什么用
1.核心思想 配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口.在 ...
- win2000服务器 网站设置,服务器_Win2000中DNS服务器的设置,一、DNS概述 计算机在网 - phpStudy...
Win2000中DNS服务器的设置 一.DNS概述 计算机在网络上通讯时只能识别如"192.168.0.48"之类的数字地址,那为什么当我们打开浏览器,在地址栏中输入如" ...
最新文章
- mongodb基础应用
- 无序列表属性 隐藏方式 JS简介
- 简单android音乐播放器课程设计,android音乐播放器课程设计报告.doc
- nuxt服务端php,nuxt服务端部署上线
- 搭载Apple芯片的Mac如何使用macOS恢复?
- 数学建模——五步方法
- 数据分析之FineReport
- 老哥,Java 中 final 和 effectively final 到底有什么区别?
- 原来收汇宝真的是很烂
- matlab 去除最大值,TRIMMEAN 应用(求去掉最大或和最小值后的平均值的方法)
- 软件漏洞之Zabbix
- 几组超神奇的网页应用代码要你在IE浏览器任意打开一个网站,然后在浏览器上输入如下代码神奇的代码,可随意修改复制页面内容!
- Python的excel操作——PasteSpecial实现选择性粘贴自动化
- Java小白的入门面试笔记--线程局部变量之灵魂四问
- java_home的配置
- 个人收款平台 XorPay 对比 Payjs
- 2015去哪儿网校园招聘笔试题:寻找字符串的差异
- 关于pthread_mutex_t的初始化 http://www.blogbus.com/kavine-logs/46146510.html
- 机械制造作业考研题目答案分享——工件的定位
- AI行业精选日报_人工智能(1016)