基于Linux系统搭建智能DNS
智能DNS
对域名进行智能解析,能够根据客户端的IP的特点对相同域名解析为不同的IP。
用到DNS里的视图(view)功能:
类似于编程语言的if语句
if [ IP == "中国电信的IP" ];then
把域名解析电信机房的服务器的IP
elif [ IP == "网通IP" ];then
把域名解析网通机房的服务器的IP
else
默认返回电信机房的IP
fi
DNS视图:
view
准备:
静态IP
FQDN的主机名
绑定hosts文件
安装:
# yum install bind bind-chroot -y
一、建立IP列表
# vim /var/named/chroot/var/named/chinanet
acl chinanet {
10.1.1.101;
10.1.1.233;
10.1.1.110;
10.1.1.156;
10.1.1.123;
};
# vim /var/named/chroot/var/named/cnc
acl cnc {
10.1.1.1;
10.1.1.21;
10.1.1.22;
10.1.1.60;
10.1.1.175
10.1.1.50;
172.16.196.1;
172.16.196.2;
};
二、建立配置文件
# vim /var/named/chroot/etc/named.conf
options {
listen-on port 53 { any; };
directory "/var/named"; <---锁定之后,chroot之后的“/”
allow-query { any; };
};
include "cnc";<----访问列表: IP列表
include "chinanet";
view china_net {
match-clients { chinanet; }; <--- "chinanet" 是acl的名字
zone "upl.com." IN {
type master;
file "data/chinanet.upl.com.zone";
};
};
view china_cnc {
match-clients { cnc; };
zone "upl.com." IN {
type master;
file "data/cnc.upl.com.zone";
};
};
view other {
match-clients { any; };
zone "upl.com." IN {
type master;
file "data/other.upl.com.zone";
};
};
三、分别建立三个视图对应的区的定于文件
# vim /var/named/chroot/var/named/data/chinanet.upl.com.zone
$TTL 86400
@ IN SOA upl.com. root. (
2013022201
2M
1M
1D
1H )
@ IN NS www.upl.com.
www IN A 10.1.1.21
bbs IN A 10.1.1.10
# vim /var/named/chroot/var/named/data/cnc.upl.com.zone
$TTL 86400
@ IN SOA upl.com. root. (
2013022201
2M
1M
1D
1H )
@ IN NS www.upl.com.
www IN A 10.1.1.21
bbs IN A 10.1.1.11
# vim /var/named/chroot/var/named/data/other.upl.com.zone
$TTL 86400
@ IN SOA upl.com. root. (
2013022201
2M
1M
1D
1H )
@ IN NS www.upl.com.
www IN A 10.1.1.21
bbs IN A 10.1.1.12
# service named start
客户端去测试:
客户端的DNS必须指向我们自己配置的DNS服务器的IP
# vim /etc/resolv.conf
nameserver 10.1.1.21
# nslookup bbs.upl.com 《---- 不同网段的客户端解析bbs.upl.com返回不同的IP
例子:如何在视图的配置下增加一个DNS从服务器
一、在主DNS服务器上生成一个key
# rndc-confgen -a -c /etc/rndc.key
# cat /etc/rndc.key
# cat /var/named/chroot/etc/rndc.key 保证两个文件内容都一样
key "rndc-key" {
algorithm hmac-md5;
secret "PIeY8PMHKStmytRUnk2GCw==";
};
# vim /var/named/chroot/etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
directory "/var/named";
allow-query { any; };
};
include "/etc/rndc.key";
include "cnc";
include "chinanet";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
view china_net {
match-clients { chinanet;10.1.1.17; };
zone "upl.com." IN {
type master;
file "data/chinanet.upl.com.zone";
allow-transfer { key "rndc-key"; }; <--只要是能够提供正确密钥,都能下载区域文件成为从DNS服务器
};
};
view china_cnc {
match-clients { cnc;10.1.1.18; };
zone "upl.com." IN {
type master;
file "data/cnc.upl.com.zone";
allow-transfer { key "rndc-key"; };
};
};
view other {
match-clients { any; };
zone "upl.com." IN {
type master;
file "data/other.upl.com.zone";
allow-transfer { key "rndc-key"; };
};
};
二、配置从DNS
IP、FQDN、hosts
必须给从DNS安排3个IP
10.1.1.17模拟成电信IP
10.1.1.18模拟网通的IP
10.1.1.19模拟其他网络的IP
主、从之间时间要同步
# ntpdate 10.1.1.21
# ifconfig eth0 10.1.1.17 netmask 255.255.255.0
# ifconfig eth0:1 10.1.1.18 netmask 255.255.255.0
# ifconfig eth0:2 10.1.1.19 netmask 255.255.255.0
1、安装软件包 bind , bind-chroot
2、在Master(主DNS)上下载key文件/etc/rndc.key
# rsync -alvR 10.1.1.21:/var/named/chroot/etc/rndc.key /
# rsync -alvR 10.1.1.21:/etc/rndc.key /
# vim /var/named/chroot/etc/named.conf
如果不下载,可以直接把这个key文件的内容写在主配置中
3、下载IP列表文件,应该和master一样
# rsync -alvR 10.1.1.21:/var/named/chroot/var/named/chinanet /
# rsync -alvR 10.1.1.21:/var/named/chroot/var/named/cnc /
4、配置从DNS的配置文件
# vim /var/named/chroot/etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
directory "/var/named";
allow-query { any; };
};
key "rndc-key" {
algorithm hmac-md5;
secret "PIeY8PMHKStmytRUnk2GCw==";
};
include "cnc";
include "chinanet";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
view china_net {
match-clients { chinanet;};
transfer-source 10.1.1.17;
zone "upl.com." IN {
type slave;
file "slave/chinanet.upl.com.zone";
masters { 10.1.1.21 key "rndc-key"; };
};
};
view china_cnc {
match-clients { cnc; };
transfer-source 10.1.1.18;
zone "upl.com." IN {
type slave;
file "slave/cnc.upl.com.zone";
masters { 10.1.1.21 key "rndc-key"; };
};
};
view other {
match-clients { any; };
transfer-source 10.1.1.19;
zone "upl.com." IN {
type slave;
file "slave/other.upl.com.zone";
masters { 10.1.1.21 key "rndc-key"; };
};
};
# mkdir /var/named/chroot/var/named/slave
# chown named:named /var/named/chroot/var/named/slave
本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1243780,如需转载请自行联系原作者
基于Linux系统搭建智能DNS相关推荐
- ansole终端链接linux,基于Linux系统的智能家居远程控制系统设计论文.doc
基于Linux系统的智能家居远程控制系统设计论文 学科分类号 0801 北京邮电大学毕业论文 题目 (中文):基于Linux系统的智能家居远程控制系统设计 (英文):The smart home re ...
- 软raid1 重新同步_软RAID搭建基于linux系统搭建RAID5
实验二.软RAID搭建-基于linux系统搭建RAID5 实验要求: 1)创建RAID5; 2)添加一个热备盘sdj 3)指定chunk为32k 4停止阵列,重新激活阵列 5使用热备盘,扩展阵列容量, ...
- 基于linux智能家居系统设计,基于linux系统的智能家居远程控制系统设计毕业设计论文.doc...
本科学生毕业论文(设计) 题目 (中文):基于linux系统的智能家居远程控制系统设计 (英文):The smart home remote control system based on Linux ...
- Linux系统下智能DNS服务器BIND9.7.2安装配置
以下安装配置是在192.168.100.87服务器上实施的操作记录. 1.从http://www.isc.org/products/BIND/bind9.html下载bind9的源文件.目前版本为9. ...
- 软RAID搭建-基于linux系统搭建RAID0
**RAID的实现方式: 硬RAID 软RAID 硬RAID: 做硬RAID,是在装系统前还是后? 先做阵列再装系统,一般在服务器启动时会显示进入raid配置的按键.比如Ctrl+L,每种服务器厂商的 ...
- Redis基于Linux系统的安装与集群搭建
最近项目里需要引入Redis,这里记录下Redis的安装.这里以centos7为例,首先我们需要确保防火墙关闭 systemctl status firewalld.service //查看防火墙状态 ...
- 英特尔linux手机,英特尔发布国内首款基于Linux系统深度定制的智能教育电脑
IT之家 4 月 23 日消息 根据英特尔官方的消息,日前,英特尔与来自腾讯教育.惠普.麒麟的代表们,联合发布了国内首款基于 Linux 系统深度定制的智能教育电脑. IT之家了解到,为了填充搭载国产 ...
- Linux系统搭建Red5服务器
Linux系统搭建Red5服务器 Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,Windows下搭建相对容易,图形界面操作比较简单,Linux服务器的环境下没有图形界面, ...
- linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析
DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...
最新文章
- Python使用matplotlib可视化时间序列堆叠的面积图、堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart)
- mysql数据库学习(一)--基础
- Spring Security --SecurityConfig的详细配置
- linux centos版本安装软件,linux – 在CentOS上安装软件:二进制文件还是rpm?
- MySQL的set names命令详解
- 排序算法四:归并排序基本原理以及Python实现
- 提升安全性WindowsXP必禁的十大服务
- 得到的概率值_手把手教你将矩阵概率画成图
- 贾跃亭旗下FF公司遭做空 美国机构质疑其造车能力:卖不出一辆FF91
- web 前端绘制折线_html5绘制折线图
- Confluence 6 安全相关问题提交链接
- 配置keepalived实现Nginx高可用(单主、双主模式)
- linux安装有道词典步骤,Ubuntu 16.04安装有道词典的方法
- 【中兴笔试题】外星母舰
- Openlayers笔记之图片偏移的完整解决方案
- Latex编译成功但是无法输出到PDF
- Cephalocon APAC 2018在北京成功举办
- 媲美阿里P7的前端技术架构图,你要不要试一试?
- TCMalloc 简介
- 关于FOB/CIF/CNF的报价
热门文章
- 使用 TreeView IE Web 控件
- 积分分离PID控制算法
- 数字化时代,企业应该如何看待商业智能BI
- 常见Web安全漏洞深入解析
- 动画项目中问题及解决方案(V客学院知识分享)
- 回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss
- C语言编码转换----负数的二进制表示方法
- 类的访问权限-public、private、protected
- 计算机硬件的发展经历了电子管时代,计算机硬件的发展经历了电子管时代、晶体管时代、集成电路时代和_______。...
- 最近用了一个免费的服务器