рд╣рд╛рд▓ рд╣реА рдореЗрдВ
рдПрдХ рд▓реЗрдЦ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдПрдХ рджреНрд╡рд┐рддреАрдпрдХ рд╕рд░реНрд╡рд░ рдкрд░ DNS рдбреЛрдореЗрди рдХреЗ рд╕реНрд╡рдд: рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдСрдЯреЛрдореИрдЯрд┐рдХ рд╕реНрд▓реЗрд╡ рдбреАрдПрдирдПрд╕ рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред
рдореИрдВ PowerDNS рдХрд╛ рдЙрдкрдпреЛрдЧ рджреНрд╡рд┐рддреАрдпрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ Bind рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рднреА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдЬреЛ DNS NOTIFY рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдЬрд╝реЛрди рдХреЛ рдмрджрд▓рддреЗ / рдмрдирд╛рддреЗ рд╕рдордп (рдореИрдВ
YADIFA рдХреЛ рджреЗрдЦ рд░рд╣рд╛
рд╣реВрдВ , рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╣рд╛рде рдЕрднреА рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗ рд╣реИрдВ)ред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕реЗрдХреЗрдВрдбрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╝реЛрди рдмрдирд╛рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдорд╛рдЗрдирд╕ рдХреЗрд╡рд▓ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рд╕реНрд▓реЗрд╡ рдкрд░ рдЬрд╝реЛрди рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реЛ, рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбрд┐рд▓реАрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЙрдЧ рдореЗрдВ, рджреВрд░рд╕реНрде рдХреНрд╖реЗрддреНрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдЬрд╝реЛрди рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕реА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред
рд╕рдВрднрд╡рддрдГ рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ рдпрд╛, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдкрд╛рдПрдВрдЧреЗред рдмрд┐рдВрдж рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
notify yes
рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдореЗрдЬрдмрд╛рди 10.0.0.1 (ns.server.net) рдФрд░ 10.0.0.2 (ns0.server.net) рд╣реИрдВ, рдЬрд╣рд╛рдБ ns.server.net рдореБрдЦреНрдп рд╣реИ рдФрд░ ns0.server.net рджреНрд╡рд┐рддреАрдпрдХ рд╣реИред
рд╣рдо рдЙрдиреНрд╣реЗрдВ server.net рдбреЛрдореЗрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░реЗрдВрдЧреЗ:
@ IN NS ns.server.net. @ IN NS ns0.server.net. ns IN A 10.0.0.1 ns0 IN A 10.0.0.2
рд╣рдо Pdns рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдбреЗрдмрд┐рдпрди рд╣реИ:
apt-get install pdns-backend-sqlite3
рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ pdns-server, sqlite3, рд╕рд╛рде рд╣реА рд╕рдм рдХреБрдЫ рдЬреЛ Sqlite v3 рдХреЗ рд╕рд╛рде PowerDNS рд╕рд░реНрд╡рд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬреЛ dns рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИред Sqlite3 рдХреЛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЖрдкрдХреЛ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЪреБрдирдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
[skip] creating database pdns.sqlite3: success. verifying database pdns.sqlite3 exists: success. populating database via sql... done. Processing triggers for pdns-server ... [ ok ] Restarting PowerDNS Authoritative Name Server: pdns.
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдбреЗрдмрд┐рдпрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд┐рддрд░рдгреЛрдВ рдореЗрдВ Sqlite3 рдмреЗрд╕ рдХреЗ рд╕рд╛рде PowerDNS рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд▓рд╛рдЗрди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
/Etc/powerdns/pdns.d/pdns.simplebind рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЖрдкрдХреЛ рд▓рд╛рдЗрди
bind-config=/etc/powerdns/bindbackend.conf
рдХреЛ рд╣рдЯрд╛рдиреЗ рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА
bind-config=/etc/powerdns/bindbackend.conf
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рджреНрд╡рд┐рддреАрдпрдХ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
/etc/powerdns/pdns.conf
slave=yes
рдЕрдм рд╣рдо рдорд╛рд╕реНрдЯрд░ DNS рдХреЛ Sqlite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
cd /var/lib/powerdns sqlite3 pdns.sqlite3 sqlite> INSERT INTO supermasters VALUES('10.0.0.1','ns.server.net','master'); .quit
рдЗрд╕ рдкрд░, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ, рдЕрдм рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ sqlite рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рд╕реАрд░рд┐рдпрд▓ рдХреЛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдПрдХ DNS NOTIFY рдЧреБрд▓рд╛рдо рдХреЛ рднреЗрдЬреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╣рдорд╛рд░реЗ рдбреЛрдореЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред
Mester рдкрд░, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
master named[12318]: reloading configuration succeeded master named[12318]: reloading zones succeeded master named[12318]: zone server.net/IN: loaded serial 1 master named[12318]: zone server.net/IN: sending notifies (serial 1) master named[12318]: client 10.0.0.2
рджреНрд╡рд┐рддреАрдпрдХ рдкрд░:
slave pdns[21225]: Received NOTIFY for server.net from 10.0.0.1 for which we are not authoritative slave pdns[21225]: Created new slave zone 'server.net' from supermaster 10.0.0.1, queued axfr slave pdns[21225]: Initiating transfer of 'server.net' from remote '10.0.0.1' slave pdns[21225]: gsqlite3: connection to '/var/lib/powerdns/pdns.sqlite3' successful slave pdns[21225]: 1 slave domain needs checking, 0 queued for AXFR
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬрд┐рд╕реЗ рдореИрдВ рд╕реАрдзреЗ sqlite рдореЗрдВ рдбреЛрдореЗрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
INSERT INTO "domains" VALUES(1,'domain.ru','10.0.0.1',0,'SLAVE',NULL,'master'); INSERT INTO "domains" VALUES(2,'domain.su','10.0.0.1',0,'SLAVE',NULL,'master'); INSERT INTO "domains" VALUES(3,'domain.com','10.0.0.1',0,'SLAVE',NULL,'master');
рдЬрд╣рд╛рдВ 0 рдЬрд╝реЛрди рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ, рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдкрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдХ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ред
slave pdns[21225]: Received serial number updates for 1 zones, had 0 timeouts slave pdns[21225]: Domain server.net is stale, master serial 3, our serial 0 slave pdns[21225]: Initiating transfer of 'server.net' from remote '10.0.0.1' slave pdns[21225]: AXFR started for 'server.net', transaction started
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рджреНрд╡рд┐рддреАрдпрдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреЛрдореЗрди рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рдЕрдм рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред