阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Debian下Bind9.9.2+MySQL 搞定DNS解析

109次阅读
没有评论

共计 3376 个字符,预计需要花费 9 分钟才能阅读完成。

bind9.9.2+MySQL 其实就是 bind 调用 mysql 数据库表内的东西(表内的数据就是 zone 区域数据)。其实原理都是一样的 只是这里 bind 的所有 bind zone 区域文件都存在 mysql 内。

bind 调用 mysql 无非是一个是调用 mysql 驱动,另外一个 mysql-bind 这个包来实现。

这里 mysql 就无需多讲,更新修改 /etc/apt/sources.list 源之后 apt-get update 跟新包

然后 apt-get install mysql mysql-server 即可。

  我使用的是 bind。9.9.2.
  wget ftp://ftp.isc.org/isc/bind9/9.9.2/bind-9.9.2.tar.gz
  tar -zxvf bind-9.9.2.tar.gz
  下载 mysql-bind
  wget http://nchc.dl.sourceforge.net/project/mysql-bind/mysql-bind/mysql-bind-0.2%20src/mysql-bind.tar.gz
  tar -zxvf mysql-bind.tar.gz
  先将 mysql-bind 下两个文件 copy 到 bind-9.9.2/ 下 具体如下:

  cd mysql-bind/

  cp mysqldb.c ../bind-9.9.2/bin/named/
  cp mysqldb.h ../bind-9.9.2/bin/named/include/named/

  修改 bind-9.9.2/bin/named/Makefile.in 文件 具体如下:

  cd ../bind-9.9.2/

  vim bin/named/Makefile.in             
  DBDRIVER_OBJS =                         
  DBDRIVER_SRCS =                         
  DBDRIVER_INCLUDES =                     
  DBDRIVER_LIBS =                         
  修改成一下内容:
  DBDRIVER_OBJS = mysqldb.@O@             
  DBDRIVER_SRCS = mysqldb.c               
  DBDRIVER_INCLUDES = -I’/usr/include/mysql’ #(由 mysql_config–cflags 命令产生)
  DBDRIVER_LIBS = -L’/usr/lib/mysql’ -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv apt-get install libssl-dev  #(由 mysql_config–libs 命令产生)

  我们还需要修改另一个文件
    vim bin/named/main.c 添加如下 行
  #include <include/mysqldb.h>

  mysqldb_init();(在 ns_server_create()之前)
  mysqldb_clear();(在 ns_server_destroy()之后)
  修改好了之后我们就可以编译 bind.9.9.2 了。

  ./configure –prefix=/usr –exec-prefix=/usr –bindir=/usr/bin –sbindir=/usr/sbin –sysconfdir=/etc –datadir=/usr/share –includedir=/usr/include –libdir=/usr/lib64 –libexecdir=/usr/libexec –sharedstatedir=/usr/com –mandir=/usr/share/man –infodir=/usr/share/info –with-libtool –localstatedir=/var –enable-threads –with-openssl=no –enable-epoll –with-openssl

  apt-get install openssl libss-dev  #(如果报错 openssl 问题 先安装这两个)
  make -j 8
  make install

  bind9.9.2+mysql-bind 就此已经安装完成!我们来配置下 bind

 

  rndc-confgen >/etc/rndc.conf
  cat /etc/rndc.conf|tail |head -9 |sed “s/^#//g” > /etc/named.conf
  dig -t NS .>/var/named/named.root

修改配置文件,连接数据库的相关配置 
vim /etc/named.conf
添加:
zone “test.net”  {
      type master;
      database “mysqldb test net 127.0.0.1 root root”;

};

zone “168.192.in-addr.arpa” {
      type master;
      database “mysqldb test 168_192 localhost root root”;

}; 

备注:
database “mysqldb test net 127.0.0.1 root root”;
database “mysqldb 数据库名 表名 数据库 serverIP 数据库用户 数据库密码 ”;

 

前提是已经创建了数据库  以下是创建数据库的实例:

正反向解析实例:

正向解析 DNS
CREATE TABLE net (
      name varchar(255) default NULL,
      ttl int(11) default NULL,
      rdtype varchar(255) default NULL,
      rdata varchar(255) default NULL
      ) TYPE=MyISAM;

 

INSERT INTO net VALUES (‘test.net’, 259200, ‘SOA’, ‘test.net.  www.test.net  200505101 28800 7200 86400 28800’);
INSERT INTO net VALUES (‘test.net’, 259200, ‘NS’, ‘ns1.test.net.’);
INSERT INTO net VALUES (‘ns1.test.net’, 259200, ‘A’, ‘192.168.2.2’);
INSERT INTO net VALUES (‘www.test.net’, 259200, ‘A’, ‘192.168.2.1’);
INSERT INTO net VALUES (‘learyx.test.net’, 259200, ‘A’, ‘192.168.2.222’);

反域 DNS
CREATE TABLE 168_192 (
name varchar(255) default NULL,
ttl int(11) default NULL,
rdtype varchar(255) default NULL,
rdata varchar(255) default NULL
) TYPE=MyISAM;

INSERT INTO `168_192` VALUES (‘168.192.in-addr.arpa’, 17600, ‘SOA’, ‘test.net. www.test.net. 200309181 28800 7200 86400 28800’);
INSERT INTO `168_192` VALUES (‘168.192.in-addr.arpa’, 17600, ‘NS’, ‘ns0.test.net.’);
INSERT INTO `168_192` VALUES (‘222.2.168.192.in-addr.arpa’, 17600, ‘PTR’, ‘learyx.test.net.’);

我启动 named 吧
可以先调试下
/usr/local/bind9/sbin/named -c /usr/local/bind9/etc/named.conf  -g
没有问题的话 直接起来吧
/usr/local/bind9/sbin/named -c /usr/local/bind9/etc/named.conf
OK 起来了
我们来测试下吧!
dig @127.0.0.1 www.test.net

Debian 下 Bind9.9.2+MySQL 搞定 DNS 解析

至此全部完成!

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计3376字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中