标签 DNS 下的文章

resolv.conf中search作用

reslov.conf中的search主要是用来补全hostname的,有时候域名太长,可以做一个短域名做主机名字,但是DNS解析需要的是FQDN,而在resolv.conf中设置search能进行补全。

vim /etc/hosts
42.120.7.71 www

ping www能通,返回就是42.120.7.71,ping会首先解析hosts
vim /etc/resolv.conf
search firefoxbug.net
nameserver 114.114.114.114

这时候nslookup www
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	www.firefoxbug.net
Address: 42.120.7.71

看到没,search的作用就是补全要访问的短域名

正确的域名解析顺序是:
1. 查找/etc/hosts
2. 根据nameserver查找域名
3. 如果在nameserver查找不到域名就进行search补全,重新走1~2步

LBNAMED--DNS轮询实现负载均衡

传统的DNS轮询主要实现是在DNS服务器上,做一个CNAME,然后把CNAME解析到不同的IP上,这样就

能基本基于DNS的负载均衡,但是一旦有一台分配到的IP挂了,DNS不会管,还是会返回给客户挂的IP,而

且对于流量的分配也不是很智能,上次看到LBNAMED,折腾了几天,但是没能实现我想要的功能。

LBNAMED(Load Balancing Named)按照网上的说法它能智能的进行DNS轮询,对于轮询列表主机的健

康状态检测,以及负载均衡分配都做了。下面主要说下原理,

  1. 客户端要去访问 www.firefoxbug,net,客户端的DNS修改成我们自己的DNS。
  2. 在我们的DNS Server 会把 www.firefoxbug.net CNAME 成 www.best.firefoxbug.net
  3. DNS服务器会把向LBNAMED Server 发出请求查询 www.best.firefoxbug.net的A记录
  4. LBNAMED Server收到请求后会列出本地www.best.firefoxbug.net的服务器池
  5. LBNAMED Server上的poller根据服务器池的健康状况,通过算法返回给DNS服务器一个最优IP
  6. DNS返回给客户端最优的IP

在服务器池列表上安装的主要是lbcd,这个专门用于向lbnamed主机发送健康状态,LBNAMED服务器安装

的是lbnamed(包含poller检测程序)和Stanford-DNSserver(这是一个库)。下面是基本安装过程

[cc lang="c"]
wget http://archives.eyrie.org/software/system/lbcd-3.4.0.tar.gz
tar -zxvf lbcd-3.4.0.tar.gz
cd lbcd-3.4.0
./configure
make;make install
lbcd #start
lbcd -s #stop

wget http://www.stanford.edu/~riepel/lbnamed/Stanford-DNSserver/Stanford-DNSserver.tar.gz
tar -zxvf Stanford-DNSserver.tar.gz
cd Stanford-DNSserver-1.2.0/
perl Makefile.PL
make
make test
make install

wget http://www.stanford.edu/~riepel/lbnamed/lbnamed-2.3.2.tar.gz
tar -zxvf lbnamed-2.3.2.tar.gz
mv lbnamed-2.3.2 /usr/local/lbnamed
cd /usr/local/lbnamed
cp poller /usr/sbin/
[/cc]

在 /usr/local/lbnamed 目录下是主要的配置文件,

lbnamed.conf 是服务器池,lbnamed是主要的配置文件,详细的查看

http://blog.csdn.net/x5yw/article/details/1729101

bind 服务器搭建

Linux上DNS上服务器只要是BIND,是伯克利大学开发的。下面是主要的安装以及配置,

yum install bind*

bind安装好之后主要的daemon是named,一般情况下会自动安装好bind-chroot,chroot的存在主要就是为了保护系统的安全性,就算bind被黑了,黑客也只能在chroot的目录里面活动,有点vsftpd里的味道,但是不相同。

- 阅读剩余部分 -