搭建局域网DNS解析,具体实现功能如下图
注:该测试只有正向解析
项目流程图
1. 项目前准备关闭防火墙和SELINUX,配置网络
①开启8台机器
②关闭防火墙及selinux
iptables -vnL #查看防火墙状态
systemctl stop firewall #关闭防火墙
getenforce #查看SELinux状态
setenforce 0 #禁用SELinux
③示例配置网络后面依此类推,不再演示
vim > /etc/sysconfig/network-scripts <<EOF
DEVICE=ens37
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.20.29.201
PREFIX=16
DNS1=114.114.114.114
DNS2=1.1.1.1
GATEWAY=172.20.0.1
EOF
上述基本环境搭建完成
2. 配置web网站信息
① 安装httpd包
配置172.20.29.201机器
yum clean all #清除yum缓存
yum install httpd -y #安装httpd服务包
cat > /var/www/html/index.html <<EOF #添加一个页面显示作为查看测试结果
welcome magedu.com web1
EOF
systemctl start httpd #开启httpd服务
systemctl enable httpd #开机自动启动httpd服务
② 打开网页查看web1能否访问
curl 172.20.29.201
① 安装httpd包
配置172.20.29.202机器
yum clean all #清除yum缓存
yum install httpd -y #安装httpd服务包
cat > /var/www/html/index.html <EOF #添加一个页面显示作为查看测试结果
welcome magedu.com web2
EOF
systemctl start httpd #开启httpd服务
systemctl enable httpd #开机自动启动httpd服务
② 打开网页查看web2能否访问
curl 172.20.29.201
到此,web网站基本搭建成功
3. 配置DNS主服务器
①安装bind包
配置172.20.29.203机器为DNS主服务器
yum clean all #清除yum缓存
yum install bind -y #安装bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改监听地址为本机所有地址
#修改为默认所有人通过域名访问,解析库文件对应的单条A记录
allow-query { any; };
#指定204IP才能查询解析本机所有的A记录
allow-transfer {172.20.29.204;};
}
vim /etc/named.rfc1912.zone #修改主配置文件
zone "magedu.com" IN { #添加magedu.com域
type master; #定于域类型为主域
file "magedu.com.zone"; #定义magedu.com域的解析库文件
};
③添加解析库文件
cat > /var/named/magedu.com.zone <<EOF
$TTL 1D #定义服务器响应时间
#定义主域名,邮件服务器域名,(版本号 拉取数据时间,拉取数据失败重试时间,备用DNS服务器缓存数据有效期,错误缓存存放时间)
@ IN SOA dns1.magedu.com. admin.magedu.com. ( 1 1D 2H 3D 1H )
NS dns1 #定义DNS1服务器名称
NS dns2 #定义DNS2服务器名称
dns1 A 172.20.29.203 #解析DNS1为主服务器地址
dns2 A 172.20.29.204 #解析DNS2为从服务器地址
websrv A 172.20.29.201 #解析2个web服务器实现负载均衡
websrv A 172.20.29.202
www CNAME websrv #定义别名
EOF
④修改解析库文件权限
chgrp named magedu.com.zone #修改属组为named
chmod 640 magedu.com.zone #修改权限为640
修改完成后如下:
-rw-r----- 1 root named 201 Jun 1 21:16 magedu.com.zone
⑤开启,调试服务
systemctl start named #开启DNS服务
systemctl enable named #开机自动启动DNS服务
systemctl status named #查看DNS服务状态是否有错误
4. 配置DNS从服务器
①安装bind包
配置172.20.29.204机器为DNS从服务器
yum clean all #清除yum缓存
yum install bind -y #安装bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改监听地址为本机所有地址
#修改为默认所有人通过域名访问,解析库文件对应的单条A记录
allow-query { any; };
#不允许任何端口解析本机所有的A记录
allow-transfer {none;};
}
vim /etc/named.rfc1912.zone #修改主配置文件
zone "magedu.com" IN { #添加magedu.com域
type slave; #类型定义为从域
masters { 172.20.29.203;}; #指定主域IP地址
file "slaves/magedu.com.zone.slave"; #定义magedu.com域的解析库文件
};
③开启,调试服务
systemctl start named #开启DNS服务
systemctl enable named #开机自动启动DNS服务
systemctl status named #查看DNS服务状态是否有错误
④查看从DNS服务器是否从主DNS服务器拉取解析库文件
ls -l /var/named/slaves/
同步完成后如下:
-rw-r--r-- 1 named named 377 Jun 1 21:37 magedu.com.zone.slave
5. 配置COM服务器
①安装bind包
配置172.20.29.205机器为com服务器
yum clean all #清除yum缓存
yum install bind -y #安装bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改监听地址为本机所有地址
#修改为默认所有人通过域名访问,解析库文件对应的单条A记录
allow-query { any; };
}
dnssec-enable no; #关闭安全协议功能
dnssec-validation no;
vim /etc/named.rfc1912.zone #修改主配置文件
zone "com" IN { #添加com域
type master; #定义类型为主域
file "com.zone"; #定义com.com域的解析库文件
};
③添加解析库文件
cat > /var/named/com.zone <<EOF
$TTL 1D #定义服务器响应时间
#定义主域名,邮件服务器域名,(版本号 拉取数据时间,拉取数据失败重试时间,备用DNS服务器缓存数据有效期,错误缓存存放时间)
@ IN SOA dns.com. admin.com. ( 1 1D 2H 3D 1H )
NS dns1 #定义DNS1服务器名称
magedu NS dns2 #定义DNS2服务器名称
magedu NS dns3 #定义DNS3务器名称
dns1 A 172.20.29.205 #解析DHS1为本机地址
dns2 A 172.20.29.203 #解析DHS2为主DNS服务器
dns3 A 172.20.29.204 #解析DHS3为从DNS服务器
EOF
④修改解析库文件权限
chgrp named com.zone #修改属组为named
chmod 640 com.zone #修改权限为640
修改完成后如下:
-rw-r----- 1 root named 167 Jun 1 22:02 com.zone
⑤开启调试服务
systemctl start named #开启DNS服务
systemctl enable named #开机自动启动DNS服务
systemctl status named #查看DNS服务状态是否有错误
6. 配置根域
①安装bind包
配置172.20.29.206机器为根服务器
yum clean all #清除yum缓存
yum install bind -y #安装bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改监听地址为本机所有地址
#修改为默认所有人通过域名访问,解析库文件对应的单条A记录
allow-query { any; };
}
dnssec-enable no; #关闭安全协议功能
dnssec-validation no;
删除/etc/named.conf里定义的根记录,定义本机为根
#zone "." IN {
# type hint;
# file "named.ca";
#};
vim /etc/named.rfc1912.zone #修改主配置文件
zone "." IN { #添加根域
type master; #定义根域为主服务器
file "root.zone"; #定义com.com域的解析库文件
};
③添加解析库文件
cat > /var/named/root.zone <<EOF
$TTL 1D #定义服务器响应时间
#定义主域名,邮件服务器域名,(版本号 拉取数据时间,拉取数据失败重试时间,备用DNS服务器缓存数据有效期,错误缓存存放时间)
@ IN SOA dns1. admin. ( 1 1D 2H 3D 1H )
NS dns1 #定义DNS1服务器名称
com NS dns2 #定义DNS2服务器名称
dns1 A 172.20.29.206 #解析DHS2为根域服务器
dns2 A 172.20.29.205 #解析DHS2为com服务器
EOF
④修改解析库文件权限
chgrp named root.zone #修改属组为named
chmod 640 root.zone #修改权限为640
修改完成后如下:
-rw-r----- 1 root named 167 Jun 1 22:02 com.zone
⑤开启,调试服务
systemctl start named #开启DNS服务
systemctl enable named #开机自动启动DNS服务
systemctl status named #查看DNS服务状态是否有错误
7. 配置电信服务器
①安装bind包
配置172.20.29.207机器为转发服务器
yum clean all #清除yum缓存
yum install bind -y #安装bind包
②修改DNS主配置文件
vim /etc/named.conf #修改主配置文件
options {
listen-on port 53 { localhost; }; #修改监听地址为本机所有地址
#修改为默认所有人通过域名访问,解析库文件对应的单条A记录
allow-query { any; };
}
dnssec-enable no;
dnssec-validation no;
③修改根域为206
vim etc/named/name.ca
④开启,调试服务
systemctl start named #开启DNS服务
systemctl enable named #开机自动启动DNS服务
systemctl status named #查看DNS服务状态是否有错误
8. 用户访问电信服务器查看结果
①修改DNS指向电信服务器
cat > /etc/resolv.conf <<EOF
search localdomain
nameserver 172.20.29.207
EOF
②测试访问结果
curl www.magedu.com
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100292