DNS域名解析系统_2
部署DNS正向解析
- 主配置文件(/etc/named.conf):
用来定义bind服务程序的运行。
- 区域配置文件(/etc/named.rfc1912.zones):
用来保存域名和ip地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应ip地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。
- 数据配置文件目录(/var/named):该目录用来保存域名和ip地址真是对应关系的数据配置文件。
- 主配置文件:/etc/named.conf
- 区域配置文件:/etc/named.rfc1912.zones
- 正向解析模板文件:/var/named/named.localhost
- 反向解析模板文件:/var/named/named.loopback
- 首先配置防火墙规则
将INPU规则链设置为只允许指定网段的主机访问本机的53端口,拒绝来自其他所有主机的流量:
[root@localhost ~]# iptables -I INPUT -s 192.168.127.0/ -p tcp --dport -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport -j REJECT
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.127.0/ anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
REJECT tcp -- anywhere anywhere tcp dpt:domain reject-with icmp-port-unreachable
- 下载bind
bind,该包为DNS服务的主程序包
bind-utils,该报为客户端工具,默认安装,用于搜索域名指令
[root@localhost ~]# yum install bind bind-utils -y
- 配置DNS主配置文件
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port { any; }; #127.0.0.1改成any;表示服务器上的所有IP地址均可提供DNS域名解析服务
listen-on-v6 port { ::; };
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; }; #把localhost改为any;表示允许所有人对本服务器发送DNS查询请求
- 修改区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "crucis.top" IN {
type master;
file "named.localhost";
allow-update { none; };
}; zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
- 定义自己的域文件
可以从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和和ip地址的对应数据填写数据配置文件中并保存。再复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容
[root@localhost ~]# cd /var/named
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp named.localhost crucis.top.zone -a
- 配置自己的域文件
[root@localhost named]# vim crucis.top.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.127.140
lc IN A 192.168.127.140
whq IN A 192.168.127.140
~
- 重启服务
[root@localhost named]# systemctl restart named
- 使用自己配置的DNS服务器
- 重启网卡
[root@localhost network-scripts]# systemctl restart network
- 验证
[root@localhost ~]# nslookup
> www.crucis.top
Server: 192.168.127.140
Address: 192.168.127.140# ** server can't find www.crucis.top: NXDOMAIN
DNS域名解析系统_2的更多相关文章
- DNS域名解析系统_1
DNS服务概述: DNS的模式为C/S模式 DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与ip地址的解析服务. DNS是一个分布式数据库, ...
- DNS域名解析系统
1.DNS的组成 DNS系统是为解析域名为IP地址而存在的,它是由域名空间.资源记录.名称服务器和解析器组成. 域名空间是包含一个树状结构,用于存储资源记录的空间. 资源记录是与域名相关的数据,如IP ...
- 详解DNS域名解析系统(域名、域名服务器[根、顶级、授权/权限、本地]、域名解析过程[递归与迭代])
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105583806 学习课程:<2019王道考研计算机网络> 学习目的 ...
- TCP/IP之DNS域名解析系统
DNS系统是一个分布式的数据库,当一个数据库发现自己并没有某查询所需要的数据的时候,它将把查询转发出去,而转发的目的地通常是根服务器,根服 务器从上至下层层转发查询,直到找到目标为止.DNS还有一个特 ...
- window下域名解析系统DNS诊断命令nslookup详解
Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询A记录和CNAME(别名)记录,还会返回域名是否存在,其他的信息都是没有的.如果你需要对 ...
- 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题和DNS域名解析问题(图文详解)
不多说,直接上干货! 问题情况描述如下: 普及知识: /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf. Ubun ...
- 域名解析系统DNS诊断命令nslookup详解【转】
转自:http://www.renhaibo.com/archives/29.html Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询 ...
- DNS域名解析过程
图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...
- DNS域名解析服务器
域名解析服务器,靠它把你要访问的网址找到然后把信息送到你电脑上.DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的.域名服务器是指保存有该网络中所有主 ...
随机推荐
- Debian常见命令总结
dpkg学习: (1)dpkg是一个较底层的安装工具,处理.deb文件,软件包依赖性需要更高层的前端工具是apt: dpkg本身是不能解决依赖的. dpkg是dpkg-deb的前端,如果d ...
- springmvc处理一个请求的全流程
首先,用户的浏览器发出了一个请求,这个请求经过互联网到达了我们的服务器. Servlet 容器首先接待了这个请求,并将该请求委托给 DispatcherServlet 进行处理. 接着 Dispatc ...
- codeblock的一个小问题
也许不叫问题吧,也可能是编译器的特性. 我的codeblock选择的编译器: 编写.cpp文件时,floatl类型输入输出都是 %f,double类型输入只能是 %lf,输出只能是 %f. 但是在co ...
- 洛谷P1140 相似基因【线性dp】
题目:https://www.luogu.org/problemnew/show/P1140 题意: 给定两串基因串(只包含ATCG),在其中插入任意个‘-’使得他们匹配.(所以一共是5种字符) 这5 ...
- Java中的集合HashSet、LinkedHashSet、TreeSet和EnumSet(二)
Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合于Collection基本上完全一样,它没有提供任何额外的方法. Se ...
- PHP mysqli_num_fields() 函数
mysqli_num_fields() 函数返回结果集中字段(列)的数量. 语法 mysqli_num_fields(result); 参数 描述 result 必需.规定由 mysqli_query ...
- CentOS7从一般用户切换到root用户
可以使用如下命令从普通用户切换到root用户: su root 键入回车后,系统提示输入密码(此密码即你平时使用的那个用户的密码.关于这一点我还没有确定是否所有用户都可以切换到root用户身份).验证 ...
- 秒懂数据类型的真谛—Python基础前传(4)
一切编程语言都是人设计的,既然是人设计的,那么设计各种功能的时候就一定会有它的道理,那么设计数据类型的用意是什么呢? (一) 基本数据类型 基本数据类型: 数字 int 字符串 str 布尔值 boo ...
- 什么是挂载?mount的用处在哪?
关于挂载的作用一直不是很清楚,今天在阅读教材时看见了mount这个命令,发现它的用处很隐晦但非常强大.奈何教材说的不明朗,因此在网上整合了一些优秀的解释,看完之后豁然开朗. 1.提一句Windows下 ...
- 引发了未经处理的异常:读取访问权限冲突。 _First 是 nullptr。
1.问题:程序崩溃出现错误 引发了未经处理的异常:读取访问权限冲突. _First 是 nullptr. string strreponse=0: 定义这条语句,字符串初始化错误. 自己开发了一个股票 ...