DNS-Server的配置:
以RHEL4为实例:
1.# rpm -qa | grep bind //查询系统已经安装的dns软件包(服务器所需软件包bind-9.2.4-2 默认不安装)
# mount /dev/cdrom //挂载第4张光盘
# cd /media/cdrom/RedHat/RPMS
# rpm -ivh bind-9.2.4-2.i386.rpm //安装服务器软件包
# eject
# mount /dev/cdrom //挂载第1张光盘
# cd /media/cdrom/RedHat/RPMS
# rpm -ivh caching-nameserver-7.3-3.noarch.rpm //安装缓存域名服务器软件包(缓存域名服务器在安装该软件包后不需要任何配置就 可以启动运行,并实现域名查询和缓存的功能,该服务器需能够访问互联网)
# eject
主DNS-Server配置:
1.# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 //配置IP地址为192.168.1.1
2.# vi /etc/named.conf //配置DNS主配置文件 (:set nu 可将37到48行的内容复制并进行修改)
zone "haha.com" IN {
type master;
file "haha.com.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.zone";
allow-update { none; };
};
3.# named-checkconf //检测主配置文件内容(主配置文件配置无语法错误,则检测结果不显示任何信息,如果有错误会显示错误内容)
4.# cd /var/named //进入bind工作目录
# cp localhost.zone haha.com.zone //复制localhost正向解析区域文件(建立主DNS服务器正向区域(数据库)文件)
# cp named.local 1.168.192.zone //复制localhost反向解析区域文件(建立主DNS服务器反向区域(数据库)文件)
# vi /var/named/haha.com.zone //配置主DNS服务器正向区域文件
$TTL 86400
@ IN SOA dns.haha.com. root.mail.haha.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum //上面这一部分为区域文件中的基本设置内容
IN NS dns.haha.com. //添加域名服务器记录-NS记录(设置当前域的DNS服务器名称)
IN MX 5 mail.haha.com. //添加邮件交换记录-MX记录(设置mail.haha.com主机作为邮件服务器)
dns IN A 192.168.1.1 //添加地址记录-A记录(设置主机192.168.1.1为主域名服务器)
mail IN A 192.168.1.1 //添加地址记录-A记录(设置主机192.168.1.1作为邮件服务器)
www IN A 192.168.1.1 //添加地址记录-A记录(设置主机192.168.1.1作为web服务器)
注:上面设置中的TTL 86400表示解析缓存时间,单位是S,也就是1天的时间.@表示当前域也就是本域,也就是我们创建的haha.com,IN SOA表示一个授权记录的开始,dns.haha.com表示DNS Server域名解吸服务器名称,root.mail.haha.com表示DNS Server的管理员的邮件地址,下面的内容表示主、从服务器之间提供的相关信息,来保证主、从服务器不间断运行,不需要修改.
# vi /var/named/1.168.192.zone //配置主DNS服务器反向区域文件
$TTL 86400
@ IN SOA dns.haha.com. root.mail.haha.com. (
2007022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns.haha.com.
1 IN PTR dns.haha.com.
1 IN PTR mail.haha.com.
1 IN PTR www.haha.com.
5.# named-checkzone haha.com /var/named/haha.com.zone //测试正向区域文件(文件没有语法错误则显示OK,有错误则显示错误内容)
# named-checkzone haha.com /var/named/1.168.192.zone
//测试反向区域文件(文件没有语法错误则显示OK,有错误则显示错误内容)
6.# service named start //启动dns服务
7.# netstat -an | grep :53 //查看dns服务是否启动,端口是否激活
8.# vi /etc/resolv.conf //修改DNS配置文件(设置nameserver地址为192.168.1.1)
9.# chkconfig --list named //查看DNS服务启动状态
# chkconfig --level 35 named on //设置DNS服务在35运行级别的启动状态为on(系统启动该服务自动启动)
10.对主DNS服务器进行测试:
# nslookup
>server
可以看到DNS服务器为192.168.1.1
>dns.haha.com //测试haha.com域中主域名服务器的正向解析
可以看到该域名解析的IP地址为192.168.1.1
>mail.haha.com //测试haha.com域中邮件服务器的正向解析
可以看到该域名解析的地址为192.168.1.1
www.haha.com //测试haha.com域中web服务器的正向解析
可以看到该域名解析的地址为192.168.1.1
>192.168.1.1 //测试主域名服务器的反向解析
可以看到dns服务器是dns.haha.com,邮件服务器的域名是mail.haha.com,web服务器的域名是 www.haha.com
>set type=mx //使用set命令设置查询类型为MX,即邮件交换记录
>haha.com
可以看到该域中的邮件服务器是mail.haha.com,IP地址是192.168.1.1
>set type=ns
>haha.com
可以看到该域中的域名服务器是dns.haha.com,IP地址192.168.1.1
>exit //退出
辅助DNS-Server配置:(辅助DNS域名服务器必须在不同主机中构建,不能够在同一台主机同时构建主DNS与辅助DNS服务器,辅助DNS服务器可以作 为主DNS服务器的辅助和备份服务器来使用)
1.# ifconfig eth0 192.168.1.2 //配置IP地址为192.168.1.2
2.# vi /etc/named.conf //配置DNS主配置文件 (:set nu 可将37到48行的内容复制并进行修改)
zone "haha.com" IN {
type slave;
file "slaves/haha.com.zone"; //区域(数据库)文件的文件名与主服务器一致,方便管理)
masters { 192.168.1.1; };
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "slaves/1.168.192.zone"; //区域(数据库)文件的文件名与主服务器一致,方便管理)
masters { 192.168.1.1; };
};
3.# named-checkconf //检测主配置文件内容(主配置文件配置无语法错误,则检测结果不显示任何信息,如果有错误会显示错误内容)
4.辅助DNS不需要配置区域(数据库)文件,可以从主DNS学习到,并把相应的区域(数据库)文件保存到/var/named/slaves目录中
5.# service named start //启动dns服务
6.# chkconfig --list named //查看DNS服务启动状态
# chkconfig --level 35 named on //设置DNS服务在35运行级别的启动状态为on(系统启动该服务自动启动)
7.# vi /etc/resolv.conf //修改DNS配置文件(设置nameserver地址为192.168.1.2)
8.对辅助DNS服务器进行测试:
# nslookup
>server
可以看到DNS服务器为192.168.1.2
>dns.haha.com //测试haha.com域中主域名服务器的正向解析
可以看到该域名成功解析
在windows下也可以使用nslookup命令进行验证!(nslookup www.haha.com nslookup mail.haha.com nslookup dns.haha.com)