DNS服务器基本搭建
linux/server

DNS功能以及过程:

用户在访问某一个域名的时候实际不是直接访问到这个承载业务的这个服务器而是先解析获取到这个域名对应的公网IP地址再请这个IP发送访问requst请求,这个解析会先在电脑本地缓存查询在没有的场景下会到上级的dns服务器来请求,如下图所示的就是一次DNS请求。

启动本地nginx 启动本地dns_DNS

在一些特殊场景中通常机器不能使用使用dns解析的场景下,或者有内网访问业务非公网域名的情况下我们就可以通过配置属于我们私域的DNS服务器也叫本地域名服务器,来实现本地域名的解析以及公网域名的解析

启动本地nginx 启动本地dns_启动本地nginx_02

以下的配置步骤:以centos/redhat系列系统为列其他版本操作方法类似只是配置文件不同罢了

一、配置DNS服务器网络

注意:DNS服务器要有必须要有一个静态的ip地址,如果使用DHCP获取的地址到期那可能会有一种情况就是DNS服务器的地址发生的变化,但此时用户的DNS配置不是实时更新的,在没有备用dns的场景下就会无法解析

(1)编写网卡主配置文件
	vim /etc/sysconfig/network-scripts/ifcfg-ens33 
内容:
	TYPE=Ethernet
	BOOTPROTO=static
	DEFROUTE=yes
	IPV4_FAILURE_FATAL=no
	NAME=ens33
	UUID=7fac3a10-de6b-42c6-9175-cef32343c69b
	DEVICE=ens33
	ONBOOT=yes  //这个是网卡的开机自启选项,建议配置为yes
	IPADDR=192.168.35.1    //这个是机器的ipv4地址
	NETMASK=255.255.255.0   //子网掩码
	DNS1=192.168.35.1			//为DNS指定DNS服务器地址,如果没有访问外网的需求指定自己就好了,这样就实现了一个需求就是纯内网解析

(2)重启网络服务	
	systemctl restart network   //重启网络服务

(3)查看网卡配置文件是否生效
	ifconfig 		//查看网络配置

二、配置yum仓库(二选一)

方法1:机器不能联网的情况下使用,以挂载媒介做的本地的yum仓库,iso镜像里有集成一些软件包

(1)挂载光盘
	vim /etc/fstab
内容:
添加一行:
	/dev/sr0		/mnt/cdrom		iso9660		defaults	0 0

(2)创建挂载点
	mkdir /mnt/cdrom

(3)刷新挂载表
	mount -a

(4)查看
	lsblk 

(5)编辑仓库文件
	vim /etc/yum.repo.d/a.repo
内容:
	[a]
	name=a
	gpgcheck=0
	enabled=1
	baseurl=file:///mnt/cdrom

(6)查看仓库资源
	yum repolist

方法2:
阿里源地址:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b115ANBZL
以及其他国内的网络源,相关的配置方法一般在开源镜像站会有详细的说明。

三、安装软件包

yum install -y bind*

四、编辑主配置文件

vim /etc/named.conf
内容:
	options {
    listen-on port 53 { 192.168.35.1; };			//监听端口53,后面接本机Ip
    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     { any; };					//访问权限,所有人可访问
	};
	zone "." IN {
	        type hint;
	        file "named.ca";
	};
	zone "zlf.com"IN {         					//正向解析域 
	        type master;
	        file "xxx.com.zone";				//正向解析文件
	};
	
	zone "35.168.192.in-addr.arpa" IN {			/反向解析域 
	        type master;
	        file "xxx.com.zone";				//反向解析文件
	
	};

五、创建正向解析文件

正向解析文件也即A记录文件,也就是当请示到DNS服务器时返回的DNS

(1)切换到解析文件存放目录下
cd /var/named/
(2)复制模板文件作为解析文件
cp named.locahost zlf.com.zone			//复制为模板文件作为正向解析文件
vim /var/named/zlf.com.zone				//编辑正向解析文件
内容:
	TL 1D
	@       IN SOA  @ www.zlf.com. (
	                                        0       ; serial
	                                        1D      ; refresh
	                                        1H      ; retry
	                                        1W      ; expire
	                                        3H )    ; minimum
	        NS      www.zlf.com.
	www     A       192.168.35.1
	ftp     A       192.168.35.2

六、创建反向解析文件

cd /var/named/
cp named.localhost  zlffx.com.zone
vim /var/named/zlffx.com.zone
内容:
$TTL 1D
@       IN SOA  @ www.zlf.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      www.zlf.com.
1       PTR     www.zlf.com.
2       PTR     ftp.zlf.com.

七、重启服务

systemctl restart named

八、测试

nslookup
>www.***.com