linux下DNS配置详解(自己编辑的)
linux 下DNS 配置详解2011-04-17 13:05:49| 分类: 标签:|字号大中小 订阅原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究
linux 下DNS 配置详解
2011-04-17 13:05:49| 分类: 标签:|字号大中小 订阅
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信
息和本声明。否则将追究法律责任。
linux 下DNS 配置详解
DNS (Domain Name Server) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。在Internet 上域名与IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP 地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP 地址,这样才能上网。
其实,域名的最终指向是IP 。
需要了解的几个概念,正向区域( A 记录 NS 记录 SOA 记录,)反向区域,
以及(PTR 记录)
主要有这么几个步骤,配ip 与dns ,安装dns 包,修改配置文件,以及区域数
据文件,验证配置是否成功
需要注意的几个配置文件
ip 地址的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
dns 的配置文件 /etc/resolv.conf
/etc/named.conf
根域文件 /var/named/named.ca
正向区域文件 /var/named/localhost,zone
反向区域文件 /var/named/named.local
实验环境:VMware6.5.2 redhat Enterprise 5 有图形界面
首先 ,配ip
[root@localhost ~]# setup
,
选择网络配置回车

eth0 为第一块网卡 回车
,
按tab 键移动 按空格选择不启用DHCP 之后tab 到 ok 上保存回车

tab 到 退出 回车
,
退出
[root@localhost ~]# service network restart

