bind9 dns服务

Bind9是开源的DNS解析服务,此文档安装在 192.168.1.100服务器上,操作系统版本为centos8

安装与配置

[root@www ~]# yum -y install bind

配置bind 主配置文件:
vim /etc/named.conf ,要修改的如下,其它保持不变,注意,该配置文件有严格的格式,空格、; 这种符号都不能少。

options {// 配置监听端口和ip: 默认ip为127.0.0.1,这里改为服务器的iplisten-on port 53 { 192.168.1.100; };// allow-query:默认为localhost,这里改为anyallow-query     { any; };// 添加 forwarders ,配置网关地址forwarders     { 192.168.1.1; };// recursion 配置为true,默认也为truerecursion yes;dnssec-enable no;dnssec-validation no;
};

修改完保存后,检查配置是否成功,如果没有任何输出,表示配置修改成功

[root@www ~]# named-checkconf
[root@www ~]#

添加区域配置文件:
假设有 域名 kevin.com

[root@k8s-100 etc]# vim /etc/named.rfc1912.zones ,在文件结尾加如下内容zone "kevin.com" IN {type master;file "kevin.com.zone";   # DNS 解析的配置文件,一般以 hostname +.zone 的方式allow-update { 192.168.1.100; }; ## 允许更新的主机ip,如果配置了为动态zone,不配置为静态zone
};

配置区域数据文件,即上面的配置文件中的 file值的文件,该文件需要配置在/var/named目录下

[root@www etc]# vim /var/named/kevin.com.zone
### 注意: [每行 ; 后面的内容为注释 ]  ###########
$ORIGIN kevin.com.
$TTL 600 ; 10minutes
@       IN      SOA     dns.kevin.com.     dnsadmin.kevin.com. (2020111501      ;       serial108000          ;       refresh (3 hours)900             ;       retry (15 minutes)604800          ;       expire (1 week)86400           ;       minimum (1 day))NS      dns.kevin.com.
$TTL 60 ; 1 minute
dns                             A                       192.168.1.100
www             A           192.168.1.100
k8s-180                         A                       192.168.1.180
k8s-181                         A                       192.168.1.181
k8s-182                         A                       192.168.1.182
k8s-183                         A                       192.168.1.183
k8s-184                         A                       192.168.1.184

配置好后,保存退出,再次检查配置文件是否正确:

# 修改权限
[root@www named]# chown named:named kevin.com.zone #
# 检查配置是否正确
[root@www  ~]# named-checkconf
[root@www  ~]#

启动服务:

[root@www etc]# systemctl start named

查看DNS日志

[root@www ~]# tail -f /var/named/data/named.run

检查服务状态

[root@www etc]# netstat -anpl|grep named
tcp        0      0 192.168.1.100:53        0.0.0.0:*               LISTEN      2753/named
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      2753/named
tcp6       0      0 ::1:53                  :::*                    LISTEN      2753/named
tcp6       0      0 ::1:953                 :::*                    LISTEN      2753/named
udp        0      0 192.168.1.100:53        0.0.0.0:*                           2753/named
udp6       0      0 ::1:53                  :::*                                2753/named
unix  2      [ ]         DGRAM                    30587    2753/named
unix  3      [ ]         STREAM     CONNECTED     30590    2753/named
[root@www etc]#

使用dig 检查是否能解析DNS,如下 ,161与162服务都能解析出来。

[root@www etc]# dig -t A k8s-181.hk.com @192.168.1.100 +short
192.168.1.181
[root@www etc]# dig -t A k8s-183.hk.com @192.168.1.100 +short
192.168.1.183
[root@www etc]#

使用自定义DNS 解析

将Linux 主机加入到 DNS 解析

[root@k8s-100 etc]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
### 原来的DNS1 的值为
#DNS1=192.168.1.1
### 将 DNS1的值改为当前named服务的地址,即
DNS1=192.168.1.100

重新加载网卡

