BIND + LVS + Keepalived 搭建内网DNS集群-分区域响应结果,可做智能解析

BIND + LVS + Keepalived 搭建内网DNS集群-分区域响应结果,可做智能解析,第1张

本次配置的所有服务器均为虚拟机, *** 作系统为Centos 7.3。

本次部署的LVS是基于DR的工作模式,负载均衡调度方式使用了RR,客户端发起DNS请求是,LVS回轮询发送至每台服务器上。DNS服务器解析穗拆请求后直接返回给客户端。

在每台服务器上安装ntpdate,确保时间同知族悔步。

yum安装bind-chroot,顾名思义这个是可指定chroot的bind,比较安全。搭正

bind-utils是bind软件提供的一组DNS工具包,里面有一些DNS相关的工具.主要有:dig,host,nslookup,nsupdate.使用这些工具可以进行域名解析和DNS调试工作.

这里开始主DNS的配置,下面是配置named.conf,默认安装的路径为/etc/named.conf

从DNS服务器安装与主DNS安装方法一样,只是在配置文件上有些改动,且不需要配置区域数据文件。

在每台机器的/etc/init.d/目录中创建一个lvsrs文件,如下:

给予文件可执行权限

将脚本设置为开机启动

采用key认证方式配置主从DNS服务

生成如下一段字符串

需要配置几个区域就生成几次。

最终配置文件

主:

主机文件 :/etc/named.rfc1912.lan.zones

主机文件 :/etc/named.rfc1912.zones

备:

备机文件 :/etc/named.rfc1912.lan.zones

备机文件 :/etc/named.rfc1912.zones

配置DNS集群只需要克隆备机,然后把named.conf的监听ip地址重新配置即可。

新DNS Server上线后,在lvs的文件内添加新IP,重启就上线完成了。

这个架构我完全无法理解,为毛要2台lvs,一般2台lvs是为了分流或高可用,好吧我暂时这么理解他的意图,1台nginx是作为反向代理,简单理解就是在客户端看来服务器端就是一台机器,防止其他人员了解你的后端架构和处理流程,nginx也可以减轻web的资源消耗主要是内存和io,也可以配置当成日志服务器,减轻web的压力,但是他后端就一台web啊,用这个架构拿竖樱为毛啊,好吧我暂时理解为他是为了以后方便拓展架构;1台dns服务器,为毛啊,无法理解,如果只是为了网站本身需要完全可以自解析,直接写hosts不是更方便,好吧,其实架设dns服务器是个好习惯,但是在资源有限的前提下,我认为不如把dns换成web,资源利用率更高;lvs和nginx都有负载均衡的作用,小架构1台nginx完全可以搞定,2台lvs纯属浪费;至于123456的问题,nginx配置,推荐《决战nginx》高性能web服务器详解与运维;至于架构原理纤陵,推荐《构建高可用linux服务器》余洪春

简单说下流程:正常应该是,客户端包先到lvs,消丛lvs做了高可用,lvs分发给nginx,nginx查询dns后分发给web

首先看一下一下 ipvsadm -h 对这两个参数的注释

说明这个VS是否是持久的。如果配置了这搏中友个选项,来自同一个客户端的链接(这里注意:这里的同一个客户端指的是同一个IP)培肆会转发向相同的基槐服务器。注释中特意提到了FTP协议。我查阅了一下资料,可能像FTP协议这种,客户端通过21端口打开控制连接,再通过20端口打开数据连接,这种协议,要求来自同一个客户端ip,不同端口的请求也送向同一个服务器,估计是这个参数存在的核心原因。如果是现在的系统,比如k8s使用ipvs,这个参数是完全没必要配置的

更改用于ipvs连接的超时值。此命令始终使用3个参数,分别表示tcp会话,接收到FIN包的TCP会话和UDP包的超时值。单位为秒。设置为0并不代表将超时值设置为0,而是保持原有不变。顺便来说, timeout 的默认值是900、120、300.

一个以客户端ip为维度,一个以客户端ip+port为维度


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8185307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存