win2003使用DNS服务器实现负载均衡

   2015-06-28 0
核心提示:访问企业网服务器的用户急剧增加,一台服务器难以满足用户的访问需要,那么如何才能保证用户的正常访问呢?
解决方法有很多,如使用Windows2000或WindowsServer2003提供网络负载均衡服务,但该服务的设置非常复杂。而通过DNS服务器实现网络负载均衡则是一种比较简单的方法。

笔者以企业网中的Web服务器为例来介绍一下如何使用DNS服务器实现网络负载均衡。为了提高域名为“www.lexue001.com”的网站的访问量,在企业网中部署三台内容相同的Web服务器,它们提供相同的服务,但每台服务器的IP地址都不一样。下面对企业网中的DNS服务器进行设置来实现三台Web服务器共同承担客户对网站的访问。

一、启用循环

以WindowsServer2003系统为例,在DNS服务器中,依次点击“开始→程序→管理工具→DNS”选项,进入DNS管理器窗口,鼠标右键点击DNS服务器图标,在弹出的快捷菜单中选择“属性”选项,接着在属性对话框中切换到“高级”选项卡(图1),确保“服务器选项”列表框中的“启用循环”选项处于选中状态。

二、添加主机记录

在“jb51.net”区域中创建主机记录。在DNS管理器窗口中,右键点击“jb51.net”项,在弹出的菜单中选择“新建主机”,进入新建主机对话框,在“名称”栏中输入“WWW”,IP地址栏中输入其中一台Web服务器的IP地址,如192.168.0.5,最后点击“添加主机”按钮。

因为企业网中有三台Web服务器,并且它们的IP地址都不同,因此另外还要新建两条主机名为“WWW”的主机记录,方法和上面一样,仅仅是它们的IP地址内容不同。这样就能将网站域名分别解析到不同的Web服务器上。

DNS服务器jb51.net区域三条主机记录内容如下表所示:

完成了以上三条主机记录的创建后(图2),就实现了Web服务器的网络负载均衡。这样当客户机访问www.lexue001.com网站时,就会向DNS服务器发出域名解析请求。DNS服务器收到第一个请求时,会把第一个IP地址192.168.0.5返回给客户机,当第二个客户机要求域名解析时,DNS服务器就把第二个IP地址192.168.1.5返回给客户机。通过这样的循环分配,就可以把客户机的访问分担到不同的Web服务器上,从而实现网络负载均衡功能。

三、负载均衡功能的优化

企业网通常由很多子网构成,为了降低网络中的数据流量,客户机最好能访问处于同一子网内的Web服务器。虽然实现了网络负载均衡功能,但并不能保证客户访问的是本子网的Web服务器。其实这个问题也很好解决,只要启用DNS服务器的“启用网络掩码排序”功能即可。

在DNS管理器窗口中,右键点击DNS服务器,在弹出的菜单中选择“属性”,然后在属性对话框中切换到“高级”选项卡,勾选“服务器选项”列表框中的“启用网络掩码排序”选项即可。这样客户机每次都能访问到本子网内的Web服务器了。

完成以上设置后,就使DNS服务器实现了网络负载均衡功能,把客户的访问分担到每个Web服务器上,并且还减少了跨子网的网络通信流量,大大降低了企业网的通信负担。

完整版本:

现在网络的规模越来越大,网络中服务器的负载也变得越来越重。例如:在公司的网络中安装了一台WEB服务器,用于向企业内部网中的用户提供服务,假如网络中有几千甚至上万个用户需要同时访问这台WEB服务器,那么这台服务器的性能将变得极差。

    如何来解决这个问题呢?在Windows 2000 Advanced Server中提供有Load Banlance负载均衡服务可以解决这个问题,但该服务的设置较复杂。另外我们还可以通过DNS来实现负载均衡的功能。

    Enable round robin 启用循环

    为了减轻某台服务器的负载,我们可以在网络中安装多台服务器。例如,原来网络中只有一台X235 的WEB服务器,其主机名为www.test.com,IP地址为192.168.1.100。为了减轻这台WEB服务器的负载,我们可以在网络中安装多台X235来提供WEB服务,并保证每台WEB服务器的内容都是一致的。如果可以实现让客户端分别访问不同的WEB服务器,这样就达到了分担负载的目的。那么如何让客户端分别向不同的WEB服务器访问呢?这就要用到DNS服务所提供的round robin功能。