[root@k8s-100 etc]# nmcli c reload
[root@k8s-100 etc]# nmcli c up ens33
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@k8s-100 etc]# ping k8s-180.kevin.com
PING k8s-180.kevin.com (192.168.1.180) 56(84) bytes of data.
64 bytes from k8s-180.kevin.com (192.168.1.180): icmp_seq=1 ttl=64 time=0.010 ms
64 bytes from k8s-180.kevin.com (192.168.1.180): icmp_seq=2 ttl=64 time=0.025 ms
64 bytes from k8s-180.kevin.com (192.168.1.180): icmp_seq=3 ttl=64 time=0.024 ms
64 bytes from k8s-180.kevin.com (192.168.1.180): icmp_seq=4 ttl=64 time=0.024 ms

这时,可以查看 /etc/resolv.conf 文件,可知 nameserver 的值已变成192.168.1.100,而不是之前的 192.168.1.1,这个文件的 search kevin.com是主域名,加了这个后,可以直接 ping k8s-180 ,也会找到 k8s-180.kevin.com的服务器

[root@k8s-100 etc]# cat /etc/resolv.conf
# Generated by NetworkManager
search kevin.com
nameserver 192.168.1.100
nameserver fe80::1%ens33
[root@k8s-100 etc]#

Windows 系统配置使用上面的DNS 解析

1、关闭 windows ipv6,不会,在DNS 解析的时候,有可能会使用ipv6来解析。
如下,把ipv6前面的勾选去掉。

2、配置 192.168.1.100作为dns解析地址

3、以上配置完成后,检查配置:

重启 DNS 服务

一般而言,dns服务都是很繁忙的,一台公网的dns会维护成千上万个zone,named服务不会轻易被重启(systemctl restart named,这样重启,如果DNS的 zone非常多,因为这些zone都要加载进内存,会导致DNS 启动时间较长,会严重影响正在运行的服务), 可以使用 rndc 动态加载指定的域。当然,为了登陆dns服务器进行维护造成极大的风险(DNS一挂,会导致所有相关的服务不可用), 也可以使用 rndc 远程管理DNS,远程管理方法参考 远程管理DNS。

在上面的配置zone中(/etc/named.rfc1912.zones文件)的 allow-update 不为none 时,则为动态域,否则为静态域。如果修改了配置需要重启指定的域要重启时(zone所配置的 file对应的文件,如: kevin.com.zone):
先将 serial 添加一个序列,如上面的 kevin.com.zone 文件中的 2020111501 要改为 2020111502,再查看是静态域还是动态域

  • 静态域的重启方式: 直接执行 rndc reload kevin.com 就会生效。
[root@www ~]# rndc reload kevin.com
  • 动态域的重启方式: 执行 rndc reload kevin.com 会无效,而需要先执行 rndc freeze kevin.com,再执行 rndc thaw kevin.com
## 假设在动态域中添加了 blog 的解析如下:
[root@www named]# cat kevin.com.zone
## ... 以下仅是添加了 blog后的部分内容
blog                CNAME           www
##### 直接ping 是不能通的
[root@www named]# ping blog.kevin.com
ping: blog.kevin.com: Name or service not known
## 动态域需要先执行 [rndc freeze 域名称]
[root@www named]# rndc freeze kevin.com
## 动态域需要再执行 [rndc freeze 域名称]
[root@www named]# rndc thaw kevin.com
A zone reload and thaw was started.
Check the logs to see the result.、## 再 ping 就可以成功了
[root@www named]# ping blog.kevin.com
PING www.kevin.com (192.168.1.100) 56(84) bytes of data.
64 bytes from www.kevin.com (192.168.1.100): icmp_seq=1 ttl=64 time=0.019 ms
64 bytes from www.kevin.com (192.168.1.100): icmp_seq=2 ttl=64 time=0.024 ms
64 bytes from www.kevin.com (192.168.1.100): icmp_seq=3 ttl=64 time=0.023 ms
^C
--- www.kevin.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 21ms
rtt min/avg/max/mdev = 0.019/0.022/0.024/0.002 ms
[root@www named]#

参考: 重新加载配置

