'BIND'에 해당되는 글 1건

  1. 2008.01.18 BIND (네임서버 데몬) Zone 화일을 MySQL로 대체 1

BIND (네임서버 데몬) Zone 화일을 MySQL로 대체

|
이것저것 공짜라고 여러명의 도메인을 등록해주다 보니
존(zone) 화일이 많이 늘어났다... 관리하기도 귀찮은데...
찾다보니  Zone 화일을 MySQL에서 관리할수있더라... 왜 몰랐을까...ㅠㅠ

아직 시도해 보지는 않았다.

http://mysql-bind.sourceforge.net/docs.php


위 사이트를 둘러보면 모든 내용이 있다.

일단, 내용은.....

1.
 mysql-bind 를 압축 풀어서
*.c 는 bind9소스/bin/named 디렉토리에 넣고,
*.h 는 bind9소스/bin/named/include 디렉토리에 넣고

2.
Mysql incldue 를 환경변수에 등록한다
#DBDRIVER_INCLUDES = -I'/usr/include/mysql' 
위의 값은 자신의 서버에서 #mysql_config --cflags 명령을 입력했을때 나오는 값이다.

3.
마찬가지로... lib 도 등록한다.
#DBDRIVER_LIBS = -L'/usr/lib/mysql' -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv
위의 값은 자신의 서버에서 #mysql_config --libs 명령을 입력했을때 나오는 값이다.

4.
bind9소스/bin/named/main.c  파일을 열어서
#include "mysqldb.h"  를 한줄 추가한다.

5.
./configure
make
make install

하여 bind를 설치한다. (추가 옵션은 알아서 붙이자.)

이후...

named.conf 에

zone "mydomain.com" {
  type master;
  notify no;
  database "mysqldb db명 table명 host명 아이디 비밀번호";
};

형식으로 추가한다.

mysql 에 위에 등록한 사용자, DB, Table 을 일치시키고...

CREATE TABLE table명 (
  name varchar(255) default NULL,
  ttl int(11) default NULL,
  rdtype varchar(255) default NULL,
  rdata varchar(255) default NULL
) TYPE=MyISAM;

위 형식으로 테이블을 만들어주고..

INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'SOA', 'mydomain.com. www.mydomain.com. 200309181 28800 7200 86400 28800');
INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'NS', 'ns0.mydomain.com.');
INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'NS', 'ns1.mydomain.com.');
INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'MX', '10 mail.mydomain.com.');
INSERT INTO mydomain VALUES ('w0.mydomain.com', 259200, 'A', '192.168.1.1');
INSERT INTO mydomain VALUES ('w1.mydomain.com', 259200, 'A', '192.168.1.2');
INSERT INTO mydomain VALUES ('mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
INSERT INTO mydomain VALUES ('mail.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
INSERT INTO mydomain VALUES ('ns0.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
INSERT INTO mydomain VALUES ('ns1.mydomain.com', 259200, 'Cname', 'w1.mydomain.com.');
INSERT INTO mydomain VALUES ('www.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');
INSERT INTO mydomain VALUES ('ftp.mydomain.com', 259200, 'Cname', 'w0.mydomain.com.');

형태로 등록시킨다.

......

주의 할점은 각 도메인 마다 테이블 1개씩이라는 점이다.... ㅠㅠ;;

mysql-bind 사이트의 링크를 보면  dnsqlpanel 이란게 있다. 이게 관리툴인것 같다.

http://dnsqlpanel.sourceforge.net/


bind 데몬을 동작시킨다.

남은 문제점 : 그래도 named.conf 는 직접 계속 만져서 추가해야 하나.... ㅠㅠ;

-끝-
And
prev | 1 | next