登陆论坛 找回密码 立刻获得20pp! 地图 帮助
宽带山生活
版主:

  • 主题内容
<< [1] >>  [只看楼主]  [加入关注] 点击:52 回复:1 已被0人关注

主题:从 win2k DNS 转移到 linux 下 (原创)

250 0

来自:上海
注册:2003-06-21
发帖:75+850 
最近公司到DNS server总是出问题, 于是下决心转移到linux下,但是里面有200多个域埃想来想去,总结出如下一套办法,供大家参考。如有不足网大家指正。



一、准备工作:



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

然后导出列表到一个文件: mydomain.txt



注意,正反向解析域都要导出,合并到同一个文件里mydomain.txt



进入 \winnt\system32\dns 将所有文件打包,和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 = <INFILE>;



$num=0;

foreach $line (@lines) {



chop ($line);

print OUTFILE "zone \"$line\" {\n";

print OUTFILE " type master;\n";

print OUTFILE " file \"$line.dns\";\n";

print OUTFILE "};\n";



$num ++;

}

close(INFILE);

close (OUTILE);

print "$num Record convert!!\n";



exit;



生成备份域配置文件: 执行这个脚本:



#!/usr/bin/perl

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

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

$dnsfile = "/var/named";

$importfile = "mydomain.txt";

$masterns = "1.1.1.";



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 = <INFILE>;



$num=0;

foreach $line (@lines) {



chop ($line);

print OUTFILE "zone \"$line\" {\n";

print OUTFILE " type slave;\n";

print OUTFILE " file \"$line.dns\";\n";

print OUTFILE " masters { $masterns; };\n";

print OUTFILE "};\n";



$num ++;

}

close(INFILE);

close (OUTILE);

print "$num Record convert!!\n";



exit;



2、复制DNS记录:将从windows下复制过来到dns文件复制到 /var/named 下;



主备域此操作相同。



3、在/var/named下执行:



mv CACHE.DNS named.ca #配置文件windows和linux命名不同。

chown named:named * #更改所有者

chmod 644 * #更改权限





4、编辑 /etc/resolv.conf 如下:



search mydomain.com.cn

domain mydomain.com.cn

nameserver 1.1.1.1

nameserver 202.96.199.133

nameserver 202.96.209.5





5、启动named服务。 /etc/init.d/named start

6、关闭原来的NS服务器。

7、将linux服务器的IP改成win2k的IP。





OK 完成啦。。



现在你可以把原来的NS服务器格式化,装个XP打CS啦。。。




-------------------------------------------------------------------------------------------
情有喜忧,爱关痛痒;无欲者无求,有感者必有伤。

-= BitFire =-

发表于:2003-07-19 14:39:52
推荐:牙齿有问题,您找我! ...楼主...

回复主题 [ 返回网络操作系统 ]
主题: 从 win2k DNS 转移到 linux 下 (原创)
手机看宽带山

关于我们 - 联系我们 - 加入我们 - 营销服务 - 友情链接 - 频道合作- PChome Widget
Copyright © 1996-2009 PChome.net All rights reserved. 电脑之家 版权所有