[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:9F:41:CD
inet addr:192.168.11.10 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe9f:41cd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:97 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5261 (5.1 KiB) TX bytes:19310 (18.8 KiB)
Interrupt:67 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1561 errors:0 dropped:0 overruns:0 frame:0
TX packets:1561 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2098017 (2.0 MiB) TX bytes:2098017 (2.0 MiB)
[root@localhost ~]#
,这时你可以 ifconfig 查看一下ip 地址
配置DNS
[root@localhost ~]# vi /etc/resolv.conf
填写内容如下
name server 172.16.1.2
之后保存退出
下一步 安装DNSrpm 包
挂上镜像,
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
cdrom hgfs
[root@localhost mnt]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost mnt]# cd /mnt/cdrom
[root@localhost cdrom]# cd Server
[root@localhost Server]#
我们需要安装几个
[root@localhost Server]# rpm -ivh bind-
bind-9.3.3-10.el5.i386.rpm
bind-chroot-9.3.3-10.el5.i386.rpm
bind-devel-9.3.3-10.el5.i386.rpm
bind-libbind-devel-9.3.3-10.el5.i386.rpm
bind-libs-9.3.3-10.el5.i386.rpm
bind-sdb-9.3.3-10.el5.i386.rpm
bind-utils-9.3.3-10.el5.i386.rpm
先装第一个
插一句BIND (Berkeley Internet Name Domain)我们要安装的DNS 只是BIND
里的一个服务项
[root@localhost Server]# rpm -ivh bind-9.3.3-10.el5.i386.rpm
warning: bind-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key
ID 37017186
Preparing... ########################################### [100] 1:bind ########################################### [100]
[root@localhost Server]#
还有 先装主包 后装从包
[root@localhost Server]# rpm -ivh bind-utils-9.3.3-10.el5.i386.rpm
warning: bind-utils-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY,
key ID 37017186
Preparing... ########################################### [100]
package bind-utils-9.3.3-10.el5 is already installed
[root@localhost Server]#
出现警告
[root@localhost Server]# rpm -e bind-utils
[root@localhost Server]# rpm -ivh bind-utils-9.3.3-10.el5.i386.rpm
,warning: bind-utils-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY,
key ID 37017186
Preparing... ########################################### [100] 1:bind-utils ########################################### [100]
[root@localhost Server]#
我删掉再来一遍 ,好这下行了
还要装一个
[root@localhost Server]# rpm -ivh caching-nameserver-9.3.3-10.el5.i386.rpm
warning: caching-nameserver-9.3.3-10.el5.i386.rpm: Header V3 DSA
signature: NOKEY, key ID 37017186
Preparing... ########################################### [100] 1:caching-nameserver ###########################################
[100]
[root@localhost Server]#
下一步,编辑 DNS 主配置文件
在linux2.6 内核中的/etc/named.caching-nameserver.conf的这个文件写的并不要好所以不建议使用,下面这个事从2.4内核中拷过来的,我们只需稍作修改
即可
这里的//以后和/* */之间的内容为解释,或者说是注释
使用如下命令进入主配置文件模块:#vi /etc/named.conf
// generated by named-bootconf.pl
options {
directory "/var/named"; 指明当前主目录
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN { .就是根
type hint; 区域类型
file "named.ca";
,};
zone "localhost" IN { 正向区域
type master; 类型
file "localhost.zone"; 默认文件
allow-update { none; }; 不允许动态更新
};
zone "0.0.127.in-addr.arpa" IN { 反向查找区域
type master; 反向类型
file "named.local"; 解析位置
allow-update { none; }; 不允许动态更新
};
include "/etc/rndc.key";
修改如下
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "abc1.com" IN {
type master;
file "abc1.zone" ;
allow-update { none; };
};
zone "1.16.172.in-addr.arpa" IN {
,type master;
file "abc1.local" ;
allow-update { none; };
};
include "/etc/rndc.key";
ok 下一步编辑正向区域和反向区域文件
[root@localhost ~]# cd /var/named
ls [root@localhost named]#
chroot localdomain.zone named.broadcast named.ip6.local named.zero
data localhost.zone named.ca named.local slaves
[root@localhost named]# cp named.local abc1.zone
[root@localhost named]# cp named.local abc1.local
vi abc1.zone [root@localhost named]# cd 到/var/named 目录下这里呢我是用的原来的反向区域文件,复制成现在要用的正向和反向区域,之后我们要做的是修改这两个文件 [root@localhost named]#
原来的内容是这样的
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial 配置文件的修改版本
28800 ; Refresh 刷新频率
14400 ; Retry 重试时间
3600000 ; Expire 过期时间
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
,
有点类似windows 下的DNS
修改后如下
$TTL 86400
@ IN SOA abc1.com . root.abc1.com . (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS abc.com.
www IN A 192.168.11.10
保存退出,之后[root@localhost named]# vi abc1.local修改反向区域
数据文件
$TTL 86400
@ IN SOA abc1.com. root.abc1.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS abc.com.
,10 IN PTR [url]www.abc.com.[/url]
现在
[root@localhost named]# ll
总计 96
-rw-r----- 1 root root 427 04-24 03:49 abc.local
-rw-r----- 1 root root 413 04-24 03:46 abc.zone
drwxr-x--- 5 root named 4096 04-24 01:57 chroot
drwxrwx--- 2 named named 4096 2007-07-19 data
-rw-r----- 1 root named 198 2007-07-19 localdomain.zone
-rw-r----- 1 root named 195 2007-07-19 localhost.zone
-rw-r----- 1 root named 427 2007-07-19 named.broadcast
-rw-r----- 1 root named 2518 2007-07-19 named.ca
-rw-r----- 1 root named 424 2007-07-19 named.ip6.local
-rw-r----- 1 root named 426 2007-07-19 named.local
-rw-r----- 1 root named 427 2007-07-19 named.zero
drwxrwx--- 2 named named 4096 2007-07-19 slaves
[root@localhost named]#
ll 一下发现 刚才建的 正向和反向的文件的属组都是root 而默认选项则是
named 我们要做的就是修改这两个的属性
[root@localhost named]# chgrp named abc1.local
[root@localhost named]# chgrp named abc1.zone
[root@localhost named]#
用命令:#vi /etc/resolv.conf
把此模板下的DNS 服务器的IP 改为自己主机下的IP 地址:
nameserver 172.16.1.2
下一步重启服务
[root@localhost named]# service named restart
停止 named : [失败]
启动 named : [确定]
[root@localhost named]#
说明一点 停止的时候失败是因为服务没有开启
下一步 测试网络
[root@localhost named]# nslookup [url]www.abc1.com[/url] Server: 172.16.1.2(这里显示的是本机DNS 地址、必须与主机的IP 一致)
Address: 172.16.1.2#53
Name: [url]www.abc.com[/url]
Address: 172.16.1.3
[root@localhost named]#