智能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相关推荐

  1. ansole终端链接linux,基于Linux系统的智能家居远程控制系统设计论文.doc

    基于Linux系统的智能家居远程控制系统设计论文 学科分类号 0801 北京邮电大学毕业论文 题目 (中文):基于Linux系统的智能家居远程控制系统设计 (英文):The smart home re ...

  2. 软raid1 重新同步_软RAID搭建基于linux系统搭建RAID5

    实验二.软RAID搭建-基于linux系统搭建RAID5 实验要求: 1)创建RAID5; 2)添加一个热备盘sdj 3)指定chunk为32k 4停止阵列,重新激活阵列 5使用热备盘,扩展阵列容量, ...

  3. 基于linux智能家居系统设计,基于linux系统的智能家居远程控制系统设计毕业设计论文.doc...

    本科学生毕业论文(设计) 题目 (中文):基于linux系统的智能家居远程控制系统设计 (英文):The smart home remote control system based on Linux ...

  4. Linux系统下智能DNS服务器BIND9.7.2安装配置

    以下安装配置是在192.168.100.87服务器上实施的操作记录. 1.从http://www.isc.org/products/BIND/bind9.html下载bind9的源文件.目前版本为9. ...

  5. 软RAID搭建-基于linux系统搭建RAID0

    **RAID的实现方式: 硬RAID 软RAID 硬RAID: 做硬RAID,是在装系统前还是后? 先做阵列再装系统,一般在服务器启动时会显示进入raid配置的按键.比如Ctrl+L,每种服务器厂商的 ...

  6. Redis基于Linux系统的安装与集群搭建

    最近项目里需要引入Redis,这里记录下Redis的安装.这里以centos7为例,首先我们需要确保防火墙关闭 systemctl status firewalld.service //查看防火墙状态 ...

  7. 英特尔linux手机,英特尔发布国内首款基于Linux系统深度定制的智能教育电脑

    IT之家 4 月 23 日消息 根据英特尔官方的消息,日前,英特尔与来自腾讯教育.惠普.麒麟的代表们,联合发布了国内首款基于 Linux 系统深度定制的智能教育电脑. IT之家了解到,为了填充搭载国产 ...

  8. Linux系统搭建Red5服务器

    Linux系统搭建Red5服务器 Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,Windows下搭建相对容易,图形界面操作比较简单,Linux服务器的环境下没有图形界面, ...

  9. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析

    DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...

最新文章

  1. Python使用matplotlib可视化时间序列堆叠的面积图、堆叠面积图给出了多个时间序列的贡献程度的可视化表示,以便于相互比较(Stacked Area Chart)
  2. mysql数据库学习(一)--基础
  3. Spring Security --SecurityConfig的详细配置
  4. linux centos版本安装软件,linux – 在CentOS上安装软件:二进制文件还是rpm?
  5. MySQL的set names命令详解
  6. 排序算法四:归并排序基本原理以及Python实现
  7. 提升安全性WindowsXP必禁的十大服务
  8. 得到的概率值_手把手教你将矩阵概率画成图
  9. 贾跃亭旗下FF公司遭做空 美国机构质疑其造车能力:卖不出一辆FF91
  10. web 前端绘制折线_html5绘制折线图
  11. Confluence 6 安全相关问题提交链接
  12. 配置keepalived实现Nginx高可用(单主、双主模式)
  13. linux安装有道词典步骤,Ubuntu 16.04安装有道词典的方法
  14. 【中兴笔试题】外星母舰
  15. Openlayers笔记之图片偏移的完整解决方案
  16. Latex编译成功但是无法输出到PDF
  17. Cephalocon APAC 2018在北京成功举办
  18. 媲美阿里P7的前端技术架构图,你要不要试一试?
  19. TCMalloc 简介
  20. 关于FOB/CIF/CNF的报价

热门文章

  1. 使用 TreeView IE Web 控件
  2. 积分分离PID控制算法
  3. 数字化时代,企业应该如何看待商业智能BI
  4. 常见Web安全漏洞深入解析
  5. 动画项目中问题及解决方案(V客学院知识分享)
  6. 回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss
  7. C语言编码转换----负数的二进制表示方法
  8. 类的访问权限-public、private、protected
  9. 计算机硬件的发展经历了电子管时代,计算机硬件的发展经历了电子管时代、晶体管时代、集成电路时代和_______。...
  10. 最近用了一个免费的服务器