环境要求
具有外网IP的Centos服务器
实现思路
named (网络)这是领域名服务器(Domain Name System) 的服务。通过在Centos服务器上配置named服务,进而配置A记录和cname记录,从而提供自定义dns服务代理。
安装步骤
安装named服务
yum install -y bind bind-chroot bind-utils
配置正向查找区
向查找区,就是我们最熟知的DNS,即根据域名解析成IP。逆向查找区,即根据IP解析成域名。他们之间的关系很像ARP和RARP。
在我们的应用场景,需要A记录和CNAME记录,所以只用配置正向查找区即可。
- 增加正向查找区域
# /etc/named.conf
zone "temp.cn" IN {
type master;
file "temp.cn.zone";
}
#/var/named/temp.cn.zone(/etc/named.conf中配置的)
# 这里面配置了A记录和CNAME记录
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www
www A 127.0.0.1
wtfc8ujh.restest CNAME 2xfnghqp.restest.spdb.com.cn.wscvip.cn.
- 修改访问策略
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; }
...
allow-query { any; };
- 修改用户
默认以named用户启动,需要修改文件的访问权限
chown root:named /var/named/temp.cn.zone
关闭SELinux
SElinux定义了用户/组对应用、进程和文件的访问控制。利用安全策略(一组告知 SELinux 哪些能访问,哪些不能访问的规则)来强制执行策略所允许的访问。
为了简单起见,我们把它关闭。
- 编辑 /etc/sysconfig/selinux 重启生效。
SELINUX=disabled
- setenforce 0 立即生效
通过 getenforce 查看SEinux状态(Disabled)
[root@VM-4-14-centos etc]# getenforce
Disabled
关闭防火墙
防火墙最基本的功能就是隔离网路,透过将网路划分成不同的区域(通常情况下称为ZONE),制定出不同区域之间的访问控制策略来控制不同信任程度区域间传送的数据流。
为了简单起见,我们把它关闭。
- systemctl disable firewalld
-永久关闭防火墙 - systemctl stop firewalld
临时关闭防火墙 - systemctl status firewalld
查看防火墙状态
启动named服务
- 启动命令
/sbin/service named restart - 查看状态
/sbin/service named status - 查看日志
/var/named/data/named.run
配置云服务器安全组
dns需要53端口,(udp和tcp)
测试步骤
检测端口连通性
- 检测udp端口
nc -uzv [公网ip] 53
- 测试tcp端口
nc -zv[公网ip] 53
检测dns server
nslookup [-qt=type] [域名] dns服务器地址
type默认为A记录,可以指定CNAME,AAAA(ipv6),MX