您的位置:首页 > 运维架构 > Linux

在linux下安装配置DNS服务器

2014-06-13 16:06 363 查看
详细步骤如下:

1. 在虚拟机上安装红帽6.5.

2. 所在网络:内部局域网192.168.0.0网段。

机器一作为服务器,IP:192.168.0.10, 主机名:Hostname: test.com ;

3. 网卡设置项: #cat /etc/sysconfig/network-scripts/ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=static

HWADDR=00:0c:29:66:26:67

ONBOOT=yes

NETMASK=255.255.255.0

IPADDR=192.168.0.10

TYPE=Ethernet

由上可以看出是使用的静态IP:192.168.0.10。上述几项含义如下:

》DEVICE=name ,其中,name是物理设备名。

》IPADDR=addr,其中,addr是IP地址。

》NETMASK=mask,其中,mask是网络掩码值。

》BROADCAST=addr,其中,addr是广播地址。

》GATEWAY=addr,其中addr是网关地址。

》ONBOOT=answer,其中,answer是yes(引导时激活设备)或no(引导时不激活设备)

》USERCTL=answer,其中,answer是yes(非root用户能控制该设备)或no

》BOOTPROTO=proto,其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议。

4. 设计:将此机器设置为DNS服务器,另一台在局域网的IP地址自由获得(或固定,如192.168.0.20 )的机器,能够通过此DNS服务器进行解析域名并能够转向到其他网址。

5. 安装Bind

1)方法一:使用yum 安装

# yum -y install bind*

# yum -y install caching-nameserver

2)方法二:使用光盘rpm包安装

1.挂载光盘

[root@localhostmnt]# mount /dev/cdrom /mnt

2.查看安装软件

[root@localhostmnt]# rpm -qa|grep bind*

bind-utils-9.3.4-10.P1.el5

ypbind-1.19-11.el5

bind-9.3.4-10.P1.el5

bind-chroot-9.3.4-10.P1.el5

binutils-2.17.50.0.6-9.el5

bind-libs-9.3.4-10.P1.el5

[root@localhostCentOS]# rpm -qa|grep caching*

package caching-nameserver-9.3.4-10.P1.el5.x86_64.rpm is not installed

[root@localhostCentOS]# rpm -ivh caching-nameserver-9.3.4-10.P1.el5.x86_64.rpm

warning: caching-nameserver-9.3.4-10.P1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing... ########################################### [100%]

1:caching-nameserver ########################################### [100%]

6. 主配置文件named.conf的配置。

首先要进入目录,由于安装了chroot包(主要功能就不多介绍),所以主配置文件named.conf在/var/named/chroot/etc/下进行配置。命令如下:

[root@killgoogle ~]# cd /var/named/chroot/etc/

由于安装了上面六个包后,这个目录下就默认会生成一个named.conf文件,但这个named.conf文件只是个解释文档,所以我们要通过以下命令来把named.conf文件的模板拷贝一份。命令如下:

[root@killgoogleetc]# cp -p named.caching-nameserver.confnamed.conf 现在就可以用named.conf文件进行配置了。命令如下:

[root@killgoogleetc]# vi named.conf //红色为改动部分

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"; query-source port 53;

query-source-v6 port 53;

allow-query { any; };

};

logging {

channeldefault_debug {

file "data/named.run";

severity dynamic;

};

};

viewlocalhost_resolver {

match-clients { any; };

match-destinations { any; };

recursion yes;

include "/etc/named.rfc1912.zones";

};

在此目录下还有一个文件要配置,命令如下:

[root@killgoogleetc]# vi named.rfc1912.zones

添加以下内容:

zone "." IN {

type hint;

file "named.ca";

};

zone "localdomain" IN {

type master;

file "localdomain.zone";

allow-update { none; };

};

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; };

};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

type master;

file "named.ip6.local";

allow-update { none; };

};

zone "255.in-addr.arpa" IN {

type master;

file "named.broadcast";

allow-update { none; };

};

zone "0.in-addr.arpa" IN {

type master;

file "named.zero";

allow-update { none; };

};

zone "test.com" IN { //定义一个正向域 test.com

type master;

file "test.com.zone"; //定义正向解析文件名test.com.zone allow-update { none; };

};

zone "0.168.192.in-addr.arpa" IN { //定义反向域

type master;

file "192.168.0.zone"; //定义反向解析文件名192.168.0.zone allow-update { none; };

};

7. 配置正、反解文件。

正反解文件都在相同目录下,由于安装了chroot包后,所以配置正反解文件要到/var/named/chroot/var/named/目录下,而且在此目录下也有正反解的模板文件。具体用到的命令如下:

[root@killgooglevar]# cd /var/named/chroot/var/named/

[root@killgooglevar]# cp -p localdomain.zonetest.com.zone

[root@killgooglevar]# cp -p named.local 192.168.0.zone

记得加参数P,不然很有可能启动不了named服务。现在就可以编辑正解(test.com.zone)、反解(192.168.0.zone)这两个文件了。

[root@killgooglevar]# vitest.com.zone

$TTL 86400

@ IN SOA localhost root (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS test.com

www IN A 192.168.0.10

上面这是最基本的正解文件的配置。

[root@killgooglevar]# vi 192.168.0.zone

$TTL 86400

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial //只是序号而已

28800 ; Refresh //slave的更新时间

14400 ; Retry //当slave更新失败,重新更新时间

3600000 ; Expire //重复多久后不再更新

86400 ) ; Minimum //可看作TTL,尤其沒有設定$TTL时

IN NS test.com.

10 IN PTR

说明:最后一句前面的那个10是指的主机IP:192.168.0.110的最后一个数。

注: 到此为止,DNS服务器的90%的工作基本结束,剩下的就是扫尾工作。

五、收尾工作。

1、首先是修改/etc/resolv.conf文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:

[root@killgooglevar]# vi /etc/resolv.conf

只要加上一句:nameserver 192.168.0.10就行了。

2、配置selinux。命令如下:

[root@killgooglevar]# setup

弹出一个对话框。我们要进行的是防火墙配置,步骤如下:

选择“Firewall Configuration”---按 “Tab”键切换到“Run Tool”—回车

—“Security Level”选项要在“Enabled”前面按一下“Tab”键---“SelLinux”选项要选“Disabled”—按一下“Tab”键---选中“Customize”---弹出新对话框---在“Other Port”栏目里输入“53:tcp 53:udp”—“OK”—返回上一个对话框—“OK”—对话框自动关闭。配置完成。

3、开启服务。命令如下:

[root@killgoogle ~]# service named start

4、测试。

测试的命令是nslookup,

[root@localhost named]# nslookup

Server: 192.168.0.10

Address: 192.168.0.10#53

Name:

Address: 192.168.0.10

5、设置named服务随机启动。

步骤如下:输入setup命令---选择“System Services”---按 “Tab”键切换到“Run Tool”—回车—新对话框中把光标下移到“named”前---用空格键使“named”选项前多出个“*”表示----按 “Tab”键切换到“OK”----按 “Tab”键切换到“Quit”

注:如果在正、反解文件中添加了记录后,别忘了用“service named restart”命令重启named服务,否则修改无法生效。

六、在另一台机器中设置如下:

IP地址,自由获得(或者设定为:IP:192.168.0.20;子网掩码:255.255.255.0;网关:192.168.1.1);

首选DNS:192.168.1.110
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: