在centos8系统安装DNS服务器,通过在本地创建DNS解析服务器,可以建立企业内部的dns内网解析系统。
1、安装DNS支撑服务;
yum install bind //安装DNS服务;
yum install bind-utils //安装nslookup工具
2、编辑named.conf配置文件
vi /etc/named.conf
文档:centOS 8安装DNS服务器.note 链接:http://note.youdao.com/noteshare?id=94ba504625c05efc689c69fbf7e8a97c&sub=8B95AC876C61464A97339E72266A50DD
listen-on port 53 { 192.168.1.123; }; //新增
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
//allow-query { localhost; }; //注释掉原先的
allow-query { any;}; //新增
3、检查语法错误
直接执行:named-checkconf
如果报错的话,根据具体的报错行数进行修改错误。
4、编辑配置文件
vim /etc/named.rfc1912.zones
在文件最后添加“正向”和“反向”配置,
//正向区域配置,域名解析IP
zone "hello.com"IN{
type master;
file "hello.com.zone"; //对应步骤2中的配置文件位置,对应步骤5中的文件名
allow-update{none;};
};
//反向区域配置,IP解析域名
zone "1.168.192.in-addr.arpa"IN{ //这里要倒着写
type master;
file "hello.com.local"; //对应步骤2中的配置文件位置,对应步骤6中的文件名
allow-update{none;};
};
5、编写正向解析配置文件
cd /var/named
cp -p named.localhost hello.com.zone #编辑正向区域数据配置文件,注意复制配置文件时,要保持源文件权限
vi hello.com.zone //编辑正向区域数据配置文件内容
[root@litian named]# more hello.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.1.123 //添加A记录,为本机IP
www IN A 192.168.1.123 //添加www的A记录,即www.hello.com
ftp IN A 192.168.1.123 //添加ftp的A记录,即ftp.hello.com
AAAA ::1
6、编辑反向解析配置文件
cp -p hello.com.zone hello.com.local #复制反向区域数据配置文件
vi hello.com.local
[root@litian named]# more hello.com.local
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.1.123
123 PTR www.hello.com. //最后面这个.不能少
123 PTR ftp.hello.com. //最后面这个.不能少
AAAA ::1
7、测试成果
service named restart #重新启动服务
vi /etc/resolv.conf #添加新的DNS nameserver 192.168.1.1623
nslookup www.hello.com #正向测试DNS
nslookup 192.168.73.160 #反向测试DNS
[root@litian named]# nslookup www.hello.com
Server: 192.168.1.123
Address: 192.168.1.123#53
Name: www.hello.com
Address: 192.168.1.123
[root@litian named]# nslookup ftp.hello.com
Server: 192.168.1.123
Address: 192.168.1.123#53
Name: ftp.hello.com
Address: 192.168.1.123
Name: ftp.hello.com
Address: ::1
[root@litian named]# nslookup 192.168.1.123
123.1.168.192.in-addr.arpa name = ftp.hello.com.
123.1.168.192.in-addr.arpa name = www.hello.com.
======================================
漂亮,再进化一次!
======================================
进化:上面的两个域名www.hello.com和ftp.hello.com如果按照上面的配置解析出来的ip都是192.168.1.123,这不符合正常的使用逻辑,正常情况下,不同的域名承担不同的作用,应该备解析到不同 的ip上面,下面即将对上面的配置进行更换,实现这个功能。
1、优化上面的步骤5,优化正向解析配置文件
[root@litian named]# more hello.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.1.123 //这里不变
www IN A 192.168.1.125 //重新指定www.hello.com的解析地址为192.168.1.125,这样就可以在192.168.1.125这台机器上安装www服务。
ftp IN A 192.168.1.124 //重新指定ftp.hello.com的解析地址为192.168.1.124,这样就可以在192.168.1.124这台机器上安装ftp服务。
AAAA ::1
2、优化上面的步骤6,优化反向解析配置文件
[root@litian named]# more hello.com.local
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.1.123
125 PTR www.hello.com. //指定125
124 PTR ftp.hello.com. //指定124
AAAA ::1
3、再次验证结论如下:
[root@litian named]# nslookup www.hello.com
Server: 192.168.1.123
Address: 192.168.1.123#53
Name: www.hello.com
Address: 192.168.1.125
[root@litian named]# nslookup ftp.hello.com
Server: 192.168.1.123
Address: 192.168.1.123#53
Name: ftp.hello.com
Address: 192.168.1.124
Name: ftp.hello.com
Address: ::1
[root@litian named]# nslookup 192.168.1.123
** server can't find 123.1.168.192.in-addr.arpa: NXDOMAIN
[root@litian named]# nslookup 192.168.1.124
124.1.168.192.in-addr.arpa name = ftp.hello.com.
[root@litian named]# nslookup 192.168.1.125
125.1.168.192.in-addr.arpa name = www.hello.com.