{"id":173,"date":"2011-06-02T23:50:16","date_gmt":"2011-06-02T23:50:16","guid":{"rendered":"f7e6c85504ce6e82442c770f7c8606f0"},"modified":"2011-06-02T23:50:16","modified_gmt":"2011-06-02T23:50:16","slug":"","status":"publish","type":"post","link":"https:\/\/www.xiaobo.li\/notes\/archives\/173","title":{"rendered":"bind dlz \u5b89\u88c5\u914d\u7f6e"},"content":{"rendered":"<p>bind:<\/p>\n<p>bind+SDB+mysql<br \/>\nbind+DLZ+mysql<br \/>\nbind+nsupdate + IXFR<\/p>\n<p>______________________________________<\/p>\n<p>read:<\/p>\n<p>http:\/\/bind-dlz.sourceforge.net\/mysql_driver.html<\/p>\n<p>&nbsp;<\/p>\n<p>-------------------------------<\/p>\n<p><span style=\"color:#339966;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color:#333333;\">cd \/usr\/local\/src<\/span><\/p>\n<p><span style=\"color:#333333;\">wget ftp:\/\/ftp.bind.com\/pub\/bind9\/9.5.0\/bind-9.5.0.tar.gz<\/span><br \/>\n<span style=\"color:#333333;\">tar zxvf bind-9.5.0.tar.gz<\/span><br \/>\n<span style=\"color:#333333;\">cd bind-9.5.0<\/span><br \/>\n<span style=\"color:#333333;\">.\/configure \u2013with-dlz-mysql \u2013enable-threads \u2013prefix=\/usr\/local\/bind<\/span><br \/>\n<span style=\"color:#333333;\">make<\/span><br \/>\n<span style=\"color:#333333;\">make install<\/span><br \/>\n<span style=\"color:#333333;\">cd \/usr\/local\/bind\/etc\/<\/span><br \/>\n<span style=\"color:#333333;\">..\/sbin\/rndc-confgen &gt;rndc.conf<\/span><br \/>\n<span style=\"color:#333333;\">tail -n10 rndc.conf | head -n9 | sed -e s\/#\\\/\/g &gt;named.conf<\/span><br \/>\n<span style=\"color:#333333;\">vi localhost.zone<\/span><br \/>\n<span style=\"color:#333333;\">ttl 86400<\/span><br \/>\n<span style=\"color:#333333;\">@ IN SOA localhost. root.localhost. (<\/span><br \/>\n<span style=\"color:#333333;\">1997022700 ; Serial<\/span><br \/>\n<span style=\"color:#333333;\">28800 ; Refresh<\/span><br \/>\n<span style=\"color:#333333;\">14400 ; Retry<\/span><br \/>\n<span style=\"color:#333333;\">3600000 ; Expire<\/span><br \/>\n<span style=\"color:#333333;\">86400 ) ; Minimum<\/span><br \/>\n<span style=\"color:#333333;\">IN NS localhost.<\/span><br \/>\n<span style=\"color:#333333;\">1 IN PTR localhost.<\/span><br \/>\n<span style=\"color:#333333;\">dig &gt; named.root<\/span><br \/>\n<span style=\"color:#333333;\">vi named.conf<\/span><br \/>\n<span style=\"color:#333333;\">\u5728\u6700\u540e\u52a0\u4e0a<\/span><br \/>\n<span style=\"color:#333333;\">dlz \u201cMysql zone\u201d {<\/span><br \/>\n<span style=\"color:#333333;\">database \u201cmysql<\/span><br \/>\n<span style=\"color:#333333;\">{host=127.0.0.1 dbname=dns ssl=false port=3306 user=root pass= }<\/span><br \/>\n<span style=\"color:#333333;\">{select zone from dns_records where zone = \u2018%zone%\u2019 limit 1}<\/span><br \/>\n<span style=\"color:#333333;\">{select ttl, type, mx_priority, case when lower(type)=\u2019txt\u2019 then concat(\u2019\\\u201d\u2018, data, \u2018\\\u201d\u2018) when lower(type) = \u2019soa\u2019 then concat_ws(\u2019 \u2018, data, resp_person, serial, refresh, retry, expire, minimum) else data end as mydata from dns_records where zone = \u2018%zone%\u2019 and host = \u2018%record%\u2019}<\/span><br \/>\n<span style=\"color:#333333;\">{}<\/span><br \/>\n<span style=\"color:#333333;\">{select ttl, type, host, mx_priority, case when lower(type)=\u2019txt\u2019 then concat(\u2019\\\u201d\u2018, data, \u2018\\\u201d\u2018) else data end as mydata, resp_person, serial, refresh, retry, expire, minimum from dns_records where zone = \u2018%zone%\u2019}<\/span><br \/>\n<span style=\"color:#333333;\">{select zone from xfr_table where zone = \u2018%zone%\u2019 and client = \u2018%client%\u2019 limit 1}<\/span><br \/>\n<span style=\"color:#333333;\">{update data_count set count = count + 1 where zone =\u2019%zone%\u2019}\u201d;<\/span><br \/>\n<span style=\"color:#333333;\">};<\/span><\/p>\n<p><span style=\"color:#333333;\">\u5b89\u88c5Mysql,\u5b89\u88c5\u5230\/usr\/local\/mysql\/,\u5b89\u88c5\u6b65\u9aa4\u7565\u2026<\/span><br \/>\n<span style=\"color:#333333;\">\u5efa\u4e00\u4e2a\u6570\u636e\u5e93dns<\/span><br \/>\n<span style=\"color:#333333;\">CREATE DATABASE dns;<\/span><br \/>\n<span style=\"color:#333333;\">\u5efa\u4e00\u4e2a\u8868dns_records<\/span><\/p>\n<p><span style=\"color:#333333;\">use dns;<\/span><br \/>\n<span style=\"color:#333333;\">CREATE TABLE dns_records (<\/span><br \/>\n<span style=\"color:#333333;\">zone varchar (255),<\/span><br \/>\n<span style=\"color:#333333;\">host varchar (255),<\/span><br \/>\n<span style=\"color:#333333;\">type varchar (255),<\/span><br \/>\n<span style=\"color:#333333;\">data varchar (255),<\/span><br \/>\n<span style=\"color:#333333;\">ttl int(11),<\/span><br \/>\n<span style=\"color:#333333;\">mx_priority varchar (255),<\/span><br \/>\n<span style=\"color:#333333;\">refresh int(11),<\/span><br \/>\n<span style=\"color:#333333;\">retry int(11),<\/span><br \/>\n<span style=\"color:#333333;\">expire int(11),<\/span><br \/>\n<span style=\"color:#333333;\">minimum int(11),<\/span><br \/>\n<span style=\"color:#333333;\">serial bigint(20),<\/span><br \/>\n<span style=\"color:#333333;\">resp_person varchar (255),<\/span><br \/>\n<span style=\"color:#333333;\">primary_ns varchar (255)<\/span><br \/>\n<span style=\"color:#333333;\">);<\/span><span class=\"articlebody\" style=\"color:#333333;\"><br \/>\n\u52a0\u5165\u4e00\u6761\u8bb0\u5f55<br \/>\nINSERT INTO `dns_records` ( `zone` , `host` , `type` , `data` , `ttl` , `mx_priority`<br \/>\n, `refresh` , `retry` , `expire` , `minimum` , `serial` , `resp_person` , `primary_ns` ) VALUES ( \u2018yemaosheng.com\u2019, \u2018*\u2019, \u2018A\u2019, \u2018192.168.0.1\u2032, \u2018800\u2032, NULL , NULL , \u201810\u2032, NULL ,<br \/>\nNULL , NULL , NULL , NULL );<\/span><\/p>\n<p><span style=\"color:#333333;\">cp \/usr\/local\/mysql\/lib\/mysql\/libmysqlclient.so.15 \/usr\/lib\/<\/span><\/p>\n<p><span style=\"color:#333333;\">\u542f\u52a8Bind<\/span><br \/>\n<span style=\"color:#333333;\">.\/named -u root -g -d 1<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;<\/p>\n<p>read:<\/p>\n<p>http:\/\/bind-dlz.sourceforge.net\/mysql_driver.html<\/p>\n<p>&nbsp;<\/p>\n<p>-------------------------------<\/p>\n<p><span style=\"color:#339966;\"><br \/>\n<\/span><\/p>\n<p><span style=\"color:#333333;\">cd \/usr\/local\/src<\/span><\/p>\n<p><span style=\"color:#333333;\">wget ftp:\/\/ftp.bind.com\/pub\/bind9\/9.5.0\/bind-9.5.0.tar.gz<\/span><br \/>\n<span style=\"color:#333333;\">tar zxvf bind-9.5.0.tar.gz<\/span><br \/>\n<span style=\"color:#333333;\">cd bind-9.5.0<\/span><br \/>\n<span style=\"color:#333333;\">.\/configure \u2013with-dlz-mysql \u2013enable-threads \u2013prefix=\/usr\/local\/bind<\/span><br \/>\n<span style=\"color:#333333;\">make<\/span><br \/>\n<span style=\"color:#333333;\">make install<\/span><br \/>\n<span style=\"color:#333333;\">cd \/usr...<\/span><\/p>\n<p> <a href=\"https:\/\/www.xiaobo.li\/notes\/archives\/173\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[273],"tags":[5,6],"class_list":["post-173","post","type-post","status-publish","format-standard","hentry","category-article","tag-Bind","tag-dns"],"_links":{"self":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/comments?post=173"}],"version-history":[{"count":0,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/173\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/media?parent=173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/categories?post=173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/tags?post=173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}