win2003使用DNS服务器实现负载均衡

    我们可以按如下步骤操作:

    在Windows200中打开管理工具中的DNS管理器。

    在DNS管理其中,用鼠标右键点击该DNS服务器图标,在弹出的菜单中选择Property属性菜单。

    在弹出的窗口中,选择Advanced选项卡。确保Enable round robin选项是处于被选中的状态。

    点击OK关闭该窗口。

    当设定好Round roubin后,接下来需要在DNS的区域(Zone)中添加主机记录:

    打开管理工具中的DNS管理器

    用鼠标右键点击将要创建记录的区域,在弹出的菜单中选择New host新建主机记录。然后依照向导提示输入必要的信息。

    主机名  IP地址
    www  192.168.1.200
    www 192.168.1.201
    www 192.168.1.202

    当输入完所有主机的主机名与IP的对应关系后,你将看到类似于下图的窗口。

win2003使用DNS服务器实现负载均衡

    在这里我们注意到,添加的三条主机记录是同一个主机名对应着不同的IP。这些不同的IP即为网络中安装的多台WEB服务器的实际IP,他们对应着同一个主机名www.test.com。

    这样当客户端们在浏览器的地址栏中输入:www.test.com去访问WEB服务器时,就会向DNS服务器发出名称解析请求。当DNS服务器收到第一个客户端的请求时,会把第一个IP 192.168.1.200响应给客户端,当第二个客户端要求解析时,服务器把第二个IP192.168.1.201响应给客户端,以此类推。通过这样的循环分配IP地址,就可以让不同的客户器访问不同的服务器,从而达到分担服务器的负载的功能。

    Enable netmask ordering 启用子网优先

    如果公司的网络是由多个子网构成的,为了使用户能够更有效地访问服务器中的资源,例如WEB服务器上的资源,我们可以在每个子网中都安装一台WEB服务器,这些WEB服务器保存的数据是完全一样的并且都使用同一个主机名,例如:www.test.com。那么如何让用户在其浏览器的地址栏中输入主机名www.test.com时,访问的是本子网的WEB服务器,而不是其他子网的web服务器呢?我们可以通过设置Enable netmask ordering 启用子网优先来实现这一功能。

    想实现Enable netmask ordering 启用子网优先,我们可以按以下步骤操作:

    打开管理工具中的DNS管理器

    在DNS管理其中,用鼠标右键点击该DNS服务器图标,在弹出的菜单中选择Properties属性菜单。在弹出的窗口中,选择Advanced选项卡。确保Enable subnet ordering选项是处于被选中的状态。点击OK关闭该窗口。

    当设定好subnet ordering后,接下来需要在区域中添加主机记录:

    打开管理工具中的DNS管理器

    用鼠标右键单击将要创建记录的区域,在弹出的菜单中选择New host新建主机记录。然后依照向导提示输入必要的信息。

    例如:

    主机名  IP地址
    www  192.168.1.200
    www 202.96.1.201
    www 64.35.1.202

    当输入完所有主机的主机名与IP的对应关系后,你将看到类似于下图的窗口。

win2003使用DNS服务器实现负载均衡

    这样我们在DNS服务器中添加了三条主机记录:同一个主机名对应着不同的IP。这些不同的IP即为不同子网中安装的WEB服务器的实际IP地址,他们对应着同一个主机名www.test.com。

    这样当用户在其浏览器的地址栏中输入:www.test.com去访问该WEB服务器时,该客户端就会向DNS服务器发出名称解析请求。作为DNS服务器收到客户端的查询请求后,将比较客户端的IP地址,与它所请求的主机名所对应的IP地址中的哪一个在同一子网中,然后将这个IP (与客户端在同一子网中的IP地址) 响应给客户端。这样就可以实现客户端访问的总是本子网中的服务器, 把服务器的访问负载分摊到了各个子网的服务器中,并且减少了跨子网的网络流量。

 
标签: DNS 负载均衡
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • ubuntu dig timeout解决方法,dnscat执行失败也
     sudo vi /etc/resolvconf/resolv.conf.d/head写入: nameserver 223.5.5.5nameserver 223.6.6.6nameserver 114.114.114.114nameserver 8.8.8.8  
    02-10
  • Fedora 服务器之 DNS 配置
    网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为“IP地址”。但这些数字难以记忆,所以就采用“域名”的方式来取代这些数字了。 当某台主机要与其他主机通信时,就可以利用主机名称向DNS服务器查询该主机的IP地址。整个DNS域名系
    02-10
  • Ubuntu 能ping通DNS 地址 无法解析域名
     ping通qq百度都行,唯独谷歌不行,主机能够ping通google的dns服务器地址 8.8.8.8,却无法解析域名 $ ping www.google.co.ukping: unknown host www.google.co.uk 查看/etc/network/interfaces文件写的有 dns-nameservers 8.8.8.8 8.8.4.4 这句,再查看/et
    02-10
  • 【linux基础err】ubuntu16.04 dns_probe_finish
    err:ubuntu16.04 dns_probe_finished_no_internet有线和无线的图标正常,不能连接上网,与DNS的配置有关。
    02-10
  • CentOS下yum安装dnsmasq,并强制替换为最新版
    由于yum安装的dnsmasq版本比较低,从网上找到了参考方法,将yum安装好的dnsmasq强制替换为最新版!安装dnsmasq的下载地址:http://www.thekelleys.org.uk/dnsmasq/我选择的是最新的版本:dnsmasq-2.76wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.76
    02-09
  • nginx 代理 coredns dns 服务
    nginx 代理 coredns dns 服务
    今天有写过一个简单的基于nginx 的stream 代理dns server的服务,以下是集成coredns 的一个demo 同时也包含了consul 以及使用coredns 的rewrite 以及loadbalance 插件环境准备docker-compose 文件 version: "3"services: lb:   image: openresty/openrest
    02-09
  • Debian系统配置nginx解析php debiandns配置
    Debian系统配置nginx解析php debiandns配置
    通过apt-get install安装的nginx、php、php-fpm   /etc/nginx/sites-available/default删除后:  打开index.php:   保留default后,web目录为:/var/www/html 建议修改/etc/nginx/sites-available/default文件,不要直接修改/etc/nginx/nginx.conf文
    02-09
  • Linux 域名和DNS
    Linux 域名和DNS
    名字解析的作用:TCP/IP网络中,设备之间的通信依赖IP地址来实现,但是IP地址不好记忆,所以就将每一台设备用一个名字来进行标识,但是这个名字计算机不能解析。所以就需要借助名字解析服务来实现将名字解析为IP地址。主机名和域名的联系主机名:主机名:计算
    02-09
  • 教你使用Ubuntu搭建DNS服务器
    教你使用Ubuntu搭建DNS服务器
    本例是在ubuntu18.04上进行的,其他版本的ubuntu同样类似!一、重点说明/etc/bind/named.conf.options配置文件在进行bind9服务器配置时,/etc/bind/named.conf.options是十分关键的配置文件,它决定着DNS服务器是否可以正常工作。重点解释第30行:listen-on p
  • mac 清理dns cache
    之所以提起这个功能,是因为在windows下面太方便了,进入cmd窗口:ipconfig /flushdns ,轻轻松松处理在mac上面就没有这么方便了,很久前,用“dscacheutil -flushcache”就可以解决了。但自从升级后这些命令就没有了,你必须得用这个组合才能清理干净:XML/H
点击排行