域名查询工具

Nslookup命令
>server 202.106.0.20  #指定DNS服务器
>set q=A #指定要查询的类型(A,PTR,MX,CNAME,NS)
>www.baidu.com #指定要查询的域名
dig命令

此命令是DNS工具包带的,可以用来查询域名相关信息

dig [ -t type ] [ -x addr ] [ name ] [ @server ]
-t A www.baidu.com @202.106.0.20 #查看域名的IP地址,指定DNS服务器,默认使用本地DNS地址
-t NS www.baidu.com #查看域名的NS服务器
-t NS . #查看根的NS服务器
-t NS com #查看com.的NS服务器
-t MX baidu.com #查看域的邮件域名
-t SOA baidu.com #查看域的权威服务器的SOA记录
-t CNAME www.baidu.com #查看域名的别名
-x 192.168.60.200 @192.168.60.10 #反向解析查询

示例:

[root@localhost ~]# dig -t a www.baidu.com

; < <>> DiG 9.8.3-P1 < <>> -t a www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 59830
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: #显示dig提的问题
;www.baidu.com. IN A ;; ANSWER SECTION: #回复dig提的问题
www.baidu.com. 448 IN CNAME www.a.shifen.com.
www.a.shifen.com. 0 IN A 115.239.211.112
www.a.shifen.com. 0 IN A 115.239.210.27 ;; Query time: 15 msec
;; SERVER: 192.168.5.1#53(192.168.5.1)
;; WHEN: Sat Jul 2 21:30:06 2016
;; MSG SIZE rcvd: 103

Dig查询结果显示信息除了QUESTION SECTION和ANSWER SECTION外,还会碰见下面两类信息:

AUTHORITY SECTION       #显示A记录的权威服务器

ADDITIONAL SECTIONdd    #显示A记录的权威服务器的A记录
Dig的另外几种常见用法
# 查看202.106.0.20是否给递归
[root@localhost ~]# dig +recurse -t www.baidu.com @202.106.0.20 # 显示查询www.baidu.com的详细过程使用本地DNS
[root@localhost ~]# dig +trace -t www.baidu.com DNS资源记录

DNS服务器的解析功能有两种,一种是正向解析,一种是反向解析。正反向解析技术不同,因此不应该存放于同一个数据库文件中进行,每一种解析在DNS服务器上都需要有对应的数据库文件。在数据库文件中每一条都是一个资源记录,资源记录是有类型的,用于表示资源的功能,常用的有如下记录:

SOA(Start Of Authority)  #起始授权记录
NS(Name Server) #域名服务器记录,标明自己就是DNS服务器
MX(mail eXchanger) #邮件交换器记录
A(Address) #域名转IPv4地址(正向解析)
PTR(PoiTeR) #IP地址转换为域名(反向解析)
AAAA(Address) #域名转IPv6地址
CNAME(Canonical Name) #正式名称(别名记录)
正向区域文件
$TTL 600
@ IN SOA dns.ywnds.com. root.ywnds.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns

$TTL 600 :生存时间字段以秒为单位定义改资源记录中的信息存放在DNS缓存中的时间长度。

资源记录格式
NAME    IN     TYPE    Value
NAME:名称字段,此字段是资源记录引用的域对象名,可以是一台独立的主机(如www)也可以是整个域(如wangfeng7399.com);字段值”.”表示根,“@”表示默认域即当前域。 IN:此字段用于将当前记录标识为一个互联网的DNS资源记录。 TYPE:资源记录类型,介绍常用的几种类型,如下: SOA(start OF authority):起始授权记录,其中NAME字段必须是区域名称如ywnds.com.或“@”表示,Value字段必须是主DNS服务器的FQDN 例如: @ IN SOA dns.ywnds.com. root.ywnds.com. 其中,root.ywnds.com.是管理员邮箱,没有用@表示是因为@有特殊意义。这些参数的意义是辅助DNS用来更新主DNS的标志来更新数据,如: serial = 2913 (序列号=2913、这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制) refresh = 10800 (3 hours) (刷新=10800秒、辅域名服务器每隔3小时查询一个主服务器) retry = 3600 (1 hour) (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器) expire = 604800 (7 days) (到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。) default TTL = 3600 (1 hour) (默认生存时间=3600秒、缓存服务器保存记录的时间是1小时。也就是告诉缓存服务器保存域的解析记录为1小时) NS(Name Server): 域名服务器,其中NAME字段必须是区域名称如ywnds.com.或“@”表示,Value字段是DNS服务器的FQDN(可以是相对名称) 例如: @ IN NS dns MX(mail eXchanger): 邮件交换器,其中NAME字段必须是区域名称,用来标识smtp服务器。Value字段有优先级(0-99,数字越小,级别越高)和FQDN。 例如: @ IN MX 10 mail A(Address): 域名转IPv4地址(正向解析),其中NAME字段是FQDN(可以使用相对名称),Value字段是IP地址。 例如: dns IN NS 192.168.60.10 CNAME : 用来设置别名。
区域的类型

