原创:把DNS服务器从windows移植到linux下

由 bitfire 在 05-27-2004 11:21 发表:

原创:把DNS服务器从windows移植到linux下

最近公司到DNS server总是出问题, 于是下决心转移到linux下,但是里面有200多个域埃想来想去,总结出如下一套办法,供大家参考。如有不足网大家指正。

一、准备工作:

首先进入win2k, DNS 服务管理器,选 查看--列表;

然后导出列表到一个文件: mydomain.txt 反向解析域的列表都要导出,合并到一个文件里,进入 winntsystem32dns 将所有文件打包,和mydomain.txt 一起复制到linux下。

二、开始迁移:

1、生成配置文件:

主域配置文件:

执行如下脚本:

#!/usr/bin/perl

##################################################################

$configfile = "/etc/named.conf";

$dnsfile = "/var/named";

$importfile = "mydomain.txt";

system("/bin/echo > $configfile");

open(OUTFILE,">>$configfile");

flock (OUTFILE,2);

print OUTFILE "options {n";

print OUTFILE " directory "$dnsfile";n";

print OUTFILE " forwarders {n";

print OUTFILE " 202.96.199.133;n";

print OUTFILE " 202.96.209.5;n";

print OUTFILE " };n";

print OUTFILE "};n";

print OUTFILE "zone "." {n";

print OUTFILE " type hint;n";

print OUTFILE " file "named.ca";n";

print OUTFILE "};n";

open(INFILE,$importfile);

@lines =

 1<infile>;   
 2  
 3$num=0;   
 4  
 5foreach $line (@lines) {   
 6  
 7chop ($line);   
 8  
 9print OUTFILE "zone "$line" {n";   
10  
11print OUTFILE " type master;n";   
12  
13print OUTFILE " file "$line.dns";n";   
14  
15print OUTFILE "};n";   
16  
17$num ++;   
18  
19}   
20  
21close(INFILE);   
22  
23close (OUTILE);   
24  
25print "$num Record convert!!n";   
26  
27  
28  
29exit;   
30  
31  
32  
33  
34  
35生成备份域配置文件: 执行这个脚本:   
36  
37  
38  
39#!/usr/bin/perl   
40  
41##################################################################   
42  
43$configfile = "/etc/named.conf";   
44  
45$dnsfile = "/var/named";   
46  
47$importfile = "mydomain.txt";   
48  
49$masterns = "1.1.1.";   
50  
51system("/bin/echo &gt; $configfile");   
52  
53open(OUTFILE,"&gt;&gt;$configfile");   
54  
55flock (OUTFILE,2);   
56  
57print OUTFILE "options {n";   
58  
59print OUTFILE " directory "$dnsfile";n";   
60  
61print OUTFILE " forwarders {n";   
62  
63print OUTFILE " 202.96.199.133;n";   
64  
65print OUTFILE " 202.96.209.5;n";   
66  
67print OUTFILE " };n";   
68  
69print OUTFILE "};n";   
70  
71print OUTFILE "zone "." {n";   
72  
73print OUTFILE " type hint;n";   
74  
75print OUTFILE " file "named.ca";n";   
76  
77print OUTFILE "};n";   
78  
79  
80  
81open(INFILE,$importfile);   
82  
83@lines = <infile>;   
84  
85$num=0;   
86  
87foreach $line (@lines) {   
88  
89chop ($line);   
90  
91print OUTFILE "zone "$line" {n";   
92  
93print OUTFILE</infile></infile>
Published At
Categories with 服务器类
Tagged with
comments powered by Disqus