- 论坛徽章:
- 0
|
DNS
域名服务器:做域名解析
正向解析:把域名解析成ip
反向解析:把ip地址解析成域名
递归查询:把解析结果直接告诉客户端
迭代查询:把解析转接给其他服务器
DNS解析过程:
客户端-->www.baidu.com
客户端要有自己的Ip地址
客户端需要指定自己的dns服务器是谁
在找DNS服务器解析之前,先去查看一下/etc/hosts,如果这里找不到解析,那么就去找指定的DNS服务器,这些DNS服务器全部都是缓存DNS服务器,当这些缓存dns服务器都没有解析的时候,去访问根DNS服务器,根DNS服务器不知道WWW,但是他知道.com,.com知道baidu,baidu知道www在哪。
FQDN 完全合格的域名 完整域名
www.baidu.com.
安装软件:
bind dns主包
bind-utils 客户端查询工具
bind-chroot 提供一个安全环境
caching-nameserver 提供模板文件
服务启动:
#/etc/init.d/named start
主配置文件:
#vim /var/named/chroot/etc/named.conf(没有需自己写)
# vim named.conf
1 options {
2 directory "/var/named";
3 };
4
5 zone "56.com" IN {
6 type master;
7 file "56.com.zone";
8 };
#chown .named named.conf(修改所属组)
区域配置文件位置:
#cd /var/named/chroot/var/named/
#vim 56.com.zone
1 $TTL 86400
2 @ IN SOA dns.56.com. root.56.com (
3 130830;序列号
4 3H;多长时间更新一次
5 15M;15分钟尝试更新
6 1W;一周之内还可以继续给客户端提供解析服务
7 1D)
8 IN NS dns.56.com.
9 dns.56.com. IN A 192.168.38.56
10
11 www.56.com. IN A 192.168.38.87
12 ftp.56.com. IN A 192.168.38.88
13 mail.56.com. IN A 192.168.38.89
SOA 起始授权记录
NS记录 指定管理这个域的主机是谁
A记录 正向解析
重启服务:
#/etc/init.d/named restart
客户端:
指定dns服务器是谁?
#vim /etc/resolve.conf
nameserver 192.168.38.56
测试:
# host -t A www.56.com
www.56.com has address 192.168.38.87
PTR:反向解析
在主配置文件添加
zone "38.168.192.in-addr.arpa" IN {
type master;
file "38.168.192.arpa.zone";
};
注:引号内的数字为本机ip网络号反写。
创建区配置文件
#cd /var/named/chroot/var/named/
#vim 56.arpa.zone
1 $TTL 86400
2 @ IN SOA dns.56.com. root.56.com (
3 130830;序列号
4 3H;多长时间更新一次
5 15M;15分钟尝试更新
6 1W;一周之内还可以继续给客户端提供解析服务
7 1D)
8 IN NS dns.56.com.
9 129 IN PTR ftp.56.com.
10 88 IN PTR mail.56.com.
注:PTR中数字为本机ip的主机号.
泛域名
* IN A 192.168.38.87
CNAME(别名)
ftp IN CNAME dns.56.com.
www IN CNAME dns.56.com.
mail IN CNAME dns.56.com.
负载均衡
wenku.56.com. IN A 192.168.38.100
wenku.56.com. IN A 192.168.38.70
MX记录(邮件交换)指定某个域的邮件服务器是谁.
56.com. IN MX 10 mail.56.com.
56.com. IN MX 11 mail1.56.com.
@ IN MX 10 mail.56.com.
@ IN MX 11 mail1.56.com.
注:MX中的(10,11)为优先级。
主从DNS
主DNS的主配置文件
#vim /var/named/chroot/etc/named.conf(没有需自己写)
# vim named.conf
options {
directory "/var/named";
下面3行用于设置DNS转发;
//recursion yes; //允许递归查询,转发服务器的查询模式必须允许递归查询,否则无法正确完成转发
//forward first;
//forwarders {192.168.1.110;192.168.1.112;};
//forward指令用于设置DNS转发的工作方式:
//forward first设置优先使用forwarders DNS服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析。
//forward only设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败(又称只缓存dns服务器)。
//forwarders指令用于设置将DNS请求转发到哪个服务器,可以指定多个服务器的IP地址。
};
zone "56.com" IN {
type master;
file "56.com.zone";
//配置从dns的时候需要加上下面两行
notify yes;
allow-transfer{192.168.1.102;}; //指定从dns服务器ip地址
};
zone "38.168.192.in-addr.arpa" IN {
type master;
file "38.168.192.arpa.zone";
//配置从dns的时候需要加上下面两行
notify yes;
allow-transfer{192.168.1.102;}; //指定从dns服务器ip地址
};
主配置文件的区配置文件
正向解析
#vim 56.com.zone
$TTL 86400
@ IN SOA dns.56.com. root.56.com (
130830;序列号
3H;多长时间更新一次
15M;15分钟尝试更新
1W;一周之内还可以继续给客户端提供解析服务
1D)
IN NS dns.56.com.
dns.56.com. IN A 192.168.38.56
www.56.com. IN A 192.168.38.87
反向解析
#vim 38.168.192.arpa.zone
$TTL 86400
@ IN SOA dns.56.com. root.56.com (
130830;序列号
3H;多长时间更新一次
15M;15分钟尝试更新
1W;一周之内还可以继续给客户端提供解析服务
1D)
IN NS dns.56.com.
121 IN A mail.56.com.
122 IN A ftp.56.com.
从DNS的主配置文件(从DNS不需要区配置文件)
options {
directory "/var/named";
只缓存dns只需配置下面两行即可
//forward only;
//forwarders { 192.168.1.100;202.106.0.20; }; //这里指定主从或者其它备用dns的地址} ;
zone "wing.com" {
type slave;
file "slave.wing.com.zone";
masters {192.168.1.100;};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "1.168.192.arpa";
masters {192.168.1.100;};
};
智能DNS(DNS View):
网通和电信之间进行访问速度比较慢,现在架设服务器一般都是双线的,我们经过DNS的设置,让DNS自动识别客户端IP是网通的还是电信的,网通就访问网通的服务器电信就访问电信的服务器。 这里我们假设网通属于192.168.1.0/24这个网段,电信属于172.16.0.0/16这个网段的
首先定义访问控制。
acl telecom { 172.16.0.0/24; };
acl unicom { 192.168.0.0/24; };
接下来针对两种不同的客户IP范围定义两个DNS视图
view TELNET {
match-clients { telecom; };
match-destinations { any; };
recursion no;
include "/etc/named.telecom.zones";
};
view UNINET {
match-clients { unicom; };
match-destinations { any; };
recursion no;
include "/etc/named.unicom.zones";
};
这里假设我的DNS域为wing.com,以下配置文件分别为:
vi named.telecom.zones(此文件由named.rfc1912.zones复制而来,以下是在原文件基础之上添加,)
zone "test.com" IN {
type master;
file "wing.com.zone.tele";
allow-update { none; };
};
zone "0.16.172.in-addr.arpa" IN {
type master;
file "172.16.0.rev";
allow-update { none; };
};
vi named.unicom.zones(此文件同上,如果手动新建务必保证文件中有根域以及localhost域)
zone "wing.com" IN {
type master;
file "wing.com.zone.uni";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.rev";
allow-update { none; };
};
到此DNS就说完了,谢谢 |
|