区域类型是用来定义一个此域的有效标识,格式如下:

zone "." IN {
type hint;
file "named.ca";
};
hint : 表示提示区域,一般根使用的区域。 master : 主DNS服务器使用的区域标识。 slave : 一般辅助DNS服务器使用的区域标识。 forward : 转发区域使用的区域标识。
安装DNS

Linux系统上提供DNS服务的软件有几款,其中最好的就是bind软件,目前Linux6上面已经是bind9.8了。直接安装以下RPM包即可。

[root@bogon ~]# yum install bind bind-utils bind-libs
[root@bogon ~]# service iptables stop
[root@bogon ~]# setenforce 0

解释各个包的意义:

bind-libs:提供的库文件

bind-utils:提供的DNS客户端工具

bind:服务器主包

bind-devel:提供头文件和库文件做二次开发使用(可省略)

bind-chroot:把DNS配置做根切换(可省略)

bind-dyndb-ldap:用于把DNS区域文件存入到数据库或Ldap中(可省略)
Bind的文件
/etc/named.conf              #配置文件
/etc/rc.d/init.d/named #服务脚本
/var/named/name.ca #根域区域配置文件
/var/named/named.localhost #localhost区域配置文件
/var/named/named.loopback #反向解析配置文件
高速缓存DNS

高速缓存DNS服务器:192.168.60.10

在DNS安装完成之后,其实就是一个高速缓存DNS服务器,但想要提供服务还需要调整一下监听地址和允许访问主机。下面介绍一下Bind主配置文件/etc/named.conf(权限640;root属主;named属组)。

[root@bogon ~]# cat /etc/named.conf
options {
listen-on port 53 { any; }; #IPv4监听地址,改为“any”或注释掉都表示监听所有,默认是“127.0.0.1”
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";
allow-query { any; }; #允许查询者,改为“any”或注释掉都表示允许所有,默认是“localhost”
recursion yes; #允许给其它用户递归默认开启
allow-recursion { 192.168.60.0/24; }; #访问控制,只允许给192.168.60.0网段的用户递归。可省略。
}; dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic"; #定义日志(由于DNS查询太频繁尽量不要开启日志)
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; #默认DNS根域文件
zone "." IN {
type hint;
file "named.ca";
}; #包含文件
include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key"; #在做实验时都把此文件给注释掉,不然不影响实验正常结果。默认是开启的。 [root@bogon ~]# service named start
[root@bogon ~]# dig -t A www.baidu.com @192.168.60.10
#测试高速缓存服务器(DNS服务器必须能上网)
正向解析DNS

在高速缓存DNS服务器的基础上做正向解析DNS服务器

在/etc/named.conf文件中添加正向解析区域
[root@bogon ~]# vim /etc/named.conf
zone "ywnds.com" IN {
type master;
file "ywnds";
allow-transfer { none; };
};
在/var/named/下添加正向区域文件
[root@bogon ~]# vim /var/named/ywnds
$TTL 1D
@ IN SOA dns.ywnds.com. root.ywnds.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns
dns IN A 192.168.60.10
@ IN MX 10 mail
mail IN A 192.168.60.100
www IN A 192.168.60.200
[root@bogon ~]# chown root:named /var/named/ywnds
dig验证

反正解析DNS

在/etc/named.conf文件中添加正向解析区域
[root@bogon ~]# vim /etc/named.conf
zone "60.168.192.in-addr.arpa" IN {
type master;
file "ywnds.com";
allow-transfer { none; };
};
在/var/named/下添加反向区域文件
[root@bogon ~]# vim /var/named/ywnds
$TTL 1D
@ IN SOA dns.ywnds.com. root.ywnds.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS dns.ywnds.com.
200 IN PTR www.ywnds.com.
100 IN PTR mail.ywnds.com.
[root@bogon ~]# chown root:named /var/named/ywnds

