本文共 4135 字,大约阅读时间需要 13 分钟。
一. DNS原理
DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制。其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP。全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器。使用A记录和CNAME进行域名解析的区别A记录就是把一个域名解析到一个IP地址(Address,特制数字IP地址),而CNAME记录就是把域名解析到另外一个域名。其功能是差不多,CNAME将几个主机名指向一个别名,其实跟指向IP地址是一样的,因为这个别名也要做一个A记录的。但是使用CNAME记录可以很方便地变更IP地址。如果一台服务器有100个网站,他们都做了别名,该台服务器变更IP时,只需要变更别名的A记录就可以了。
二. 使用bind搭建DNS服务器
/etc/named.conf
any:可以由任何ip监听53端口 allow-query:当写本机时 2、配置文件 定义了本机正向、反向解析;新增fengche.com的域名验证 以下两项必须得添加,才能转发出去(访问外网) forward first; forwarders { 202.96.128.86;202.96.134.33; }; any:任何主机都可以访问
vim /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; }; 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; }; recursion yes; forward first; forwarders { 202.96.128.86;202.96.134.33; };dnssec-enable yes;dnssec-validation yes;/* 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"; };zone "localhost" IN {
type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; };zone "fengche.com" IN {
type master; file "fengche.com.zone"; }; zone "3.168.192.in-addr.arpa" IN { type master; file "192.168.zone"; };#include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key";3、正向解析本地主机的配置文件
[root@dns-server named]# vi localhost.zone@ IN SOA localhost. admin.localhost. (
2017120110 ;serial #序列号 1H ;refresh #服务器更新时间 10M ;retry #重新更新时间 7D ;expire #失效时间 1D ;minmun #缓存时间 ) @ IN NS localhost. localhost. IN A 127.0.0.14、反向解析本地主机的配置文件
[root@dns-server named]# vi named.local$TTL 86400
@ IN SOA localhost. admin.localhost. ( 2017120110 1H 10M 7D 1D ) @ IN NS localhost. 1 IN PTR localhost5、正向解析fengche.com的配置文件
[root@dns-server named]# vi /var/named/fengche.com.zone$TTL 86400
@ IN SOA fengche.com. admin.fengche.com. ( 2017120110 1D 1H 1W 3H ) @ IN NS ns.fengche.com. ;域名解析记录 ns IN A 192.168.3.180 www IN A 192.168.3.83 ;主机记录 mail IN A 192.168.3.90 test IN CNAME mail.fengche.com ;别名记录 ts IN CNAME mail.fengche.com6、反向解析192.168.3.X的ip地址
[root@dns-server named]# vim /var/named/192.168.zone$TTL 600
@ IN SOA ns.fengche.com. admin.fengche.com. ( 2017120110 1H 10M 7D 1D ) @ IN NS ns.fengche.com. 10 IN PTR ns.fengche.com. 11 IN PTR mail.fengche.com. 73 IN PTR www.fengche.com.7、更改权限
chown named /etc/named.conf8、生成named.ca文件
cd /var/named/ dig -t NS . > named.ca三、验证配置文件
检测配置是否有问题: named-checkconf 检测正解析: named-checkzone "localhost" /var/named/localhost.zone named-checkzone "fengche.com" /var/named/fengche.com.zone 检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local named-checkzone "3.168.192.in-addr.arpa" /var/named/192.168.zone rndc-confgen -r /dev/urandom -a #这一步是生成 rndc.key, 如果没有这个key namd 是启动不了的。 chown named:named /etc/rndc.key四、启动
/etc/init.d/named start netstat -lnp |grep named // 查看一下named进程是否监听了53端口五、验证
测试正向解析: dig @127.0.0.1 localhost. dig @127.0.0.1 www.fengche.com测试反向解析:
dig @127.0.0.1 -x 127.0.0.1 dig @127.0.0.1 -x 192.168.3.73 #查看是否是配置文件中定义的www.fengche.com测试别名:
dig test.fengche.com #查看是否是mail.fengche.com在linux服务器上验证:
设置dns服务器为192.168.3.180 [root@centos7 ~]# vi /etc/resolv.conf nameserver 192.168.3.180验证通过:
[root@centos7 ~]# nslookupwww.fengche.com
Server: 192.168.3.180 Address: 192.168.3.180#53
Name: www.fengche.com
Address: 192.168.3.83mail.fengche.com
Server: 192.168.3.180 Address: 192.168.3.180#53
Name: mail.fengche.com
Address: 192.168.3.90本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2046400 ,如需转载请自行联系原作者