随着公司业务的扩大,服务器的数量也随之变大,在管理上如果还是单独的使用ip来管理,十分的麻烦,而且在某些业务或者软件上,比如使用bi使用hadoop来进行数据挖掘与日志分析的时候,hadoop集群需求dns配合,如果集群机器少,可以使用/etc/hosts里设置,但如果多的话,使用dns是更好的选择,puppet的应用也是如此,所以我最近研究了一下bind技术,把我的成果分享给大家。
一.介绍
DNS是域名系统(DomainNameSystem)的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
主从的原理为:
原理:主dns服务器上修改完成后重启服务,会主动传送notify值,如果辅助DNS服务器没有收到才参考Refresh,Refresh不成功,则参考Retry,Retry一直不成功,则参考Expire,如果Expire也不成功,则选择放弃zonetransfer的过程。
二.测试目的
本次测试主要想达到以下2个目的:
1、dns主从;(如master与slave任何一端dns服务断掉,也可以通过从另外一端来解析域名);
2、自动更新;(如果master修改完成信息后,slave也会自动更新);
三.环境
IP status domain name system 192.168.56.104 master ns1.test.com centos 6.2 x86_64 192.168.56.105 slave ns2.test.com centos 6.2 x86_64
四、安装
在master与slave都是使用yum来安装bind yum install bind*
五、配置
A.在master端配置
1、修改/etc/named.conf
此文件注意是提供bind的配置
下面我的master的配置
[root@master ~]# cat /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { //服务器的全局配置选项及一些默认设置 listen-on port 53 { any; }; //监听端口,也可写为 { 127.0.0.1; 192.168.56.104; } # listen-on-v6 port 53 { ::1; }; //对ip6支持 directory "/var/named"; //区域文件存储目录 dump-file "/var/named/data/cache_dump.db"; //dump cach的目录directory statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; //指定允许进行查询的主机,当然是要所有的电脑都可以查啦 recursion yes; //设置进行递归查询 allow-transfer { 192.168.56.105;}; //指定允许接受区域传送请求的主机,说明白一点就是辅dns的ip dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { //指定服务器日志记录的内容和日志信息来源 channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; //包含文件,这里也就是载入/etc/named.rfc1912.zones #include "/etc/named.root.key";
注意:红色字体为需要修改的地方。
2、/etc/named.rfc1912.zones
此文件主要是保存正向解析与反向解决配置
下面是我在master里的配置
[root@master ~]# cat /etc/named.rfc1912.zones // named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zones recommended by // RFC 1912 section 4.1 : localhost TLDs and address zones // and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt // (c)2007 R W Franks // // See /usr/share/doc/bind*/sample/ for example named configuration files. // #zone "localhost.localdomain" IN { # type master; # file "named.localhost"; # allow-update { none; }; #}; zone "test.com" IN { type master; file "named.test.com"; notify yes; also-notify { 192.168.56.105;}; allow-update { none;}; allow-transfer { 192.168.56.105; }; }; #zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { # type master; # file "named.loopback"; # allow-update { none; }; #}; zone "56.168.192.in-addr.arpa" IN { type master; file "192.168.56.arpa"; # notify yes; # also-notify { 192.168.56.105;}; allow-update { none;}; allow-transfer { 192.168.56.105; }; }; #zone "0.in-addr.arpa" IN { # type master; # file "named.empty"; # allow-update { none; }; #};
说到底也就是2个功能:
1、增加一个正向解析的域名test.com,设置类型为master,同时允许在更新时候通知192.168.56.105;
2、增加一个反向节点的ip,同样设置类型为master,也允许在更新时候通知192.168.56.105;
其他不需要的地方你可以删除与注释掉。
3、到/var/named目录下,添加正向解析与反向解析的文件
cd /var/named/ cp p name.localhost name.test.com cp p name.localhost 192.168.56.arpa
下面是我的master的正向解析配置
[root@master named]# cat named.test.com $TTL 1D @ IN SOA ns1.test.com. root.localhost. (# SOA字段 2013070814 ; serial # 版本号 同步一次 +1,一般格式为年月日+次数,如果想在master修改一次slve就自动更新,每次修改完后必须+1,也就是说每次想slave同步master,必须保证master的serial比slave的大 60 ; refresh # 更新时间 1H ; retry # 更新失败,重试更新时间 1W ; expire#更新失败多长时间后此DNS失效时间 3H ) ; minimum # 解析不到请求不予回复时间 NS ns1.test.com. NS ns2.test.com. A 192.168.56.104 server A 192.168.56.101 client1 A 192.168.56.103 ubuntu A 192.168.56.102 ns1 A 192.168.56.104 ns2 A 192.168.56.105
说明
SOA
此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅DNS服务器如何更新区域数据文件的设置等。
常用的资源记录类型[3]
A地址此记录列出特定主机名的IP地址。这是名称解析的重要记录。
CNAME标准名称此记录指定标准主机名的别名。
MX邮件交换器此记录列出了负责接收发到域中的电子邮件的主机。
一、cacti概述1.cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2.Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3.snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。
1>配置LAMP环境
2>安装rrdtool和net-snmp
3>安装cacti
4>配置cacti
5>配置cacti连接数据库
6>配置cron计划任务
7>配置开机自启动
8>测试
1>配置LAMP环境
a.安装apache
这里直接用yum装了
b.安装mysql数据库
yum-yinstallmysqlmysql-servermysql-devel
c.配置apache与php
yum-yinstallzlibfreetypelibjpegfontconfiggdlibxml2php-gd
yum-yinstallphpphp-mysql
2>安装rrdtool和net-snmp
yum-yinstallperl-Net-Daemonperl-PlRPCperl-DBIrrdtoolperl-rrdtoolperl-DBD-MySQL
yum-yinstallphp-pdolm_sensorsnet-snmpphp-snmpnet-snmp-utils
3.安装cacti
a.共享源码包
b.挂载到linux
没有评论:
发表评论