域名系统(DNS)是建立在分布式数据库上的分层命名系统。该系统将域名转换为IP地址,并可以将域名分配给Internet组资源和用户,无论实体的物理位置如何。
说白了就是:域名与IP之间的相互解析转化,如:www.baidu.com解析成192.168.0.0这种(只是举个例子)。本文只配置了正向的解析,反向解析在另一篇:DNS添加反向解析
在Linux搭建DNS服务器步骤如下:
[root@xtrabackup ~]# yum -y install bind
在安装完成之后,会有几个主要配置文件:
/etc/named.conf --主配置文件
/etc/named.rfc1912.zones --保存域名及IP对应关系所在地址
/var/named --保存域名与IP地址的真实关系
options {
listen-on port 53 { any; };
// 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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
其余地方不需要动。
在下面添加我们要加入的对应关系:
zone "cfc01.com" IN {
type master;
file "cfc01.com.zone";
allow-update { none; };
};
对应关系为cfc01.com 实际存在位置为cfc01.com.zone文件里,然后稍后去编辑cfc01.com.zone文件。
这个文件是自己定义,自己命名的,与named.rfc1912.zones文件里的配置命名一致。
$TTL 3600
$ORIGIN cfc01.com.
@ IN SOA cfc01.com. admin.cfc01.com. (
2019112103
1H
10M
3D
1D)
IN NS nameserver.cfc01.com.
IN NS nameslave.cfc01.com.
nameslave IN A 172.16.2.251
nameserver IN A 172.16.2.249
www IN A 172.16.2.244
3.1和3.2做一个就行,都能起到越过防火墙的作用,只不过一个把防火墙关闭了,一个相当于通行证。
[root@xtrabackup ~]# service iptables stop
可能会遇到centos7不支持iptables命令的情况,这个需要安装一下:
[root@xtrabackup ~]# yum install iptables-services
启动服务,之后可正常使用iptables
[root@xtrabackup ~]# systemctl enable iptables
[root@xtrabackup ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
查看53端口状态:
[root@xtrabackup ~]# netstat -anlpe | grep named
是disabled就行
[root@xtrabackup ~]# getenforce
Disabled
[root@xtrabackup ~]# service named restart
Redirecting to /bin/systemctl restart named.service
[root@xtrabackup ~]# ps -ef|grep name
root 13137 5544 0 11:20 pts/1 00:00:00 vi /etc/named.conf
root 14303 5544 0 11:41 pts/1 00:00:00 vi /etc/named.rfc1912.zones
root 22017 5544 0 14:13 pts/1 00:00:03 find / -name named.conf
root 25189 5544 0 15:03 pts/1 00:00:00 vi named.conf
named 29963 1 0 16:15 ? 00:00:00 /usr/sbin/named -u named -c /etc/named.conf
root 29994 5544 0 16:16 pts/1 00:00:00 grep --color=auto name
这一步是可以通过此dns服务器,让别的电脑配置了这个dns之后,也可以进行域名解析,因人而异,ifcfg-ens后缀不定
[root@xtrabackup ~]vi /etc/sysconfig/network-scripts/ifcfg-ens192
在下面添加一条:
DNS1=172.16.2.244
[root@xtrabackup ~]# systemctl restart network
至此,Linux环境搭建DNS的正向解析完成。
测试一下:
[root@xtrabackup ~]# nslookup www.cfc01.com
Server: 172.16.2.244
Address: 172.16.2.244#53
Name: www.cfc01.com
Address: 172.16.2.244
没有问题~
可能会因为权限问题无法解析成功,我把我的权限列表贴出来,按照这个权限修改是没有问题的。