环境介绍

公网IP:149.129.92.239

内网IP:172.17.56.249

系统:CentOS 7.4

一、安装

yum install bind bind-utils -y

  

二、修改bind配置文件

vim /etc/named.conf 

options {
listen-on port 53 { any; }; #监听任何ip对53端口的请求
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; #接收任何来源查询dns记录 /*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes; dnssec-enable yes;
dnssec-validation yes; /* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
}; logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN {
type hint;
file "named.ca";
}; #增加一个a.com域名的解析,具体解析规则在/var/named/a.com.zone里
zone "a.com" IN {
type master;
file "a.com.zone";
}; #增加一个反向解析,即根据ip查域名(不需要的话可以不设置)
zone "56.17.172.in-addr.arpa" IN {
type master;
file "172.17.56.zone";
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

  

三、配置解析文件

[root@izj6c1w3z30pendgik4p4vz ~]# cat /var/named/a.com.zone
$TTL 1D
@ IN SOA @ root.a.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 172.17.56.249 ;a.com的ip为172.17.56.249
www A 172.17.56.249 ;www.a.com的ip解析为172.17.56.249
@ MX 10 mx.a.com. ;a.com的mx记录为mx.a.com
AAAA ::1 [root@izj6c1w3z30pendgik4p4vz ~]# cat /var/named/172.17.56.zone
$TTL 86400
@ IN SOA localhost a.com. (
2014031101
2H
10M
7D
1D )
IN NS localhost.
249 IN PTR a.com ;172.17.56.249查询后得到的域名是a.com
249 IN PTR www.a.com. ;172.17.56.249查询后得到的域名是www.a.com

  

四、启动bind

systemctl  start  named

  

五、测试

1、修改dns配置/etc/resolv.conf
[root@izj6c1w3z30pendgik4p4vz ~]# cat /etc/resolv.conf
options timeout:2 attempts:3 rotate single-request-reopen
nameserver 172.17.56.249 2、解析测试
[root@izj6c1w3z30pendgik4p4vz ~]# ping a.com -c 2
PING a.com (172.17.56.249) 56(84) bytes of data.
64 bytes from a.com.56.17.172.in-addr.arpa (172.17.56.249): icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from a.com.56.17.172.in-addr.arpa (172.17.56.249): icmp_seq=2 ttl=64 time=0.048 ms --- a.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.016/0.032/0.048/0.016 ms
[root@izj6c1w3z30pendgik4p4vz ~]# ping www.a.com -c 2
PING www.a.com (172.17.56.249) 56(84) bytes of data.
64 bytes from www.a.com (172.17.56.249): icmp_seq=1 ttl=64 time=0.019 ms
64 bytes from www.a.com (172.17.56.249): icmp_seq=2 ttl=64 time=0.052 ms --- www.a.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.019/0.035/0.052/0.017 ms
[root@izj6c1w3z30pendgik4p4vz ~]# nslookup a.com
Server: 172.17.56.249
Address: 172.17.56.249#53 Name: a.com
Address: 172.17.56.249 [root@izj6c1w3z30pendgik4p4vz ~]# dig www.a.com ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> www.a.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56816
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3 ;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.a.com. IN A ;; ANSWER SECTION:
www.a.com. 86400 IN A 172.17.56.249 ;; AUTHORITY SECTION:
a.com. 86400 IN NS a.com. ;; ADDITIONAL SECTION:
a.com. 86400 IN A 172.17.56.249
a.com. 86400 IN AAAA ::1 ;; Query time: 0 msec
;; SERVER: 172.17.56.249#53(172.17.56.249)
;; WHEN: Wed Jun 05 09:58:34 CST 2019
;; MSG SIZE rcvd: 112

  

六、公网使用与测试

1、修改之前的文件与启动

[root@izj6c1w3z30pendgik4p4vz ~]# cat /etc/named.conf
#增加一个反向解析,即根据ip查域名(不需要的话可以不设置)
zone "92.129.149.in-addr.arpa" IN {
type master;
file "149.129.92.zone";
}; [root@izj6c1w3z30pendgik4p4vz ~]# cat /var/named/149.129.92.zone
$TTL 86400
@ IN SOA localhost a.com. (
2014031101
2H
10M
7D
1D )
IN NS localhost.
239 IN PTR a.com ;149.129.92.239查询后得到的域名是a.com
239 IN PTR www.a.com. ;149.129.92.239查询后得到的域名是www.a.com [root@izj6c1w3z30pendgik4p4vz ~]# cat /var/named/a.com.zone
$TTL 1D
@ IN SOA @ root.a.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 149.129.92.239
www A 149.129.92.239
@ MX 10 mx.a.com. ;a.com的mx记录为mx.a.com
AAAA ::1 #重启bind
systemctl restart named

  

2、防火墙开防53的udp端口对外

3、电脑或服务器更改dns

4、测试

centos7安装bind(DNS服务)的更多相关文章

  1. RHEL6安装配置DNS服务

    RHEL6安装配置DNS服务 作者:Eric 微信:loveoracle11g 安装软件包 [root@rac1 ~]# yum -y install bind bind-chroot caching ...

  2. Linux基础服务——Bind DNS服务 Part2

    Linux基础服务--Bind DNS服务 Part2 DNS反向解析与区域传送 实验环境延续Part1的实验环境. 反向区域配置 正向解析是域名到IP地址的映射,反向解析则是IP地址到域名的解析,在 ...

  3. Linux基础服务——Bind DNS服务 Part1

    Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...

  4. Bind DNS服务——转发与区域记录更新

    Linux基础服务--Bind DNS服务 Part4 转发与区域记录更新 一个DNS服务器不可能保存所有的区域记录,所以我们一般都会将其他的区域纪录转发到其他的服务器上进行解析. Bind9提供了全 ...

  5. (转)Centos7安装配置NFS服务和挂载

    Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...

  6. Bind DNS服务——基础知识

    Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...

  7. CentOS7 安装Bind

    简要记录安装Bind的过程以及遇到的问题 一. 虚拟机准备 准备了2台虚拟机,都是装的CentOS7 64_1的IP地址为192.168.1.160,2的地址为161.161作为DNS服务器. 二.下 ...

  8. CentOS7安装bind域名服务

    安装Bind Chroot DNS 服务器 yum install bind-chroot bind -y 拷贝bind相关文件,准备bind chroot 环境 cp -R /usr/share/d ...

  9. CentOS7安装配置DNS服务器

    准备工作(假设名称为bigcloud.local) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #更改主机名称 #vi /etc/sysconfig/netwo ...

  10. CentOS7.x的DNS服务的基础配置

    一.bind服务器安装 bind:开源.稳定.应用广泛的DNS服务.bind的软件包名bind,服务名称named. 查看是否安装bind, 安装bind包: rpm -qa bind yum -y ...

随机推荐

  1. Java 利用Map集合计算一个字符串中每个字符出现的次数

    步骤分析 1.给出一串字符串,字符串中可以包含字母.数字.符号等等. 2.创建一个Map集合,key是字符串中的字符,value是字符的个数. 3.遍历字符串,获取每一个字符. 5.使用获取到的字符, ...

  2. bootstrap4popper.js报错Uncaught ReferenceError

    这是因为bootstrap4需要umd版的popper.js <script src="https://cdn.bootcss.com/popper.js/1.15.0/umd/pop ...

  3. Robot Framework中对出错用例处理的策略

    出错后退出 在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字.RF会继续执行下一个用例.这么做的好处是节省时间--反正这里出问题要返回来看了,再继续执行剩下的关 ...

  4. mysql 行增删改查

    一.增 ); ),(); insert into student(name, age) select name, age from info; 二.删 delete from db1; delete ...

  5. Spring加载早期获取BasePackage

    public class GetBasePackage { private Class<? extends Annotation> annotation; public GetBasePa ...

  6. 基于javaSwing的贪食蛇游戏

    这个项目时,是我好几年前写的了.但对刚入门,或者想瞧瞧java的图形的界面swing的同学,还是有点用处的. 在这推荐给你. 涉及技术点 swing,多线程,文件读写,多媒体文件播放等 游戏简介 该游 ...

  7. 【java面试】集合类篇

    java中主要的类集合接口如下 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├Has ...

  8. Python-直接存储类实例作为序列的元素

    如果我们需要存储的数据有很多属性,并且存储的数量很多,可选择定义一个类来表示数据类型,而类的实体作为单个的成员进行存储,这样做的好处是可以只存储一个容器,而不需要每次都存储大量的数据,并且可以限制对数 ...

  9. jquery的版本 纵多 , 各个版本的插件的融合 ,

    有些插件在哪些版本下没有 插件之间因为版本冲突 是得不偿失的事情

  10. Nito.AsyncEx 这个库

    有一个非常聪明的小伙子 (我高度赞扬) 叫 Stephen Cleary ,他写了一个很棒的 Extension 集,共同参与开发的还有 Stephen Toub (他显然是经验丰富的),所以我充分信 ...