世上无难事只怕有心人,遇事千万千万不要抵触,消极的情绪是失败之母,一点一滴,踏踏实实是通往幸福的捷径。
历经激动,受挫,抵触和鼓励以及征服,终于配好了让我欢喜让我忧的dns。在这里记录下来,希望能够给和我一样对dns配置陌生的朋友们做个参考,不足之处,请多指教!
一,DNS服务器是什么
计算机之间的连接只能通过ip地址,为什么我们可以通过输入不同的域名访问散落在世界各地的计算机呢?我们输入域名的时候,其实实质是指向了一个具体的ip,所以我们才可以通简单的、“顾名思义”的域名去访问散落在世界各地的主机。而帮我们实现这个从域名到ip转换的就是DNS服务器,
DNS是英文Domain Name System的缩写,翻译过来就是域名系统。域名我们比较熟悉,比如:www.baidu.com这种,域名系统主要由域名和域名对应的ip地址组成。我们访问一个域名其实是访问域名对应的ip地址,域名系统帮助我们将域名翻译成为ip地址。DNS服务器就是为我们提供域名解析服务的主机,一台域名服务器上会有一个或多个域名和ip一一对应的表,当它收到某个域名解析请求时,就通过一系列规则去搜索得到正确的ip,然后返回。
总结下一台DNS服务器的要素:
1.解析功能;
2.域名和ip地址一一对应的表;
二,DNS服务器怎么配置
(我的主机ip地址是:192.168.0.22,所以后面的配置以它为基础。)
第一部分,简单的说明了什么是DNS服务器,当一台主机满足了作为一台DNS服务器所必备的要素,那么它就可以充当一台DNS服务器。所以,我们可以从上面两个方面入手进行配置。
1.给主机安装DNS软件,使主机能够实现解析功能:
(1)输入命令:# yum install bind
然后等待complete。
(2)配置:
首先,配置/etc/named.conf
命令:# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
// options {
listen-on port 53 { any; }; //开启监听端口53,接受任意IP连接
listen-on-v6 port 53 { ::1; }; //支持IP V6
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 { 0.0.0.0/0; }; //允许任意IP查询
recursion yes; dnssec-enable yes; //这里是dns安全扩张相关的东西
dnssec-validation yes;
dnssec-lookaside auto; /* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic";
}; logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN {
type hint;
file "named.ca";
}; include "/etc/named.rfc1912.zones"; //主要配置文件,后面我们新添加的区域定义就是在这个文件里面。
include "/etc/named.root.key";
其次,配置区域文件/etc/named.rfc1912.zones
命令:# vi /etc/named.rfc1912.zones
在文件的最后添加以下内容:(当然这些内容也可以加在named.conf中,不过为了方便我们阅读,我们把自己配置的内容都放在这里)
zone "yourcontent.com" IN {
type master;
file "named.yourcontent.com
allow-update { none; };
};
zone "22.0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.22.arpa";
allow-update { none; };
};
2.配置域名和ip一一对应的“表“:
文件目录:/var/named/
正向:(文件与named.rfc1912.zones中填写的file对应)
named.yourcontent.com(这里的文件命名后缀不固定,可按照自己习惯阅读的方式,如named.yourcontent.conf也可以,只是记得和前面named.rfc1912.zones文件中的对应域名的file字段配置一致)
$TTL 1D
@ IN SOA yourcontent.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
admin IN A 192.168.0.22
adminapi IN A 192.168.0.22
反向:(文件与named.rfc1912.zones中填写的file对应)
192.168.0.22.arpa(这里的文件命名后缀不固定,可按照自己习惯阅读的方式,如named.yourcontent.conf也可以,只是记得和前面named.rfc1912.zones文件中的对应域名的file字段配置一致)
$TTL 1D
@ IN SOA yourcontent.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
AAAA ::1
50 PTR admin.jwtweb.com.
51 PTR adminapi.jwtweb.com.
3.启动域名服务:
命令:# service named start
三,DNS服务器的测试
我们配置的是一台dns服务器,那么测试就是把某个终端的dns服务器设为我们自己配置的服务器,来看看它是否能够进行我们配置好的域名和ip之间的解析。所,我们的测试分为两个部分,第一,给终端配置dns服务器;第二步,访问某个我们已经配置好的域名,看是否能够得到正确的响应。
1.配置终端的dns服务器(以win10为例,其他的大同小异):
单击电脑右下角网络连接图标,在弹出的窗口中选择自己当前连接的网络左下角的属性按钮,单击:
2.访问我们配置好的域名:
在浏览器输入我们配置的域名:admin.yourcontent.com
如果配置正确,则可以看到我们所配置的域名对应的站点。