模拟网络访问解析

搭建局域网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