bind9 dns服务相关推荐

  1. linux dns配置bind9,DNS服务(bind9)配置过程

    DNS服务(bind9)配置过程 发布时间:2006-08-22 08:57:40来源:红联作者:晚点 作者:周立军 修改日期:2006年2月23日 安装环境:Fedora 4 bind-9.2.6. ...

  2. LINUX DNS服务的配置(一)

    DNS(Domain Name System)作用管理主机的 "户籍"-主机名:IP 是一个分布式数据库系统,DNS服务器的起源,最早的主机解析,依靠hosts文件,有NIC(Ne ...

  3. 20150920 DNS服务

    第一部分:DNS概述 1.概含 DNS(domain name system)用于解决通信转换问题 IP地址与名称 1)DNS域名称空间:它指定用于组织名称的域的层次结构 2)资源记录(RR-reso ...

  4. DNS服务在网络中的应用

    第一部分:DNS的安装和简单使用 DNS简介 DNS 是域名系统(Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人 ...

  5. 加强linux操作系统DNS服务安全

    拓扑图: 代码: #!/bin/bash #2017-12-3 #by-duwentaodomain_name="hetian.com" rip=`ifconfig eth0|gr ...

  6. ubuntu 局域网dns服务器_如何在 Ubuntu 16.04 服务器上配置内网 DNS 服务

    DNS 1. 简介 本文使用 BIND9,用尽量少的步骤,搭建出一个可用的内网 DNS 服务.另外要说明的一点是,本文不仅适用于 Ubuntu 16.04,也使用其后的 Ubuntu 系统(截止到目前 ...

  7. dns服务 很多问题,后续再研究

    慕课网:http://www.imooc.com/video/5220 参考:http://jingyan.baidu.com/article/870c6fc32c028eb03fe4be30.htm ...

  8. Master DNS服务的搭建

    很多企业都通过Linux来搭建自己的DNS服务器来提高网路效率,在此我们来学习如何搭建Master DNS服务器.    首先,确定是否搭建yum仓库,并有软件包可用,如DVD光盘是否挂载. 一.安装 ...

  9. 在CentOS6.2下安装DNS服务软件Bind并快速配置简单实例

    [实践Ok]在CentOS6.2下安装DNS并快速配置实例,共八步,心路历程如下: 背景介绍: 在日常的开发中,往往会在测试机和外网的Http的Url实际接口是不一样的,在测试机一个Url地址,在外网 ...

最新文章

  1. QN8027性能调试
  2. python【力扣LeetCode算法题库】7- 整数反转
  3. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | e^jωn 的傅里叶变换 )
  4. 创建IT运维管理门户
  5. 滴滴李先刚:语音识别在复杂场景的性能将显著提升
  6. 【Java】continue和break区别
  7. 一起来学ES —— 浅谈Nested结构
  8. CoreAnimation编程指南(三)几何变换
  9. c# msi中加入驱动_MongoDB的C#驱动基本使用
  10. django 1.8 官方文档翻译: 3-1-2 编写视图
  11. 快捷配置mysql_windows下的mysql的快捷安装方法和简单配置
  12. windows下Eclipse调试ffmpeg
  13. java yml文件_yml文件内容映射到pojo
  14. python自动化笔记_python自动化学习笔记(一)
  15. 我是如何自学通过CISSP考试的
  16. 是谁在觊觎娱乐圈站点?揭秘神秘黑客组织-黑界
  17. 【基于微信小程序的社区电商平台】需求分析心得——小豆芽
  18. 【Spring MVC】Json 前后端合并
  19. 高速公路ETC卡签之我见2-卡片消费
  20. 优秀github博主

热门文章

  1. 14.11 基类与派生类关系的详细再探讨
  2. GOF23-建造者模式
  3. 外星人 17R4笔记本 win10 UEFL 安装Ubuntu16.04 LTS并更换Nvidia显卡驱动 教程+个人心得
  4. 承接云计算相关兼职和外包
  5. Nginx反向代理详解
  6. 机器学习基础--卡方检验
  7. 计算机综合测试仪教材,综测仪使用及测试培训初级教材.PDF
  8. 单播 、多播(组播)、广播
  9. 2020年阿里实习生产品运营一面面经
  10. 【GCC】1: RTCP RR接收端生成