部署正向主DNS服务器

1、DNS软件 bind

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

1.1、BIND(Berkeley Internet Name Domain)相关程序包

  • bind:服务器
  • bind-utils: 客户端
  • bind-libs:相关库,依赖关系自动安装
  • bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/
# 安装bind软件
[root@centos79-base01 ~]# yum install -y bind bind-utils

1.2、BIND包相关文件

  • BIND主程序:/usr/sbin/named
  • 服务脚本和Unit名称:/etc/rc.d/init.d/named,/usr/lib/systemd/system/named.service
  • 主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
  • 管理工具:/usr/sbin/rndc:remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1连接named进程,提供辅助性的管理功能;953/tcp
  • 解析库文件:/var/named/ZONE_NAME.ZONE
  • 注意:
    • 一台物理服务器可同时为多个区域提供解析
    • 必须要有根区域文件;named.ca
    • 应该有两个(如果包括ipv6的,应该更多)实现localhost和本地回环地址的解析库

1.3、主配置文件

  • 全局配置:options {};
  • 日志子系统配置:logging {};
  • 区域定义:本机能够为哪些zone进行解析,就要定义哪些zone
    • zone “ZONE_NAME” IN {};
  • 注意:
    • 任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上
    • 缓存名称服务器的配置:监听外部地址即可
    • dnssec: 建议关闭dnssec,设为no

2、部署正向主DNS服务器

2.1、实现目的

搭建DNS正向主服务器,实现web服务器基于FQDN的访问

2.2、部署环境

DNS服务端:192.168.1.12
DNS客户端:192.168.1.11
web服务器:192.168.1.10

2.3、配置准备

关闭SELinux
关闭防火墙
时间同步

2.4、部署DNS服务器

# 服务端配置
# 在DNS服务端安装bind
[root@dnsserver ~]# yum install -y bind bind-utils

# 修改bind 配置文件
[root@dnsserver ~]# vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query     { localhost; };

[root@dnsserver ~]# vim /etc/named.rfc1912.zones
#加上下面内容
zone "test.com" IN {
   type master;
   file  "test.com.zone";
};

[root@dnsserver ~]# cp -p /var/named/named.localhost /var/named/test.com.zone
[root@dnsserver ~]# vim /var/named/test.com.zone
$TTL 1D
@	IN SOA	master admin.test.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	master
master	A	127.0.0.1
www     A       192.168.1.10

# 检查配置文件和数据库文件格式
[root@dnsserver ~]# named-checkconf
[root@dnsserver ~]# named-checkzone test.com /var/named/test.com.zone
zone test.com/IN: loaded serial 0
OK

# 第一次启动服务并设置开机自启
[root@dnsserver ~]# systemctl enable --now named.service
# 非第一次启动服务
[root@dnsserver ~]# rndc reload
server reload successful
# 客户端配置
# 修改DNS
[root@client01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1="192.168.1.12"
[root@client01 ~]# systemctl restart network
[root@client01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.12

# 测试DNS是否成功解析
[root@client01 ~]# curl http://192.168.1.10/index.html
hello
[root@client01 ~]# curl http://www.test.com/index.html
hello

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享