| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux下DNS主从同步搭建 -> 正文阅读 |
|
[系统运维]Linux下DNS主从同步搭建 |
? 我们的环境中只有一台DNS服务器,当他宕机了,那么客户端解析就会遇到问题,这个怎么办了,大家会说在大家一台一样配置的DNS服务器不就完了,对确实如此,这样确实就解决DNS服务器宕机,客户端无法解析的问题I,但是有个问题,不知道想过没有,这两台服务器的dns解析数据怎么更新,两台中的一台宕机,不会影响客户端un的解析了,这就用到了主从同步,当然还有别的工具(heartbeat、keeplived), ?? 主从同步原理就是,从服务器部写入数据,只同步主服务器的数据, 并且当主服务器宕机之后能替代主服务器替客户端做解析任务,所有的数据更新都是在主服务器上更新,更新完成后,通过主服务器告知从服务器我数据更新了, 你也赶紧的更新一下,或者通过从服务器每隔一段时间向主服务器反馈、检测是否主服务器数据更新,如果有更新从服务器就下载下来,下面的图中描述了主从同步过程: #架构环境如上面的图,试验中没有搭建web服务器,所有的web服务器都是使用主DNS服务器ip,这个不影响试验效果 以下配置主服务器和从服务器配置操作一样 #配置yum源 http://mirrors.163.com/.help/CentOS6-Base-163.repo [root@localhost ~]#mv CentOS6-Base-163.repo? /etc/yum.repos.d/ [root@localhost ~]#mv?? /etc/yum.repos.d/CentOS-Base.repo? . [root@localhost ~]# yum clean all [root@localhost ~]#? yum makecache #安装ntpdate同步时间(关键,导致解析和从服务器同步出现异常) [root@localhost ~]#? yum install ntpdate [root@localhost ~]#? ntpdate? time.windows.com #关闭防火墙和SELINUX(实际生产根据请款那个) [root@localhost ~]#? /etc/init.d/iptables? stop && setenforce? 0 #安装DNS服务器软件 安装bind参考上节 《Linux搭建DNS服务Linux客户端和Windows xp端解析验证器》 #修改主服务器配置文件 [root@localhost ~]#? vi /etc/named.conf options { //此处省略,配置都是跟上节配置一样//?????? allow-transfer? { 192.168.11.137;?????? }; #改为从服务器ip不然无进行DNS解析记录同步 //此处省略,配置都是跟上节配置一样// #从服务器配置 [root@localhost ~]#? vi /etc/named.conf options { //此处省略,配置都是跟上节配置一样// #正向解析文件区域配置 zone "fly.org" IN {???? #这个是zone的名称,也是我们要发布的域名 ?????? ?type slave;??? #修改服务类型为salve ??????? file "slaves/fly.org.zone"; #建议写成当前域名的名称 ?????? ?masters { 192.168.11.138; }; #增加主服务器ip }; #反向解析文件区域 zone "11.168.192.in-addr.arpa" IN { ????? ??type slave;??? # 修改服务类型为salve ?????? ?file "slaves/138.11.168.192-fly.org.zone"; #建议写成这样的 ??????? masters { 192.168.11.138; }; #增加主服务器ip }; //此处省略,配置都是跟上节配置一样// 保存更改,重启DNS服务,记住每次修改DNS服务配置都要重启DNS服务,包括当主服务器更新DNS解析记录也要重启服务(只需要重启主服务器DNS服务) #查看从服务器/var/named/slaves/目录下是否同步区域解析文件 [root@localhost ~]# ls /var/named/slaves/ 138.11.168.192-fly.org.zone? fly.org.zone
#添加正向解析记录guo.fly.org IN A 192.168.11.135 [root@localhost named]# vi fly.org.zone $TTL 60? #这里写成60为了更快生效 @?????? IN SOA? @ fly.org. ( ?1???? ; serial #每次更新区域文件必须增加id数一般是时间加修改次数 ??????????????????????? 60????? ; refresh #刷新时间这里为了快 ??????????????????????????????????????? 1H????? ; retry ??????????????????????????????????????? 1W????? ; expire ????????????????????????????????? ??????3H )??? ; minimum @?????? IN????? NS????? fly.org. @?????? IN????? NS????? slave.fly.org. fly.org.??????? IN????? A?????? 192.168.11.138 slave.fly.org.? IN????? A?????? 192.168.11.137 @?????? IN????? MX 10?? mail.fly.org. mail.fly.org.?? IN????? A? ?????192.168.11.122 limin.fly.org. IN CNAME fly.org. www???? IN????? A?????? 192.168.11.132 ftp???? IN????? A?????? 192.168.11.133 bbs???? IN????? A?????? 192.168.11.134 guo???? IN????? A?????? 192.168.11.135 #添加反向解析记录 [root@localhost named]# vi 138.11.168.192-fly.org.zone $TTL 60 @?????? IN SOA? @ fly.org. ( 1? ; serial#每次更新区域文件必须增加id数一般是时间加修改次数 ??????????????????????? 60????? ; refresh刷新时间这里为了快 ??????????????????????????????????????? 1H????? ; retry ??????????????????????????????????????? 1W????? ; expire ??????????????????????????????????????? 3H )??? ; minimum @?????? IN????? NS????? fly.org. @?????? IN????? NS????? slave.fly.org. 138???? IN????? PTR???? fly.org. 137???? IN????? PTR???? slave.fly.org. @?????? IN????? MX 10?? mail.fly.org. 122???? IN????? PTR???? mail.fly.org. 132???? IN????? PTR???? www.fly.org. 133???? IN????? PTR???? ftp.fly.org. 134???? IN????? PTR???? bbs.fly.org. 135???? IN????? PTR???? guo.fly.org. #然后重启主服务器DNS服务 [root@localhost named]# /etc/init.d/named? restart Stopping named:????????????????????????????? [? OK? ] Starting named:????????????????? ?????????????[? OK? ] #查看从服务器正向解析是否获得更新 [root@localhost slaves]# cat fly.org.zone $ORIGIN . $TTL 60 ; 1 minute fly.org???????????????? IN SOA? fly.org. fly.org. ( ??????????????????????????????? 1????????? ; serial ??????????????????????????????? 60???????? ; refresh (1 minute) ??????????????????????????????? 3600?????? ; retry (1 hour) ??????????????????????????????? 604800???? ; expire (1 week) ??????????????????????????????? 10800????? ; minimum (3 hours) ??????????????????????????????? ) ??????????????????????? NS????? fly.org. ??????????????????????? NS????? slave.fly.org. ??????????????????????? A?????? 192.168.11.138 ??????????????????????? MX????? 10 mail.fly.org. $ORIGIN fly.org. bbs???????????????????? A?????? 192.168.11.134 ftp???????????????????? A?????? 192.168.11.133 guo???????????????????? A?????? 192.168.11.135 limin?????????????????? CNAME?? fly.org. mail??????????????????? A?????? 192.168.11.122 slave?????????????????? A?????? 192.168.11.137 www?????????? ??????????A?????? 192.168.11.13 #查看从服务器反向解析是否成功 [root@localhost slaves]# cat 138.11.168.192-fly.org.zone $ORIGIN . $TTL 60 ; 1 minute 11.168.192.in-addr.arpa IN SOA? 11.168.192.in-addr.arpa. fly.org. ( ??????????????????????????????? 1????????? ; serial ??????????????????????????????? 60???????? ; refresh (1 minute) ??????????????????????????????? 3600?????? ; retry (1 hour) ??????????????????????????????? 604800???? ; expire (1 week) ??????????????????????????????? 10800????? ; minimum (3 hours) ??????????????????????????????? ) ??????????????????????? NS????? fly.org. ??????????????????????? NS????? slave.fly.org. ??????????????????????? MX????? 10 mail.fly.org. $ORIGIN 11.168.192.in-addr.arpa. 122???????????????????? PTR???? mail.fly.org. 132???????????????????? PTR???? www.fly.org. 133???????????????????? PTR???? ftp.fly.org. 134???????????????????? PTR???? bbs.fly.org. 135???????????????????? PTR???? guo.fly.org. 137???????????????????? PTR???? slave.fly.org. 138???????????????????? PTR???? fly.org. 中间同步可能遇到的问题,当主服务器更新DNS数据重启服务,按照设定的时间最慢一分钟就会更新,咱们是内网时间环境也就2、3秒中的时间,在实验中一般超过5秒没有更新就重新一下从服务器的DNS服务,当然这个是试验环境,主要是为了理解主从同步原理,可以忽略这些问题,但是在生产中,不行,生产环境中他是rdcbind服务只需重新加载区域文件更新就行,这个以后在做
#linux端验证,这里我们使用主DNS服务器验证 添加DNS记录(主从DNS记录) [root@localhost slaves]# vi /etc/resolv.conf ; generated by /sbin/dhclient-script search localdomain nameserver 192.168.11.138?? #主DNS服务器地址 nameserver 192.168.11.137?? #从DNS服务器地址 nameserver 192.168.11.2 #当主从同时在线时我们使用nslookup 解析 guo.fly.org [root@localhost slaves]# nslookup? guo.fly.org Server:???????? 192.168.11.138?????? #此时DNS为主服务器 Address:??????? 192.168.11.138#53?? #地址为主服务器地址端口53 Name:?? guo.fly.org???? #解析的域名 Address: 192.168.11.135? #域名服务器ip [root@localhost slaves]# Windows xp客户端解析 添加主备DNS ok,Windows xp解析正常,DNS服务器的域名都可以解析到,至于linux为什么没有,这个可能跟他是DNS服务器有关吧,这里等会在测试。 #然后我们宕掉主服务器的DNS服务,看看linux和Windows xp客户端解析情况 [root@localhost named]# /etc/init.d/named? stop Stopping named:???????????????????????????????? [? OK? ] [root@localhost named]# #linux解析 [root@localhost slaves]# nslookup? guo.fly.org Server:???????? 192.168.11.137???? #从服务器ip Address:??????? 192.168.11.137#53? #从服务器地址ip Name:?? guo.fly.org?????? #解析域名 Address: 192.168.11.135??? #域名服务器ip地址 [root@localhost slaves]# Windows xp端 ok,成功解析到从服务器上,上面的报错不用管,那个是因为咱主DNS填写的主DNS服务器,现在主服务器宕机了,这个正常,DNS在解析时,第一个失败就到备DNS这个不会影响客户端解析 #备注一下:Windows的客户端主备切换时间是15分钟,这个严重影响咱们的试验,不能很快的解析备DNS,所以提供一个一个修改注册表的方法,(这个可以用在生产环境中哦) 打开注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters 在有边新建一个REG_DWORD(字符串),值设定为0,确定后,即可生效。 #备宕机就不做演示了,这个跟上面的一样 就上面linux解析不到DNS服务器的域名,咱们在开一台linux看看什么情况 唉,问题没有解决,是不是因为DNS服务器本地域名的关系了,那咱就在试试 修改下主备DNS服务器服务器名 修改完毕需要重启才生效哦, 其实临时的也行, 为了保证一次到位咋就给他reboot吧 ok,现在了,启动主服务器的DNS服务看看如何 启动完毕后,要注意关闭iptables和SELINUX哦,咋这里面没有在iptables中放行DNS的端口,所以要关闭哦 解析了下百度和QQ也是这个样子 他大爷的,还么有成功,到底杂回事了, 今天看来是没事搞了,泪留给明天搞吧,唉~~~~~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 16:41:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |