Bind-DNS-转发服务器安装 1 安装bind应用:yum install bind -y bind-utils 2 查看安装文件内容:rpm -ql bind | less 3 修改配置文件:vi /etc/named.conf 主配置文件: 全局配置:option {} 日志子系统配置:logging {} 区域定义:本机能够为哪些zone进行解析,就要定义哪些zone: zone "ZONE_NAME" IN {} 注意:任何服务程序文件如果期望其能够通过网络被 其它主机访问,至少应该监听在一个能与外部主机通信的地址上; 1.1 备份配置文件:cp -v /etc/named.conf {,.bak} 1.2 修改配置文件,添加外部IP;缓存名称服务器 options { listen-on port 53 { 10.206.35.246; 127.0.0.1; }; 4 关闭dnssec,将dnssec注释:行前加双斜杠// 建议测试时关闭dnssec // dnssec-enable yes; // dnssec-validation yes; /* Path to ISC DLV key */ // bindkeys-file "/etc/named.root.key"; // // managed-keys-directory "/var/named/dynamic";
5 开启其它主机查询功能 allow-query { any; }; 6 启动DNS服务:service named start/ systemctl restart named
7 查看服务:ss -tunlp | grep :53 8 主DNS服务器配置 在以上1-7配置缓存DNS服务器的基础上添加以下配置 8.1 修改主配置文件 :vi /etc/named.conf 8.2 修改zones配置文件:vi /etc/named.rfc1912.zones 添加以下格式的zone内容 zone "ZONE_NAME" IN { type {master|slave|hint|forward}; file "ZONE_NAME.zone"; }; zone "magedu.com" IN { type master; file "magedu.com.zone"; } 8.3 定义区域解析文件 出现的内容: 宏定义; 资源记录; cd /var/named vi magedu.com.zone $TTL 86400 $ORIGIN magedu.com. @ IN SOA ns1.magedu.com. admin.magedu.com ( 2015042201 1H 5M 7D 1D ) IN NS ns3 IN NS ns2 ns3 IN A 10.206.35.246 ns2 IN A 10.206.35.247 8.4 检查zone文件的语法格式 named-checkconf named-checkzone "magedu.com" /var/named/magedu.com.zone 8.5 修改配置文件访问权限 chmod 640 magedu.com.zone 修改配置文件zone的属组 chown :named magedu.com.zone 9 重新加载DNS解析 systemctl restart named\service named restart 或者 rndc reload 10 重读DNS解析库 systemctl reload named.service/service named reload 11 使用dig工具测试DNS服务器解析 安装解析工具安装包dig,不会查询hosts文件进行解析 dig [-t type] name [@SERVER] 查询选项: +[no]trace:跟踪解析过程 +[no]resource:进行递归解析 yum install bind-utils -y dig -t A www.baidu.com @10.206.35.242 dig -t NS magedu.com @10.206.35.242 dig -t MX magedu.com @10.206.35.242 dig -t SOA magedu.com @10.206.35.242 测试反向解析 dig -x IP @SERVER 模拟区域传送: dig -t axfr ZONE_NAME @SERVER dig -t axfr magedu.com @10.206.35.242 12 定义子域:修改主DNS服务器配置 cd /var/named/ vi magedu.com.zone ops IN NS ns1.ops ops IN NS ns2.ops ns1.ops IN A 10.206.35.242 ns2.ops IN A 10.206.35.247 重新加载区域 rndc reload 查看区域数 rndc status 13 配置子域服务器 vi /etc/named.conf // listen-on port 53 { 10.206.35.242; 127.0.0.1; }; // listen-on-v6 port 53 { ::1; }; // allow-query { any; }; // dnssec-enable yes; // dnssec-validation yes; // bindkeys-file "/etc/named.root.key"; // // managed-keys-directory "/var/named/dynamic"; 重启dns服务 systemcctl restart named 14 在子域服务器中添加zone vi /etc/named.rfc1912.zones zone "ops.magedu.com" IN { type master; file "ops.magedu.com.zone"; }; rndc status rndc reload rndc status 15 添加子域解析库文件 vi /var/named/ops.magedu.com.zone $TTL 1d $ORIGIN ops.magedu.com. @ IN SOA ns1.ops.magedu.com. admin.ops.magedu.com. ( 2019042501 1H 10M 3D 1D ) IN NS ns1 IN NS ns2 ns1 IN A 10.206.35.242 ns2 IN A 10.206.35.247 www IN A 10.206.35.242
-
IN A 10.206.35.242
修改权限 cd /var/named/ chmod 640 ops.magedu.com.zone chown :named ops.magedu.com.zone 重启服务 systemctl restart named 重新加载区域 rndc reload 测试子域解析功能 dig -t A www.ops.magedu.com @10.206.35.242 16 父域测试解析子域 dig -t NS ops.magedu.com @10.206.35.246 定义转发服务器: 注意:被转发的服务器需要能够为请求者做递归;否则,转发请求不于进行; 1、 全部转发:凡是对非本机所有负责解析的区域的请求,统统转发给指定的服务器; Options { forward {first|only} forwards } vi /etc/named.conf forward first; forwarders { 10.206.35.183; }; rndc reload 测试解析 dig -t A www.sohu.com @10.206.35.246 2、 区域转发:仅转发对接定的区域的请求至某服务器;(子域中设置) a) CentOS6中,需修改以下配置为no dnssec-enable no; dnssec-validation no; vi /etc/named.rfc1912.zones zone "magedu.com" IN { type forward; forward only; forwarders { 10.206.35.246; }; };
测试解析父域 dig -t A www.magedu.com @10.206.35.242 dig -t A mail.magedu.com @10.206.35.242 17 Bind中基础的安全配置 vi /etc/named.conf acl:把一个或多个地址归并为一个集合,并通过一个统一的名称调用; acl acl_name { ip; ip; net/prelen; } 示例: acl mynet { 172.16.0.0/16; } bind有四个内置的acl;定义在zone中 vi /etc/named.rfc1912.zones note:没有一个主机 any:任意主机 local:本地 localnet:本机的IP同掩码运算后得到的网络地址; 注意:只能先定义,后使用;因此,其一般定义在配置文件中的option的前面; 访问控制的指令: allow-query {}:允许查询的主机:白名单;zone中定义 allow-transfer {}:允许区域传送的主机:白名单 zone中定义 allow-update {}:允许更新 zone中定义 allow-recursion {}:允许递归的主机:全局named.conf中定义