首先设想好服务器架构,总共需要8台主机。
另外在搭建的时候,建议顺序,方便每步测试成功之后再去执行下一步,防止造成搭建完错误如何产生的都不知道。
所有的机器操作的时候,都需要关闭selinux 和防火墙
-第一步搭建两个web服务器
1.安装httpd
yum install httpd -y
2.配置网页页面并且启动httpd服务
echo 1111111> /var/www/html/index.html websrv1
echo 222222> /var/www/html/index.html websrv2
service httpd start
3.用客户端测试两个web服务是否能被访问,不能访问就需要查找原因了,在此就不赘述如何查找原因
curl 192.168.30.243
curl 192.168.30.244
-这样我们就搭建了两个不同页面的http服务
-第二步搭建1个主域服务器
1.安装bind
yum install bind -y
2.修改配置文件 named.conf
vi /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; 注释掉
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; }; 注释掉
allow-transfer {192.168.30.236;}; 由于要搭建从服务器,就需要只允许这台从服务器传输
3.修改配置文件 named.rfc1912.zones
vi /etc/named.rfc1912.zones
添加一个域
zone "exchange.com" IN {
type master;
file "exchange.com.zone"; 数据解析文件的文件名
};
4.创建解析文件
vi /var/named/exchange.com.zone
$TTL 1D
@ IN SOA dns1.exchange.com. admin.exchange.com. (1 1D 2H 3D 1H) #sos起始授权记录必须有,记录谁是主服务器,邮箱地址 (版本号1,同步时间一天,同步失败2小时重试,失败三天从服务器失效,缓存有效期1小时)
NS dns1 有两个服务器 1,2
NS dns2
dns1 A 192.168.30.155 主服务器地址
dns2 A 192.168.30.236 从服务器地址
websrv A 192.168.30.243 web服务器1
websrv A 192.168.30.244 web服务器2
www CNAME websrv 别名
#保存之后
还需要改变文件的属性,所属组和权限
chgrp named /var/named/exchange.com.zone
chmod 640 /var/named/exchange.com.zone
5.检查配置文件是否正确,启动服务
named-checkconf
named-checkzone "exchange.com.zone" /var/named/exchange.com.zone
无问题,启动服务
service bind start
6.用客户端测试是否能够访问,访问成功则继续下一步
dig www.exchange.com @192.168.30.155
出现 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16285 则成功,如果出现refused 是拒绝访问需要查看配置文件
-第三步搭建1个从域服务器
1.安装bind
yum install bind -y
2.修改配置文件 named.conf
vi /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; 注释掉
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; }; 注释掉
allow-transfer {none;}; 从服务器,不需要其他机器来从它这里传输,保证安全性
3.修改配置文件 named.rfc1912.zones
vi /etc/named.rfc1912.zones
添加一个域
zone "exchange.com" {
type slave; 类型是从
masters {192.168.30.155;}; 主服务器地址
file "slaves/exchange.com.zone.slave";
};
4.启动服务,检查是否生成从服务器文件
server bind start
ll /var/named/slaves/slaves/exchange.com.zone.slave 如果这个文件没有就需要检查配置文件问题,和与主服务器网络是否能ping通
5.用客户端测试是否能够访问,访问成功则继续下一步
dig www.exchange.com @192.168.30.236
出现 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16285 则成功,如果出现refused 是拒绝访问需要查看配置文件
-第四步搭建1个com服务器
1.安装bind
yum install bind -y
2.修改配置文件 named.conf
vi /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; 注释掉
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; }; 注释掉
dnssec-enable no; 由于是需要转发,所以把这两项归类改为no
dnssec-validation no;
3.修改配置文件 named.rfc1912.zones
vi /etc/named.rfc1912.zones
添加一个域
zone "com"{
type master;
file "com.zone";
};
4.创建解析文件
vi /var/named/exchange.com.zone
$TTL 1D
@ IN SOA dns1.com. admin.com. (1 1D 2H 3D 1H) #sos起始授权记录必须有,记录谁是主服务器,邮箱地址 (版本号1,同步时间一天,同步失败2小时重试,失败三天从服务器失效,缓存有效期1小时)
NS dns1 有三个服务器 1,2 ,3
exchange NS dns2
exchange NS dns3
dns1 A 192.168.30.245
dns1 A 192.168.30.155 主服务器地址
dns2 A 192.168.30.236 从服务器地址
#保存之后
还需要改变文件的属性,所属组和权限
chgrp named /var/named/exchange.com.zone
chmod 640 /var/named/exchange.com.zone
5.检查配置文件是否正确,启动服务
named-checkconf
named-checkzone "com.zone" /var/named/com.zone
无问题,启动服务
service bind start
6.用客户端测试是否能够访问,访问成功则继续下一步
dig www.exchange.com @192.168.30.245
出现 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16285 则成功,如果出现refused 是拒绝访问需要查看配置文件
-第五步搭建1个跟服务器
1.安装bind
yum install bind -y
2.修改配置文件 named.conf
vi /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; 注释掉
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; }; 注释掉
dnssec-enable no; 由于是需要转发,所以把这两项归类改为no
dnssec-validation no;
下面这段需要删除,因为是我们自己搭建的跟
zone "." IN {
type hint;
file "named.ca";
};
3.修改配置文件 named.rfc1912.zones
vi /etc/named.rfc1912.zones
添加一个域
zone "." {
type master;
file "root.zone";
};
4.创建解析文件
vi /var/named/root.com.zone
$TTL 1D
@ IN SOA dns1. admin. (1 1D 2H 3D 1H) #sos起始授权记录必须有,记录谁是主服务器,邮箱地址 (版本号1,同步时间一天,同步失败2小时重试,失败三天从服务器失效,缓存有效期1小时)
NS dns1 有两个服务器 1,2
com NS dns2
dns1 A 192.168.30.196
dns1 A 192.168.30.245
#保存之后
还需要改变文件的属性,所属组和权限
chgrp named /var/named/root.zone
chmod 640 /var/named/root.zone
5.启动服务
service bind start
6.用客户端测试是否能够访问,访问成功则继续下一步
dig www.exchange.com @192.168.30.196
出现 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16285 则成功,如果出现refused 是拒绝访问需要查看配置文件
-第五步搭建1个转发器
1.安装bind
yum install bind -y
2.修改配置文件 named.conf
vi /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; 注释掉
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// allow-query { localhost; }; 注释掉
dnssec-enable no; 由于是需要转发,所以把这两项归类改为no
dnssec-validation no;
3.修改原有的跟解析文件
. 3600000 NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 192.168.30.196 其他原有记录删除
4.启动服务
service bind start
5.用客户端测试是否能够访问,访问成功则继续下一步
dig www.exchange.com @192.168.30.116
出现 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16285 则成功,如果出现refused 是拒绝访问需要查看配置文件
-客户端测试
links www.exchange.com
如果正常,会随机出现11111,2222的页面
-客户端测试,主服务器宕机,从服务器是否正常工作
在主服务器上ifconfig eth0 down =断掉网线
在客户端上links www.exchagne.com 测试成功则无问题,前提是转发器需要在宕机后,rndc flush 清空缓存