免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4941 | 回复: 9
打印 上一主题 下一主题

[DNS] 用实验快速掌握DNS配置 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-11-22 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-29 18:09 |只看该作者 |倒序浏览
用实验快速掌握DNS配置

由于配置DNS很重要,本文主要以做实验来快速掌握DNS配置.
[实验目的]
1.配置一个只可转发请求的DNS.
2.配置一个masterDNS.
3.配置一个slaveDNS.
[实验环境]
1.两台互连的计算机.
2.系统Redhat 8.0.
[实验步骤]
一.实验准备.
1.两台机关掉iptables
# service iptables stop
# chkconfig iptables off
2.两台机检查安装必要软件
# rpm -q bind
# rpm -q bind-utils
# rpm -q caching-nameserver
根据结果,安装没安装的软件,从安装盘里找出没安装的包,有选择的执行下列步骤:
# rpm -Uvh bind-9*
# rpm -Uvh bind-utils*
# rpm -Uvh caching-nameserver*
3.互连两台机.
①编辑两台机的相应文件.(编辑最好用vi,以下也是)
机器1:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
onBOOT=yes
IPADDR=192.168.0.254
NETMASK=255.255.255.0
/etc/hosts
127.0.0.1 localhost localhost.localdomain
/etc/resolv.conf
nameserver 192.168.0.254
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=server1

机器2:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
onBOOT=yes
IPADDR=192.168.0.1
NETMASK=255.255.255.0
/etc/hosts
127.0.0.1 localhost localhost.localdomain
/etc/resolv.conf
nameserver 192.168.0.1
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=station1
②分别在两台机上运行:
机器1:
# ifdown eth0
# ifup eth0
# ping 192.168.0.1
机器2:
# ifdown eth0
# ifup eth0
# ping 192.168.0.254
主意:两台机能互相ping通,继续下列实验,不通,再找找原因.
二.机器1上配置一个masterDNS.
机器1上:
1.编辑/etc/named.conf文件:
/etc/named.conf
options {
directory “/var/named/”;
};

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 “example1.com” IN {
type master;
file “db.example1”;
};

zone “0.168.192.in-addr.arpa” IN {
type master;
file “db.192.168.0”;
};
----------------------------------------------------------------------
解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.
上述文件有六部分ption ,5个zone.
其中option,”.”,”localhost”,”0.0.127.in-addr.arpa”原来就有.
“example1.com”,“0.168.192.in-addr.arpa”为现在子网的正向和反向搜索区的
定义,“db.example1”,”db.192.168.0”的名字是随便取的,它们必需在/var/named/下
存在.
主义{}前后及中间的空格,及分号.
-----------------------------------------------------------------------
2.用vi创建两个文件,/var/named/db.example1,/var/named/db.192.168.0
/var/named/db.example1
$TTL 86400
@ IN SOA server1.example1.com. Root.server1.example1.com. (
2003070401 1H 1M 1W 1D )
IN NS server1.example1.com.
IN A 192.168.0.254
server1 IN A 192.168.0.254
station1 IN A 192.168.0.1
www IN A 192.168.0.254
ftp IN A 192.168.0.254
pop IN A 192.168.0.254
www1 IN CNAME server1.example1.com.
ftp1 IN CNAME server1.example1.com.
@ IN MX 10 server1.example1.com.
server1.example1.com IN MX 10 server1.example1.com.
----------------------------------------------------------------------
解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.
上述文件是一个正向搜索的数据库:
$TTL 86400 是文件开头,数字表示默认存活期,用秒计算的,做什么不用不要管它,
记着添上就行.

接着的格式就是:[domain] [class] <type>; <rdata>;

[domain]如: server1.example1.com ,www.
Www是简写,实际会默认添上定义这个文件的那个 zone “example1.com”里的
example1.com,即:www=www.example1.com.这个段可以升略不写,默认跟前一行的
[domain]相同.@表示”example1.com”.

[class]一般为internet类,即:IN ,可以省去不写.

