- 论坛徽章:
- 0
|
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/nsmed/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 192.168.11.10 之后保存退出 下一步 安装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内核中拷过来的,我们只需稍作修改即可 这里的//以后和/* */之间的内容为解释,或者说是注释 // 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 "abc.com" IN { type master; file "abc.zone"; allow-update { none; }; }; zone "11.168.192.in-addr.arpa" IN { type master; file "abc.local"; allow-update { none; }; }; include "/etc/rndc.key"; ok 下一步编辑正向区域和反向区域文件 [root@localhost ~]# cd /var/named [root@localhost named]# ls chroot localdomain.zone named.broadcast named.ip6.local named.zero data localhost.zone named.ca named.local slaves [root@localhost named]# cp named.local abc.zone [root@localhost named]# cp named.local abc.local [root@localhost named]# cd到/var/named 目录下这里呢我是用的原来的反向区域文件,复制成现在要用的正向和反向区域,之后我们要做的是修改这两个文件 [root@localhost named]# vi abc.zone 原来的内容是这样的 $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 abc.com. root.abc.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 abc.local修改反向区域数据文件 $TTL 86400 @ IN SOA abc.com. root.abc.com. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS abc.com. 10 IN PTR
www.abc.com.
现在 [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 abc.local [root@localhost named]# chgrp named abc.zone [root@localhost named]# 下一步重启服务 [root@localhost named]# service named restart 停止 named: [失败] 启动 named: [确定] [root@localhost named]# 说明一点 停止的时候失败是因为服务没有开启 下一步 测试网络 [root@localhost named]# nslookup
www.abc.com
Server: 127.0.0.1 Address: 127.0.0.1#53 Name:
www.abc.com
Address: 192.168.11.10 [root@localhost named]# ok 正向解析成功 [root@localhost named]# nslookup 192.168.11.10 Server: 127.0.0.1 Address: 127.0.0.1#53 10.11.168.192.in-addr.arpa name =
www.abc.com.
You have new mail in /var/spool/mail/root [root@localhost named]# ok 反向解析成功 补充 这个实验由于要修改很多配置文件,所以要加倍小心,首先查看是不是自己的命令打错了,如果做完之后named 即dns服务不能启动,那多半是配置文件的问题,如果单纯是正向和反向解析不成功,那就是你的配置文件的问题,最后注意属组 此次试验尽量采用终端操作,对于图形界面为主的操作暂不涉及
http://yuzeying.blog.51cto.com/644976/153052
[/url]
本文来自ChinaUnix博客,如果查看原文请点:[url]http://blog.chinaunix.net/u3/93926/showart_1963755.html |
|