第5章:BIND DNS データの移行とISPConfig解析

D-Spec: dns_import.php を解体して得た真実のインポート規律

5.1 課題:標準インポート機能の不備と沈黙

ISPConfig 3 の UI が提供する「Import Zone File」は、100を超えるドメインの複雑な記述の前で無力であった。主は /usr/local/ispconfig/interface/web/dns/dns_import.php を直接解析し、以下の規律の乱れを特定した。

5.2 執行:SQL による一括正典化

UI を介さず、データベース dns_soa および dns_rr テーブルへ直接規律を叩き込む。これが DNS 移設における「究極の解決策」である。

-- ゾーンマスター (SOA) の投入規律
INSERT INTO dns_soa (server_id, origin, ns, mbox, serial, refresh, retry, expire, minimum, ttl, active, xfer, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other) 
VALUES (1, 'dazoo.ne.jp.', 'ns1.dazoo.ne.jp.', 'hostmaster.dazoo.ne.jp.', 2026082001, 7200, 540, 604800, 3600, 3600, 'y', '', 1, 1, 'riud', 'riud', '');

-- レコード (RR) の一括変換
-- 旧データのゾーン ID と ISPConfig の zone ID を正確にマッピングせよ
INSERT INTO dns_rr (server_id, zone, name, type, data, aux, ttl, active, sys_userid, sys_groupid, sys_perm_user, sys_perm_group, sys_perm_other)
SELECT 1, [SOA_ID], name, type, content, priority, ttl, 'y', 1, 1, 'riud', 'riud', '' FROM tmp_dns_import;