CentOS7 搭建DNS服务器,实现局域网域名访问

主要参考文档:http://www.cnblogs.com/wangenzhi/p/6308957.html;

本文只是用到其中一小部分,仅搭建一个主DNS并只添加正向解析,即域名--》IP;

 

1、安装bind

Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server;bind是dns协议的一种实现;其运行后的程序名为named;

切换成root用户后,直接敲一下命令:

yum -y install bind

注意:bind程序安装完成后,默认即可作为缓存服务器使用(不负责域解析);如果没有专门负责解析的区域,直接可启动服务;我们这里是需要一个主DNS服务器,所以需要继续设置

2、配置解析一个正向区域

注意:以enzhi.com为列;

2.1、定义区域

在主配置文件中实现或主配置文件辅助配置文件中实现:/etc/named.conf或者/etc/named.rfc1912.zones

最后添加如下

格式

zone "ZONE_NAME" IN {
  type {master|slave|hint|forward}; file "ZONE_NAME.zone"; };

示例

[root@Bj-1-141 ~]# vim /etc/named.rfc1912.zones
# 在对下面添加
zone "enzhi.com." IN { type master; file "enzhi.com.zone"; };

注意:区域名字即为域名;

2.2、建立区域数据文件

主要记录为A或 AAAA;在/var/named/目录下建立区域数据文件;

1、创建正向区域文件

[root@Bj-1-141 ~]# cd /var/named/
[root@Bj-1-141 named]# vim enzhi.com.zone
$TTL 3600 $ORIGIN enzhi.com. @ IN SOA enzhi.com. admin.enzhi.com. ( 2 1H 10M 3D 1D) IN NS ns1.enzhi.com. IN MX 10 mail.enzhi.com. ns1 IN A 192.168.1.141 mail IN A 192.168.1.142 www IN A 192.168.1.143 bbs IN A 192.168.1.144 bbs IN A 192.168.1.145

注意:

$TTL 3600:表示定义默认TTL值,所以在下面的所有资源记录都不用在写TTL值;
$ORIGIN enzhi.com.:作用是在资源记录中像"ns1.enzhi.com."就可以简写为ns1,会继承$ORIGIN后面定义的域名;

2、修改区域文件的权限及属组

# 修改区域文件的属组为named用户
[root@Bj-1-141 named]# chown :named enzhi.com.zone
# 修改区域文件的权限为640 [root@Bj-1-141 named]# chmod 640 enzhi.com.zone

3、检查配置文件和区域文件是否有语法错误

[root@Bj-1-141 named]# named-checkconf
[root@Bj-1-141 named]# named-checkzone enzhi.com. /var/named/enzhi.com.zone
zone enzhi.com/IN: loaded serial 2 OK

特别提醒:①留意“.”号,不能少;

     ②每次更改(新增或者删除)以上文件内容,都要变更那个serial号码(括号中第一个数字),通常+1即可;

     ③正反向解析文件的属组一定要改为named;

 

2.3、让服务器重载配置文件和区域文件(如果此时服务未启动,reload直接改为start)

[root@Bj-1-141 ~]# rndc reload
server reload successful
# 或者执行 [root@Bj-1-141 ~]# systemctl reload named.service

2.4、测试

1、解析www.enzhi.com的A记录;

[root@Bj-1-141 ~]# dig -t A www.enzhi.com @192.168.1.141

; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.1 <<>> -t A www.enzhi.com @192.168.1.141 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40269 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.enzhi.com. IN A ;; ANSWER SECTION: www.enzhi.com. 3600 IN A 192.168.1.143 ;; AUTHORITY SECTION: enzhi.com. 3600 IN NS ns1.enzhi.com. ;; ADDITIONAL SECTION: ns1.enzhi.com. 3600 IN A 192.168.1.141 ;; Query time: 0 msec ;; SERVER: 192.168.1.141#53(192.168.1.141) ;; WHEN: 四 1月 19 19:06:12 CST 2017 ;; MSG SIZE rcvd: 92

2、解析enzhi.com的NS记录;

[root@Bj-1-141 ~]# dig -t NS enzhi.com @192.168.1.141

; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.1 <<>> -t NS enzhi.com @192.168.1.141 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27289 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;enzhi.com. IN NS ;; ANSWER SECTION: enzhi.com. 3600 IN NS ns1.enzhi.com. ;; ADDITIONAL SECTION: ns1.enzhi.com. 3600 IN A 192.168.1.141 ;; Query time: 34 msec ;; SERVER: 192.168.1.141#53(192.168.1.141) ;; WHEN: 四 1月 19 19:08:53 CST 2017 ;; MSG SIZE rcvd: 72

至此,正向解析主DNS搭建完毕,不过目前的配置应该还只是本机可以访问,需要对配置文件做一下更改,然后重启named服务局域网才能访问:

vim /etc/named.conf,然后瞎改配置文件(红色为添加,其中IP为当前服务器IP);

listen-on port 53 { 127.0.0.1; 192.168.1.141; };

 

//dnssec-enable yes;

//dnssec-validation yes;

//allow-query { localhost; };

 

然后执行systemctl restart named.service,后面把局域网自己的DNS设置为该服务器IP,同时需要防火墙开放DNS默认的53端口,即可进行正向解析!

 

备注:由于DNS服务器的特殊性,最好设置为静态IP,具体设置方式及开放DNS端口请参考CentOS7如何设置静态IP及开放DNS端口的随笔,此处不再继续说明。

 

转载于:https://www.cnblogs.com/6relation/p/6992070.html

你可能感兴趣的:(CentOS7 搭建DNS服务器,实现局域网域名访问)