QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 739|回复: 2

从win2k DNS 移植到 LINUX 下(原创)

[复制链接]
发表于 2003-7-15 11:31:04 | 显示全部楼层 |阅读模式
最近公司到DNS server总是出问题, 于是下决心转移到linux下,但是里面有200多个域啊。想来想去,总结出如下一套办法,供大家参考。如有不足网大家指正。

一、准备工作:

首先进入win2k, DNS 服务管理器,选 查看--列表;
然后导出列表到一个文件: 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 &gt; $configfile");

   open(OUTFILE,"&gt;&gt;$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啦。。。
发表于 2003-7-15 11:33:01 | 显示全部楼层
好贴,今晚装个happy下.
回复

使用道具 举报

发表于 2003-7-16 11:45:38 | 显示全部楼层
   好啊~~~~拿来主义~~~我拿走了~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-26 08:54 , Processed in 0.036237 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表