<type>; 分别有SOA,NS,A,MX,CNAME,及反向数据库里的PTR.
SOA=start of authority 必要的
NS=nameserver 必要的
A=域名和ip地址的映射. 必要的
MX=mail exchange. 可选的
CNAME=域名的一个假名 可选的
PTR=用在反向:ip地址和域名的影射. 必要的

假名不可以放在NS MX 的<rdata>;字段.

SOA 括弧中的5个数字:
对应为( serial refresh retry expire Minimum )
serial 可以是任何数字,一般:年月日修改数.
refresh 是SOA信息的刷新时间.
Retry是与授权服务器联系的频率.
Expire slave服务器保存有关的区域信息,不更新它的时间间隔.
Minimum 区域中记录的存活时间.

H=hour D=day M=minute W=week

SOA 后的server1.example1.com.表示这个区域授权给哪台机.
root.server1.example1.com.表示管理人.用.代替@

完整域名后一定要加.号,否则会自动为你加”example1.com”.

以上如果你不懂,不用急,以后慢慢想清楚.
-----------------------------------------------------------------------

/var/named/db.192.168.0
$TTL 86400
@ IN SOA server1.example1.com. root.server1.example1.com. (
2003070401 1H 1M 1W 1D )
IN NS server1.example1.com.
254.0.168.192.in-addr.arpa IN PTR server1.example1.com.
1.0.168.192.in-addr.arpa IN PTR station1.example1.com.
----------------------------------------------------------------------
解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.
此文件是反向搜索的数据库.
主意IP反着写.
其它的不用解释.
-----------------------------------------------------------------------
3.检验:
# cat >;>; /var/log/messages
******
******
[ctrl]+d
# service named restart
# host server1.example1.com
# host station1.example1.com
# host www.example1.com
# host www1.example1.com
# host 192.168.0.254

看看是否可以解析,如:server1.example1.com 对应的IP为192.168.0.254,
192.168.0.254对应域名为server1.example1.com.如果不能解析,说明,配置有问题,
可以到日志/var/log/messages里查看.具体位置在文件末尾的两行*******后,和调试
程序一样,甚至他会告诉你哪个文件,哪行错了.修改后,重新执行:
# cat >;>; /var/log/messages
******
******
[ctrl]+d
# service named restart
# host server1.example1.com
# host station1.example1.com
# host www.example1.com
# host www1.example1.com
# host 192.168.0.254
直到无错,且能够正确解析.

三.机器2上配置一个只负责转发请求域名解析的DNS
机器2上:
1.编辑/etc/named.conf
/etc/named.conf
options {
directory “/var/named/”;
forwarders { 192.168.0.254; };
};
........
------------------------------------------------------------
解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.
forwarders { 192.168.0.254; }表示,如果此DNS不能解析出IP,则交给
192.168.0.254这个DNS,其实在配置masterDNS时,也可以在option里加一个forwarders
具体IP就是你平时上网用的DNS.如果有两个或多个也可以这样写:
{ 210.35.92.77.45; 210.35.77.46; } 或者 { 210.35.92/24; 192.168.0.254 ;}
.....表示其它的东西,不要动.
---------------------------------------------------------------------
2.检验:
# cat >;>; /var/log/messages
******
******
[ctrl]+d
# service named restart
# host server1.example1.com
# host station1.example1.com
# host www.example1.com
# host www1.example1.com
# host 192.168.0.254

看看是否可以解析,如:server1.example1.com 对应的IP为192.168.0.254,
192.168.0.254对应域名为server1.example1.com.
这个配置比较简单,一般不会有笔误,如果错误,排除bug的方法同检查masterDNS
一样,看日志.

三.机器2上配置一个slaveDNS
机器2上:
1.编辑/etc/named.conf
/etc/named.conf
options {
directory “/var/named/”;
};

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 “example1.com” IN {
type slave;
masters { 192.168.0.254; };
file “db.example1-slave”;
};

