Linux实现内容分发的主备模式的智能DNS
BIND实现智能DNS的原理是通过view的方式,首先判断客户请求的来源,然后返回不同的IP
规划:为za.com域进行智能解析
分2个网段,192.168.1.0/24网段的请求解析到192.168.1.100主机上, 其它网段解析到172.16.1.100主机,这里172.16.1.100模拟外网。
这和一般公司的模式很接近,为公司内部提供内部私网地址的解析,避免路由器性能浪费。为外部提供公网地址的解析。
ns服务器的IP地址为192.168.1.251和172.16.1.251
ns从服务器的IP地址为192.168.1.252和172.16.1.252
一、安装配置主DNS服务器
# yum install bind-chroot bind-utils –y #安装bind-chroot和bind-utils
在 (/usr/share/doc/bind-9.9.4/)这个目录下有我们BIND配置文件的模板,将其拷贝到其伪根目录下即可:
cp /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc
cp -a /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var
建立要使用的配置文件,然后进行修改
# vim /etc/named.conf
#首先定义控制列表,这里定义了内网的网段
acl innet {
127.0.0.0/8;
192.168.1.0/24;
};
#全局配置,精简一点,只配置数据文件目录位置
options {
directory "/var/named";
};
#创建内网用户的view
view in {
match-clients { innet; }; #定义用户为控制列表中所定义的
recursion yes; #允许内网用户进行递归查询
#下面是定义根区域和本地区域的正反解析
zone "." IN {
type hint;
file "named.ca";
}
zone "localhost" IN {
type master;
file "localhost.zone";
}
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
}
#定义内部网络用户解析
zone "za.com" IN {
type master;
file "za.com.in";
allow-transfer { none; }; #不允许区域传送
allow-update { none; }; #不允许更新
}
#定义内部网络反向解析
zone "0.168.192.in-addr.arpa" IN
{
type master;
file "za.com.in.resv";
};
};
#定义外部网络用户解析
view out {
match-clients { any; }; #允许所有用户(这里之所以允许所有用户,
是因为bind对配置文件是从上往下读取解析的,
匹配不到上面view所定义的acl,
才会到这个view中来)
recursion no; #不允许外部网络用户进行递归查询(我们不是免费的公共dns)
zone "za.com" IN {
type master;
file "za.com.out";
allow-transfer { none; };
allow-update { none; };
}
zone "1.16.172.in-addr.arpa" IN
{
type master;
file "za.com.out.resv";
};
};
# named-checkconf #配置完成后注意检查配置文件的语法错误
至此就配置好了主配置文件,接下来创建区域数据文件
# cd /var/named/
# vim za.com.in #创建内部网络客户解析区域文件及反向解析文件
#这里就随便建立几个记录了
#正向解析
$TTL 1D
@ IN SOA @ admin.za.com.(
2017010101
1D
1H
1W
3H )
IN NS dns.za.com.
dns IN A 172.16.1.251
www IN A 172.16.1.100
#反向解析
$TTL 86400
@ IN SOA @ admin.za.com.(
2017010101
1D
1H
1W
3H )
IN NS dns.za.com.
251 IN PTR dns.za.com.
100 IN PTR www.za.com.
#创建外部网络客户解析区域文件及反向解析文件
#正向解析
$TTL 1D
@ IN SOA dns.za.com. admin.za.com.(
2017010101
1D
1H
1W
3H )
@ IN NS dns.za.com.
@ IN MX 10 mail.za.com.
dns IN A 192.168.1.251
www IN A 192.168.1.100
#反向解析
$TTL 86400
@ IN SOA @ admin.za.com.(
2017010101
1D
1H
1W
3H )
IN NS dns.za.com.
251 IN PTR dns.za.com.
100 IN PTR www.za.com.
至此所有配置都已经完成
检查下配置有无出错
①命令 named-checkconf 可以查看BIND的主配置文件的错误:
named-checkconf /var/named/chroot/etc/named.conf
②命令 named-checkzone 可以查看zone配置文件的错误:
named-checkzone cnblogs.com.zone /var/named/chroot/var/named/za.com.in
检查无错误后启动服务
systemctl start named-chroot
systemctl start named
打开防火墙的53及953端口:
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=953/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --reload
二 、设置从DNS服务器
重复第一个步骤,给从DNS服务器安装bind-chroot软件,然后设置开机启动并将它开启。做好后,就修改从DNS服务器的主配置文件/etc/named.conf。从DNS的主配置文件与主DNS的基本相同,因此直接把配置复制过去就行,但zone语句需要进行修改。如下所示,从DNS的named.conf配置文件中的zone语句:
zone "za.com" IN {
type slave; //指明本服务器是这个域的从DNS服务器
file "slaves/za.com.in"; //从DNS的zone配置文件一定要放置在工作目录下的slaves目录中
masters { 172.16.1.251; }; //指定这个域的主DNS服务器的IP
};
与主DNS不同的是,从DNS上的zone配置文件不需要手动建立,它会通过同步自动建立。因此,从DNS上的配置文件这样就设置好了。
Linux实现内容分发的主备模式的智能DNS的更多相关文章
- Centos7.6部署k8s v1.16.4高可用集群(主备模式)
一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...
- Nginx+keepalived(高可用主备模式)
Nginx+keepalived(高可用主备模式) 环境:centos6.7 准备:两台服务器(虚拟机).两台应用(Tomcat).Nginx.keepalived server1:192.168.2 ...
- 【 Keepalived 】Nginx or Http 主-备模式
一.主-备模式: 操作系统:centos 6.4 x64 ka1: 192.168.2.10 ka2: 192.168.2.11 vip: 192.168.2.200 ka1-master服务器配置 ...
- springboot整合ActiveMQ 2(主备模式,负载均衡)
基本使用,https://www.tapme.top/blog/detail/2018-09-05-10-38 主备模式,https://www.tapme.top/blog/detail/2018- ...
- centos7 搭建双网卡bond1(主备模式)实例
前景须知: 在redhat6 中网卡叫bond,在redhat7及centos7中改名team,此处只记录centos7中双网卡主备搭建过程. 应用情景:实现网络的高可用,防止一条网线或交换机故障影响 ...
- MySQL主备模式的数据一致性解决方案
根据阿里交易型业务的特点,以及在双十一这样业内罕有的需求推动下,我们在官方的MySQL基础上增加了非常多实用的功能.性能补丁.而在使用MySQL的过程中,数据一致性是绕不开的话题之一.本文主要从阿里 ...
- Mssql主备见证的弊端及主备模式主down掉怎么恢复
mssql主备见证有个没有解决的问题,mssql的主备是针对单个库的,有时候单个或多个库主备切换了,但是整个主数据库并没有挂掉,并且还运行着其他的库,程序检测到的数据库连接是正常的,只是部分库连接不了 ...
- python监控服务器的主备模式
#-*- coding:utf8 -*-import paramikoimport re def check_active_ac(intervals=1): client = paramiko.Tra ...
- 好记性不如烂笔头-linux学习笔记6keepalived实现主备操作
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工 ...
随机推荐
- mysql issue:
####0 https://yq.aliyun.com/ziliao/53466 首先,很荣幸你找到了这篇文章... 如果你忘记了mysql的密码不妨试试以下这个方法. 1.打开my.cnf 代码如 ...
- JAVA_HOME not recognized by tomcat7 in Ubuntu
vi .bashrc 添加: export JAVA_HOME=/usr/lib/jvm/java--oracle export JRE_HOME=$JAVA_HOME/jre export CLAS ...
- windows 2008 r2或win7安装SP1补丁,安装sqlserver 2012
说明:安装sql server 2012时,win7和win2008r2系统都需要打sp1补丁. 1.SP1补丁下载地址(建议用迅雷下载): http://download.microsoft.com ...
- Bootcamp Win10蓝牙鼠标的问题
运行services.msc找到Bluetooth support service 把启动类型从手动改为自动 重新连接蓝牙鼠标
- Java并发(二):基础概念
并发编程的第二部分,先来谈谈发布(Publish)与逸出(Escape); 发布是指:对象能够在当前作用域之外的代码中使用,例如:将对象的引用传递到其他类的方法中,对象的引用保存在其他类可以访问的地方 ...
- html学习笔记-XML
html学习笔记-XML Table of Contents 1. XML简介 2. XML用途 3. XML树结构 4. XML语法 5. XML元素 6. XML属性 7. XML验证 8. XM ...
- eclipse中安装lombok插件
一:下载lombok 下载地址:https://projectlombok.org/downloads/lombok.jar 或者访问官网下载 https://projectlombok.org/ ...
- MyBatis关联查询、多条件查询
MyBatis关联查询.多条件查询 1.一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1.数据库表的设计 班级表: 教师表: 2.实体类的设计 班级表: public class Cla ...
- 'gets' undeclared here (not in a function)
原文:http://www.cnblogs.com/hjj801006/p/3988220.html 1.在命令行输入:find -name stdio.in.h.查到有两个文件中含有stdio.in ...
- SQL Server一个特殊的阻塞案例分析2
最近发现一个非常奇怪的阻塞问题,如下截图所示(来自监控工具DPA),会话583被会话1036阻塞,而且阻塞发生在tempdb,被阻塞的SQL如下截图所示,会话等待类型为LCK_M_S 因为DPA工具不 ...