首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dns服务器是更好的绑定还是mydns?

问Dns服务器是更好的绑定还是mydns?
EN

Server Fault用户
提问于 2011-06-27 13:29:19
回答 2查看 6.5K关注 0票数 4

我将启动一个新的网站,这将需要DNS服务器。它可能有超过10,000个区域,并将得到更多的区域文件,因为我们越来越大。问题是,您认为哪个dns服务器软件更有效:使用mysql存储数据的mydns还是使用平面文件的bind?这些DNS服务器是如何处理负载平衡的,这样我们就可以在多个服务器之间平衡负载,这样任何一个服务器都不会超载?

EN

回答 2

Server Fault用户

发布于 2011-06-27 13:36:48

对我来说,绑定更好。这是很容易配置的,您不需要重新启动绑定,除非您升级软件。对于BIND,您应该查看的是rndc命令。Rndc允许您重新加载单个区域,同时让BIND运行。如果您已经编辑了zonefile,rndc将立即发布更改。

绑定绝对有可能从数据库中运行。您需要在./配置步骤中指定一些步骤。

我有一些很好的说明,但都是俄文的。我试着写一份行动计划。

  1. 假设MySQL服务器已经安装和配置好了.
  2. 从off下载mysql-绑定项目。站点http://mysql-bind.sourceforge.net/ (在那里,我们需要两个文件: mysqldb.c和mysqldb.h)。
  3. 跳转到下载文件的文件夹解压缩: cd ~/ -xzf / tar mysql-bind.tar.gz
  4. 跳转到端口并下载源bind9 (您的mysql版本是为该服务设计的)。而不是编译!cd /usr/port/dns/bind9 9使提取提取
  5. 复制下载的文件mysql-绑定到绑定的源代码: cp ~/ /usr/ports/dns/bind9/work/bind-x.x.x/bin/named/ /mysqldb.c、cp ~/ /usr/ports/dns/bind9/work/bind-x.x.x/bin/named/include/named/ /mysqldb.h/usr/ports/dns/bind9/work/bind-x.x.x/bin/named/include/named/
  6. 跳转到源代码(work /bind)文件夹,并进行以下更改: a)文件bin/named/Makefile.in read: DBDRIVER_OBJS =mysqldb。@O@ DBDRIVER_SRCS = mysqldb.c运行命令mysql_config -cflags并将输出写入变量DBDRIVER_INCLUDES (例如:DBDRIVER_INCLUDES = -I/usr/local/include/mysql -fno-strict-aliasing -pipe),运行命令mysql_config -libs,并将输出写入文件bin/named/main.c:中的变量DBDRIVER_LIBS (例如:DBDRIVER_LIBS = -L/usr/local/lib/mysql-lmysqlclient-lz-lcrypt-lm) b中。
    • 添加头文件#包括<named/mysqldb.h>
    • 在函数setup()中,在行ns_server_create()之前添加一个调用mysqldb_init()。
    • 在函数cleanup()中,在ns_server_destroy()之后添加mysqldb_clear();。

  7. 安装绑定: cd /usr/port/dns/bind
  8. 为每个区域创建其表mysql:创建表table_name (名称varchar(255)默认空,ttl int(11)默认空,rdtype varchar(255)默认空,rdata varchar(255)默认空) TYPE=MyISAM;
  9. 为区域创建必要的记录:插入到table_name值中( 'mydomain.com ',259200,'SOA',‘mydomain.com’。webmaster.mydomain.com。2008092901 28800 7200 86400 28800‘;插入table_name值('mydomain.com',259200,'NS','ns0.mydomain.com.');插入table_name值('mydomain.com',259200,'NS','ns1.mydomain.com.');插入table_name值('mydomain.com',259200,'MX','10 mail.mydomain.com.');插入table_name值('w0.mydomain.com',259200,'A','192.168.1.1');插入table_name值('w1.mydomain.com',259200,'A','192.168.1.2');
  10. 在named.conf文件中指定正确的区域:区域"smol.website.ru“{键入主机;通知否;数据库"mysqldb database_name table_name mysql_ip_address登录密码”;};
  11. 特别注意,在最后一行应该指定用户名和密码。信息以未加密的形式存储,这当然是危险的!因此有两种方法:将代码保存在编码代码中或在数据库中创建用户登录名-“bind”和pass-"bind“并将其置于特权选择中。
  12. 我为我的英语道歉。希望这能有所帮助。
  13. 该指令是为freebsd编写的,对于Linux应该类似。
票数 8
EN

Server Fault用户

发布于 2011-06-29 15:17:59

http://mysql-bind.sourceforge.net/将为您添加的每个区域创建表,如果您要托管超过100 K的区域,这将是非常糟糕的。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/284486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档