PS: 反向解析必须要写FQDN

验证
[root@bogon ~]# dig -x 192.168.60.200 @192.168.60.

DNS正反向区域解析(二)的更多相关文章

  1. linux服务基础之DNS正反向解析、主从同步、子域授权及视图

    关键词: 正向解析 反向解析 主从复制 自域授权 视图 一.DNS基本原理 1.1 什么是DNS?BIND又是什么? DNS:Domain Name Service,它是一个基于应用层的协议,是C/S ...

  2. 基于Bind实现的DNS正反向解析及主从DNS的配置

    一.什么是DNS? 1.1 简单的理解,Domain Name System,是互联网一项核心的服务,他作为一个桥梁可以将域名和IP地址相互因素的一个分布式数据库,能够使人更加方便的访问互联网,而不用 ...

  3. DNS—正、反向解析;委派;主从;子域;转发;智能dns等的实现

    前言:DNS,耳熟能详的东西,内容太多,小编也不太好讲清,只能写几个实验详解,供大家参考. 一.简单介绍 1.DNS:通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 端 ...

  4. DNS配置【正向解析】

    DNS配置.正向解析                一.BIND域名服务基础                  1)DNS的定义                  2)域名结构             ...

  5. 《搭建DNS内外网的解析服务》RHEL6

    首先说下: 搭建的这个dns内外网的解析,是正向解析,反向解析自己根据正向解析把文件颠倒下就ok了 第一步我们先搭建一个DNS的正反向解析(参考上篇DNS正反向解析,这是上篇做过的) 第二部才是搭建内 ...

  6. java生成/解析二维码

    package a; import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import ...

  7. DNS域名解析之正向解析

    DNS域名解析之正向解析 1.DNS介绍 2.DNS正向解析实验 1.DNS定义:DNS是"域名系统"的英文缩写.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地 ...

  8. rh358 003 ansible部署双网卡绑定 DNS原理 bind正向解析

    双网卡绑定 绑定多张网卡成为逻辑口,从而实现链路冗余,以及数据流量的负载均衡 1.创建team口 [root@servera ~]# nmcli connection add type team co ...

  9. C#使用zxing,zbar,thoughtworkQRcode解析二维码,附源代码

    最近做项目需要解析二维码图片,找了一大圈,发现没有人去整理下开源的几个库案例,花了点时间 做了zxing,zbar和thoughtworkqrcode解析二维码案例,希望大家有帮助. zxing是谷歌 ...

随机推荐

  1. 访问php文件显示源码

    前天新装了个LAMP的环境,兴冲冲的clone下来代码,结果一访问乐子就大了,直接显现源码 面对这个问题,冥思苦想,四处找资料啊 让我改这改那的,最后终于找到症结 Ubuntu 16.04 系统 LA ...

  2. NGINX域名跳转案列

    1.不同域名不同路径跳转 nginx实现a.com/teacher域名跳转到b.com/student 若想实现上面题目的跳转,目前鄙人知道两种方式: 1.return 2.proxy_pass 具体 ...

  3. PAT-GPLT L1-035 - 情人节 - [大水题]

    题目链接:https://www.patest.cn/contests/gplt/L1-035 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standar ...

  4. HDU 2089 - 不要62 - [数位DP][入门题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...

  5. CCCC训练赛一些模板 struct sstream

    重载与构造 struct node { friend bool operator< (node n1, node n2) { return n1.priority > n2.priorit ...

  6. 在浏览器地址栏输入一个URL后回车,将会发生的事情?

    https://yq.aliyun.com/articles/20667

  7. 第一课 JDK环境变量配置

    第一步:下载,并解压到D:/JDK 第二步:环境变量配置 右键我的电脑->属性->高级->环境变量->系统变量(注意:是下面的系统变量,不是上面的用户变量) 新建变量名 JAV ...

  8. 【代码备份】ZJ10086测试环境成功代码备份

    vuser_init(){        lr_start_transaction("login"); web_url("101.132.17.138",   ...

  9. Python几种并发实现方案的性能比较

    http://blog.csdn.net/permike/article/details/54846831 Python几种并发实现方案的性能比较 2017-02-03 14:33 1541人阅读 评 ...

  10. 前端 HTML body标签相关内容 常用标签 图片标签 <img/>

    图片标签 <img/> 一个网页除了有文字,还会有图片.我们使用<img/>标签在网页中插入图片. <img/> 是单闭合标签 语法:<img src=&qu ...