zone “0.168.192.in-addr.arpa” IN {
type slave;
masters { 192.168.0.254; };
file “db.192.168.0-slave”;
};
------------------------------------------------------------
解释上述文件,如果你对上述文件比较熟悉,可以跳过此段.
与masterDNS,不同的是:type slave; masters { 192.168.0.254; };
slaveDNS的效果就是定期的向masterDNS复制一份数据库.
一个网络一般只能有一个masterDNS,多个slaveDNS,slaveDNS用来使DNS的
访问负载均衡.减轻masterDNS的负担.
此时,删掉上面配置forward 的那句:forwarders { 192.168.0.254; };
加着也没错,只不过,容易判断是否是slaveDNS在起作用。
------------------------------------------------------------
2.检验:
# cat >;>; /var/log/messages
******
******
[ctrl]+d
# service named restart
# host server1.example1.com
# host station1.example1.com
# host www.example1.com
# host www1.example1.com
# host 192.168.0.254

看看是否可以解析,如:# host server1.example1.com 显示:
www.example1.com has address 192.168.0.254
# host 192.168.0.254 显示:
254.0.168.192.in-addr.arpa domain name pointer server1.example1.com.
0.168.192.in-addr.arpa.

且查看在/var/named/下是否生成: db.example1-slave , db.192.168.0-slave
两个文件.
如果,没有生成这两个文件,说明配置有文体。具体检查日志/var/log/messages
排除错误。直到无错,且自动生成两个文件,且能正确解析。
另外,一定注意,机器1和机器2的iptables保持关掉。
[实验总结]
本文只是为了让你快速入门,且告诉你一个简单的手动配置一个DNS的方法,具体的
原理讲的很少,如果想了解更多,请参考其他专业的文档。如果你即使在不熟的情况下,
做完此实验,且做的时候多想过一些问题,绝对有助于看其他文档。
[题外话]
至于让机器2作为一般的客户端,采用机器1的DNS,需要修改/etc/resolv.conf文件,
不属于DNS配置的范围。
至于如何让机器1连到Internet,更不是本文所讨论的范围。

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-12 10:39:39IT运维版块每日发帖之星
日期:2015-10-10 06:20:00
2 [报告]
发表于 2004-02-29 21:27 |只看该作者

用实验快速掌握DNS配置

不错

收藏..........

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-11-22 06:20:00
3 [报告]
发表于 2004-03-01 09:10 |只看该作者

用实验快速掌握DNS配置

还有更好的,就是没人来顶,,,呵榀,,,,,
http://bbs.chinaunix.net/forum/viewtopic.php?t=217167&highlight=jeffreyli

  
dlm 该用户已被删除
4 [报告]
发表于 2004-03-01 09:28 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2007-01-01 10:42 |只看该作者
TTTTTTT

论坛徽章:
0
6 [报告]
发表于 2007-02-11 14:41 |只看该作者
楼主,我想问一下这个反解文件:

/var/named/db.192.168.0
$TTL 86400
@ IN SOA server1.example1.com. root.server1.example1.com. (
2003070401 1H 1M 1W 1D )
IN NS server1.example1.com.
254.0.168.192.in-addr.arpa IN PTR server1.example1.com.
1.0.168.192.in-addr.arpa IN PTR station1.example1.com.

就是
254.0.168.192.in-addr.arpa IN PTR server1.example1.com.
1.0.168.192.in-addr.arpa IN PTR station1.example1.com.

in-addr.arpa后面是不是有个点.
只前我也是照网上说的配置一下,就是不能反解,后来在google上搜了一下,发现在in-addr.arpa后加点反解就可以.

论坛徽章:
0
7 [报告]
发表于 2007-02-11 15:24 |只看该作者
顶!顶!顶!顶!顶!

论坛徽章:
0
8 [报告]
发表于 2007-02-12 22:28 |只看该作者
8错 呀LZ:em11:

论坛徽章:
0
9 [报告]
发表于 2007-06-26 11:21 |只看该作者
帖子不错,看看,学习学习

论坛徽章:
0
10 [报告]
发表于 2007-09-09 17:24 |只看该作者
多谢,真是一句话点醒我梦中人
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP