Chinaunix首页 | 论坛 | 博客
  • 博客访问: 208541
  • 博文数量: 57
  • 博客积分: 1694
  • 博客等级: 上尉
  • 技术积分: 481
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-26 16:26
文章分类

全部博文(57)

文章存档

2011年(2)

2010年(37)

2009年(18)

我的朋友

分类: LINUX

2010-01-13 22:03:29

Linux DNS服务器

                                                                                                          2010-1-13 刘宇

 

软件版本:

       bind-9.2.3.tar.gz

下载地址:

      

      

安装配置步骤:

1.下载、解压、安装

[root@localhost ~]# tar zxvf bind-9.2.3.tar.gz

[root@localhost ~]# cd bind-9.2.3

[root@localhost bind-9.2.3]# ./configure --prefix=/usr/local/bind --enable-threads

#--enable-threads 开启多线程处理能力

[root@localhost bind-9.2.3]# make

[root@localhost bind-9.2.3]# make install

2.配置

[root@localhost bind-9.2.3]# cd /usr/local/bind/

[root@localhost bind]# mkdir etc

[root@localhost bind]# sbin/rndc-confgen > etc/rndc.conf

#创建rndc.conf配置文件

[root@localhost etc]# tail -10 rndc.conf | head -9 | sed s/#\ //g >named.conf

#提取named.conf用的key 并且创建named.conf主配置文件

配置named.conf 文件

//设计主题主机规划!重点在directory

options {

        directory "/var/named";

// 正反解的文件的目录

        pid-file "named.pid";

//进程文件目录一般放在/var/run/named.pid

        Forwarders {

           218.56.57.58

           202.102.152.3

       }

//cache-only服务的转发服务器地址,(需要不需要看需求)

};

//首先定义 .(root) hint type 的文件属性

zone "." IN {

        type hint;

        file "named.ca";

};

//定义localhost 的正解 master type 的文件属性 ,就是127.0.0.1

zone "localhost" IN {

        type master;

        file "localhost.zone";

        allow-update { none; };

};

//定义localhost的反解 master type 的文件属性

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

        type master;

        file "named.local";

        allow-update { none; };

};

//自定义的 test.com 的正解 master type 的文件属性

zone "test.com" IN {

        type master;

        file "test.zone";

        allow-update { none; };

};

// 自定义的 test.com的反解 master type 的文件属性

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

        type master;

        file "test.local";

        allow-update { none; };

};

//rndc生成的安全密钥,(可以直接写在配置named.conf配置文件,或include "/usr/local/bind/etc/rndc.key"

key "rndc-key" {

        algorithm hmac-md5;

        secret "7NS5mnaHj0Q9h6mHokVqhw==";

};

 

controls {

        inet 127.0.0.1 port 953

                allow { 127.0.0.1; } keys { "rndc-key"; };

};

配置/var/named 下的正反解文件

[root@localhost etc]# cd /var/named

#Dig 命令直接生成named.ca文件

[root@localhost named]#/usr/local/bind/bin/dig >/var/named/named.ca

 

#建立localhost正解文件

[root@localhost named]# vi localhost.zone

@                   1D IN SOA       @ root (

                               42              ; serial (d. adams)

                               3H              ; refresh

                               15M             ; retry

                               1W              ; expiry

                               1D )            ; minimum

 

                        1D IN NS        @

                        1D IN A         127.0.0.1

 

#创建localhost的反解文件

[root@localhost named]# vi named.local

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

              IN      NS      localhost.

 

1       IN      PTR     localhost.

 

#创建 test.com的正解文件

 [root@localhost named]# vi test.zone

 

$TTL 86400      ; 1 day

test.com                IN SOA  test.com. root.test.com. (

                                1053891163 ; serial

                                10800      ; refresh (3 hours)

                                900        ; retry (15 minutes)

                                604800     ; expire (1 week)

                                86400      ; minimum (1 day)

                                )

                        NS      test.com.

                        MX      5 test.com.

 

www                     A       192.168.0.44

 

#创建 test.com 的反解文件

[root@localhost named]# vi test.local

 

$TTL 86400

@ IN SOA test.com. root.test.com.(

                                20031001;

                                7200;

                                3600;

                                43200;

                                86400);

        IN NS   test.com.

44      IN PTR  dns.test.com.

3.启动服务

[root@localhost named]# /usr/local/bind/sbin/named -c /usr/local/bind/etc/named.conf

#检测服务是否启动

[root@localhost named]# ps -ef | grep named #查看进程

[root@localhost named]# netstat –ntul  #查看监听端口

#最重要的事查看日志

[root@localhost named]# cat /var/log/messages | grep named

#查看日志,根据日志提示去除错误

#客户端测试可以使用 host nslookup dig whois 等命令

4.配置服务器端 ddns

#生成认证用的的key

[root@localhost etc]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST www

K

# -a [密码的演算方法]:这个参数后面可以接几种不同的密码算法方式

# -b [加密字节]:加密长度自己控制

# -n [拥有类型] HOST 的权限

# name :生成密钥的名称

 

[root@localhost etc]# more K.key

www. IN KEY 512 3 157 2HiaKsmu+DkXe5IF5UaSKw==

 

#修改named.conf文件,添加key

[root@localhost etc]# vi named.conf

//添加 key www

key "www" {

        algorithm hmac-md5;

        secret "2HiaKsmu+DkXe5IF5UaSKw==";

};

//修改要ddns zone

zone "test.com" IN {

        type master;

        file "test.zone";

        allow-update { key www; };

};

5.配置客户端 ddns

#把服务器生成的两个key文件,cp到客户端 的目录下

[root@localhost etc]# mkdir -p /usr/local/ddns

[root@localhost etc]# cd /usr/local/ddns/

[root@localhost ddns]# vi /etc/resolv.conf

nameserver  123.232.114.96

[root@localhost ddns]# nsupdate –k K.key

> server 123.232.114.96

> update delete

> update add 0 A 192.168.0.55

> send  最后按[ctrl+d] 即可

#注意在这时经常会出现时间不同步的错误提示,只要同步服务器与客户端的系统时间即可

 

#如果正常会在服务器的生成.jnl 的文件用来更新数据

[root@localhost named]# ls -l /var/named/test.zone.jnl

-rw-r--r--  1 root root 726  1 13 19:57 /var/named/test.zone.jnl

 

#重要检查日志

#客户端跟新ip 可以写一个简单的shell 更新ddns

完成!!!

阅读(1941) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~