Linux运维最佳实践
上QQ阅读APP看书,第一时间看更新

最佳实践4:利用BIND实现简单负载均衡

在BIND中,DNS的条目称为资源记录(Resource Record),资源记录的种类很多,比较常用的有以下几个。

1)A记录。这个是最简单和常用的类型,即把域名解析为IP地址。

2)CNAME记录。以下面的代码为例,它的含义是:以www.sdo.com.wscdns.com这个域名作为www.sdo.com的别名进行域名解析,也就是说把域名www.sdo.com.wscdns.com解析出来的IP作为访问www.sdo.com主机所提供资源的IP。

www.sdo.com.          IN     CNAME     www.sdo.com.wscdns.com.

3)NS记录。以解析sdo.com这个授权域的配置项为例(如下):

@               IN      NS      ns1

它指定了使用ns1.sdo.com作为解析授权域sdo.com的权威域名服务器,也就是把对sdo.com所有子域名的解析权限授权给ns1.sdo.com,解析器通过访问ns1.sdo.com获得sdo.com子域名的解析。

在以上3种资源记录的类型中,在BIND里面,支持对同一个域名指定多个A记录和NS记录。如指定了多个A记录,在不同的解析器或者同一个解析器的连续多次请求中,BIND会轮询返回不同的IP地址,达到简单负载均衡的效果。代码配置项如下:

$TTL 900
@       IN      SOA     ns1.woyodns.com. ops (
          2009061601 ; serial
          3600       ; refresh (1 hour)
          900        ; retry (15 minutes)
          604800     ; expire (1 week)
          86400      ; minimum (1 day)
)

;; ns & mx
@               IN     NS     ns1
@               IN     NS     ns2
@               IN     MX     10      mail
@               IN     A     125.76.236.141
ns1               IN     A     125.76.236.129
ns2               IN     A     125.76.236.130
proxy1          IN     A     117.34.71.61

proxy2          IN     A     211.100.56.7 
#对proxy2.woyodns.com.指定了2个IP
proxy2          IN     A     211.100.56.10

cache1          IN     A     211.100.56.4
#对cache1.woyodns.com.指定了3个IP

cache1          IN     A     211.100.56.5
cache1          IN     A     211.100.56.6

cache2          IN     A     211.100.56.8
#对cache2.woyodns.com.指定了2个IP

cache2          IN     A     211.100.56.11

image1          IN     A     211.100.56.9
image1          IN     A     211.100.56.12