From ebefbe47a7c47630a43cd79996731ab3b14d08ba Mon Sep 17 00:00:00 2001 From: reachableceo Date: Wed, 2 Sep 2026 16:33:33 -0500 Subject: [PATCH] feat(netinfra): NTP + Technitium zones into git SoR; drift-check full stack [#630] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ntp.conf captured (nodes byte-identical); 171 Technitium DZ zone files captured from the primary; drift-check now covers dhcpd/pihole/ntp on both nodes plus a zones md5-manifest check. Live run caught real drift: node-02 dhcpd.conf was a stale primary copy missing the #614 minisplit reservation — reconciled git->02 with dhcpd -t gate, serial restart, failover "Both servers normal", all 7 checks in sync. Red-green unit tests extended (gen_manifest, tracked-file invariants). Results: https://projects.knownelement.com/issues/630#note-2 --- netinfra/dns/drift-check.sh | 28 ++++++++++ .../zones/0.168.192.in-addr.arpa.zone | Bin 0 -> 3708 bytes .../zones/0.75.100.in-addr.arpa.zone | Bin 0 -> 809 bytes .../zones/1.168.192.in-addr.arpa.zone | Bin 0 -> 6114 bytes .../zones/1.94.100.in-addr.arpa.zone | Bin 0 -> 611 bytes .../zones/10.68.100.in-addr.arpa.zone | Bin 0 -> 585 bytes .../zones/100.100.10.in-addr.arpa.zone | Bin 0 -> 1165 bytes .../zones/103.110.100.in-addr.arpa.zone | Bin 0 -> 529 bytes .../zones/108.67.100.in-addr.arpa.zone | Bin 0 -> 589 bytes .../zones/110.107.100.in-addr.arpa.zone | Bin 0 -> 623 bytes .../zones/111.64.100.in-addr.arpa.zone | Bin 0 -> 528 bytes .../zones/115.121.100.in-addr.arpa.zone | Bin 0 -> 528 bytes .../zones/116.101.100.in-addr.arpa.zone | Bin 0 -> 532 bytes .../zones/117.107.100.in-addr.arpa.zone | Bin 0 -> 526 bytes .../zones/119.70.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/119.94.100.in-addr.arpa.zone | Bin 0 -> 591 bytes .../zones/121.108.100.in-addr.arpa.zone | Bin 0 -> 613 bytes .../zones/123.104.100.in-addr.arpa.zone | Bin 0 -> 532 bytes .../zones/123.125.100.in-addr.arpa.zone | Bin 0 -> 523 bytes .../zones/125.77.100.in-addr.arpa.zone | Bin 0 -> 518 bytes .../zones/126.83.100.in-addr.arpa.zone | Bin 0 -> 591 bytes .../zones/128.122.100.in-addr.arpa.zone | Bin 0 -> 530 bytes .../zones/129.121.100.in-addr.arpa.zone | Bin 0 -> 538 bytes .../zones/129.68.100.in-addr.arpa.zone | Bin 0 -> 617 bytes .../zones/13.109.100.in-addr.arpa.zone | Bin 0 -> 658 bytes .../zones/130.96.100.in-addr.arpa.zone | Bin 0 -> 1242 bytes .../zones/134.125.100.in-addr.arpa.zone | Bin 0 -> 611 bytes .../zones/135.87.100.in-addr.arpa.zone | Bin 0 -> 591 bytes .../zones/136.105.100.in-addr.arpa.zone | Bin 0 -> 597 bytes .../zones/14.125.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/14.77.100.in-addr.arpa.zone | Bin 0 -> 937 bytes .../zones/140.97.100.in-addr.arpa.zone | Bin 0 -> 613 bytes .../zones/146.110.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/149.93.100.in-addr.arpa.zone | Bin 0 -> 514 bytes .../zones/149.95.100.in-addr.arpa.zone | Bin 0 -> 837 bytes .../zones/151.91.100.in-addr.arpa.zone | Bin 0 -> 591 bytes .../zones/152.78.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/154.119.100.in-addr.arpa.zone | Bin 0 -> 526 bytes .../zones/155.126.100.in-addr.arpa.zone | Bin 0 -> 525 bytes .../zones/155.68.100.in-addr.arpa.zone | Bin 0 -> 615 bytes .../zones/156.67.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/157.110.100.in-addr.arpa.zone | Bin 0 -> 528 bytes .../zones/158.101.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/160.102.100.in-addr.arpa.zone | Bin 0 -> 535 bytes .../zones/161.76.100.in-addr.arpa.zone | Bin 0 -> 511 bytes .../zones/162.98.100.in-addr.arpa.zone | Bin 0 -> 1165 bytes .../zones/164.78.100.in-addr.arpa.zone | Bin 0 -> 518 bytes .../zones/168.101.100.in-addr.arpa.zone | Bin 0 -> 1561 bytes .../zones/169.71.100.in-addr.arpa.zone | Bin 0 -> 514 bytes .../zones/17.93.100.in-addr.arpa.zone | Bin 0 -> 577 bytes .../zones/171.71.100.in-addr.arpa.zone | Bin 0 -> 603 bytes .../zones/171.88.100.in-addr.arpa.zone | Bin 0 -> 625 bytes .../zones/172.109.100.in-addr.arpa.zone | Bin 0 -> 535 bytes .../zones/175.71.100.in-addr.arpa.zone | Bin 0 -> 522 bytes .../zones/175.89.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/176.86.100.in-addr.arpa.zone | Bin 0 -> 605 bytes .../zones/178.97.100.in-addr.arpa.zone | Bin 0 -> 522 bytes .../zones/181.103.100.in-addr.arpa.zone | Bin 0 -> 529 bytes .../zones/181.70.100.in-addr.arpa.zone | Bin 0 -> 603 bytes .../zones/181.82.100.in-addr.arpa.zone | Bin 0 -> 811 bytes .../zones/182.66.100.in-addr.arpa.zone | Bin 0 -> 595 bytes .../zones/182.97.100.in-addr.arpa.zone | Bin 0 -> 520 bytes .../zones/183.112.100.in-addr.arpa.zone | Bin 0 -> 537 bytes .../zones/183.125.100.in-addr.arpa.zone | Bin 0 -> 629 bytes .../zones/185.79.100.in-addr.arpa.zone | Bin 0 -> 515 bytes .../zones/186.66.100.in-addr.arpa.zone | Bin 0 -> 591 bytes .../zones/187.101.100.in-addr.arpa.zone | Bin 0 -> 615 bytes .../zones/188.94.100.in-addr.arpa.zone | Bin 0 -> 593 bytes .../zones/189.121.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/192.72.100.in-addr.arpa.zone | Bin 0 -> 597 bytes .../zones/194.67.100.in-addr.arpa.zone | Bin 0 -> 511 bytes .../zones/194.93.100.in-addr.arpa.zone | Bin 0 -> 522 bytes .../zones/198.91.100.in-addr.arpa.zone | Bin 0 -> 533 bytes .../zones/199.90.100.in-addr.arpa.zone | Bin 0 -> 522 bytes .../zones/2.168.192.in-addr.arpa.zone | Bin 0 -> 2630 bytes .../zones/20.64.100.in-addr.arpa.zone | Bin 0 -> 599 bytes .../zones/200.96.100.in-addr.arpa.zone | Bin 0 -> 1137 bytes .../zones/201.95.100.in-addr.arpa.zone | Bin 0 -> 611 bytes .../zones/202.116.100.in-addr.arpa.zone | Bin 0 -> 847 bytes .../zones/202.73.100.in-addr.arpa.zone | Bin 0 -> 516 bytes .../zones/202.87.100.in-addr.arpa.zone | Bin 0 -> 517 bytes .../zones/204.86.100.in-addr.arpa.zone | Bin 0 -> 599 bytes .../zones/207.66.100.in-addr.arpa.zone | Bin 0 -> 513 bytes .../zones/21.104.100.in-addr.arpa.zone | Bin 0 -> 523 bytes .../zones/210.70.100.in-addr.arpa.zone | Bin 0 -> 518 bytes .../zones/213.116.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/215.126.100.in-addr.arpa.zone | Bin 0 -> 532 bytes .../zones/215.84.100.in-addr.arpa.zone | Bin 0 -> 516 bytes .../zones/216.77.100.in-addr.arpa.zone | Bin 0 -> 939 bytes .../zones/220.100.100.in-addr.arpa.zone | Bin 0 -> 623 bytes .../zones/222.101.100.in-addr.arpa.zone | Bin 0 -> 527 bytes .../zones/222.106.100.in-addr.arpa.zone | Bin 0 -> 611 bytes .../zones/224.105.100.in-addr.arpa.zone | Bin 0 -> 538 bytes .../zones/224.65.100.in-addr.arpa.zone | Bin 0 -> 597 bytes .../zones/229.81.100.in-addr.arpa.zone | Bin 0 -> 514 bytes .../zones/23.68.100.in-addr.arpa.zone | Bin 0 -> 506 bytes .../zones/230.82.100.in-addr.arpa.zone | Bin 0 -> 609 bytes .../zones/231.123.100.in-addr.arpa.zone | Bin 0 -> 524 bytes .../zones/231.126.100.in-addr.arpa.zone | Bin 0 -> 1007 bytes .../zones/231.64.100.in-addr.arpa.zone | Bin 0 -> 597 bytes .../zones/232.72.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/233.115.100.in-addr.arpa.zone | Bin 0 -> 1019 bytes .../zones/233.67.100.in-addr.arpa.zone | Bin 0 -> 523 bytes .../zones/233.75.100.in-addr.arpa.zone | Bin 0 -> 526 bytes .../zones/238.127.100.in-addr.arpa.zone | Bin 0 -> 627 bytes .../zones/24.117.100.in-addr.arpa.zone | Bin 0 -> 623 bytes .../zones/240.119.100.in-addr.arpa.zone | Bin 0 -> 621 bytes .../zones/242.104.100.in-addr.arpa.zone | Bin 0 -> 535 bytes .../zones/245.113.100.in-addr.arpa.zone | Bin 0 -> 955 bytes .../zones/245.71.100.in-addr.arpa.zone | Bin 0 -> 528 bytes .../zones/246.104.100.in-addr.arpa.zone | Bin 0 -> 539 bytes .../zones/246.112.100.in-addr.arpa.zone | Bin 0 -> 532 bytes .../zones/247.66.100.in-addr.arpa.zone | Bin 0 -> 532 bytes .../zones/250.101.100.in-addr.arpa.zone | Bin 0 -> 635 bytes .../zones/250.82.100.in-addr.arpa.zone | Bin 0 -> 515 bytes .../zones/252.122.100.in-addr.arpa.zone | Bin 0 -> 623 bytes .../zones/26.101.100.in-addr.arpa.zone | Bin 0 -> 515 bytes .../zones/29.126.100.in-addr.arpa.zone | Bin 0 -> 617 bytes .../zones/3.168.192.in-addr.arpa.zone | Bin 0 -> 9335 bytes .../zones/30.82.100.in-addr.arpa.zone | Bin 0 -> 583 bytes .../zones/33.115.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/33.79.100.in-addr.arpa.zone | Bin 0 -> 504 bytes .../zones/34.109.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/35.107.100.in-addr.arpa.zone | Bin 0 -> 599 bytes .../zones/35.72.100.in-addr.arpa.zone | Bin 0 -> 583 bytes .../zones/35.73.100.in-addr.arpa.zone | Bin 0 -> 583 bytes .../zones/37.119.100.in-addr.arpa.zone | Bin 0 -> 837 bytes .../zones/39.91.100.in-addr.arpa.zone | Bin 0 -> 579 bytes .../zones/45.123.100.in-addr.arpa.zone | Bin 0 -> 587 bytes .../zones/47.93.100.in-addr.arpa.zone | Bin 0 -> 1173 bytes .../zones/48.103.100.in-addr.arpa.zone | Bin 0 -> 523 bytes .../zones/49.83.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/49.87.100.in-addr.arpa.zone | Bin 0 -> 589 bytes .../zones/52.79.100.in-addr.arpa.zone | Bin 0 -> 595 bytes .../zones/53.68.100.in-addr.arpa.zone | Bin 0 -> 1793 bytes .../zones/54.106.100.in-addr.arpa.zone | Bin 0 -> 2972 bytes .../zones/56.64.100.in-addr.arpa.zone | Bin 0 -> 591 bytes .../zones/61.107.100.in-addr.arpa.zone | Bin 0 -> 607 bytes .../zones/61.88.100.in-addr.arpa.zone | Bin 0 -> 512 bytes .../zones/62.90.100.in-addr.arpa.zone | Bin 0 -> 513 bytes .../zones/64.103.100.in-addr.arpa.zone | Bin 0 -> 518 bytes .../zones/65.124.100.in-addr.arpa.zone | Bin 0 -> 517 bytes .../zones/68.81.100.in-addr.arpa.zone | Bin 0 -> 512 bytes .../zones/69.75.100.in-addr.arpa.zone | Bin 0 -> 505 bytes .../zones/69.95.100.in-addr.arpa.zone | Bin 0 -> 595 bytes .../zones/70.100.100.in-addr.arpa.zone | Bin 0 -> 603 bytes .../zones/70.109.100.in-addr.arpa.zone | Bin 0 -> 603 bytes .../zones/72.101.100.in-addr.arpa.zone | Bin 0 -> 595 bytes .../zones/72.119.100.in-addr.arpa.zone | Bin 0 -> 603 bytes .../zones/72.80.100.in-addr.arpa.zone | Bin 0 -> 607 bytes .../zones/76.126.100.in-addr.arpa.zone | Bin 0 -> 527 bytes .../zones/76.95.100.in-addr.arpa.zone | Bin 0 -> 514 bytes .../zones/77.120.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/77.70.100.in-addr.arpa.zone | Bin 0 -> 581 bytes .../zones/81.114.100.in-addr.arpa.zone | Bin 0 -> 625 bytes .../zones/84.114.100.in-addr.arpa.zone | Bin 0 -> 513 bytes .../zones/86.75.100.in-addr.arpa.zone | Bin 0 -> 511 bytes .../zones/88.67.100.in-addr.arpa.zone | Bin 0 -> 507 bytes .../zones/9.110.100.in-addr.arpa.zone | Bin 0 -> 506 bytes .../zones/9.114.100.in-addr.arpa.zone | Bin 0 -> 607 bytes .../zones/9.126.100.in-addr.arpa.zone | Bin 0 -> 1177 bytes .../zones/9.89.100.in-addr.arpa.zone | Bin 0 -> 500 bytes .../zones/91.116.100.in-addr.arpa.zone | Bin 0 -> 593 bytes .../zones/92.81.100.in-addr.arpa.zone | Bin 0 -> 587 bytes .../zones/93.104.100.in-addr.arpa.zone | Bin 0 -> 520 bytes .../zones/94.85.100.in-addr.arpa.zone | Bin 0 -> 509 bytes .../zones/94.92.100.in-addr.arpa.zone | Bin 0 -> 601 bytes .../zones/96.102.100.in-addr.arpa.zone | Bin 0 -> 587 bytes .../zones/96.87.100.in-addr.arpa.zone | Bin 0 -> 504 bytes .../zones/97.117.100.in-addr.arpa.zone | Bin 0 -> 521 bytes .../zones/99.109.100.in-addr.arpa.zone | Bin 0 -> 599 bytes netinfra/dns/technitium/zones/knel.net.zone | Bin 0 -> 8849 bytes netinfra/ntp/ntp.conf | 49 ++++++++++++++++++ tests/unit/dns-drift-check.sh | 42 +++++++++++++++ 174 files changed, 119 insertions(+) create mode 100644 netinfra/dns/technitium/zones/0.168.192.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/0.75.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/1.168.192.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/1.94.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/10.68.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/100.100.10.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/103.110.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/108.67.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/110.107.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/111.64.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/115.121.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/116.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/117.107.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/119.70.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/119.94.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/121.108.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/123.104.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/123.125.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/125.77.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/126.83.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/128.122.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/129.121.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/129.68.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/13.109.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/130.96.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/134.125.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/135.87.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/136.105.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/14.125.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/14.77.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/140.97.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/146.110.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/149.93.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/149.95.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/151.91.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/152.78.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/154.119.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/155.126.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/155.68.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/156.67.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/157.110.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/158.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/160.102.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/161.76.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/162.98.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/164.78.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/168.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/169.71.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/17.93.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/171.71.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/171.88.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/172.109.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/175.71.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/175.89.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/176.86.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/178.97.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/181.103.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/181.70.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/181.82.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/182.66.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/182.97.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/183.112.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/183.125.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/185.79.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/186.66.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/187.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/188.94.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/189.121.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/192.72.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/194.67.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/194.93.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/198.91.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/199.90.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/2.168.192.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/20.64.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/200.96.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/201.95.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/202.116.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/202.73.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/202.87.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/204.86.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/207.66.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/21.104.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/210.70.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/213.116.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/215.126.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/215.84.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/216.77.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/220.100.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/222.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/222.106.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/224.105.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/224.65.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/229.81.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/23.68.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/230.82.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/231.123.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/231.126.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/231.64.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/232.72.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/233.115.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/233.67.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/233.75.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/238.127.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/24.117.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/240.119.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/242.104.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/245.113.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/245.71.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/246.104.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/246.112.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/247.66.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/250.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/250.82.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/252.122.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/26.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/29.126.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/3.168.192.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/30.82.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/33.115.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/33.79.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/34.109.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/35.107.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/35.72.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/35.73.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/37.119.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/39.91.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/45.123.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/47.93.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/48.103.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/49.83.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/49.87.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/52.79.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/53.68.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/54.106.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/56.64.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/61.107.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/61.88.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/62.90.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/64.103.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/65.124.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/68.81.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/69.75.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/69.95.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/70.100.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/70.109.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/72.101.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/72.119.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/72.80.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/76.126.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/76.95.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/77.120.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/77.70.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/81.114.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/84.114.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/86.75.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/88.67.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/9.110.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/9.114.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/9.126.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/9.89.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/91.116.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/92.81.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/93.104.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/94.85.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/94.92.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/96.102.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/96.87.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/97.117.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/99.109.100.in-addr.arpa.zone create mode 100644 netinfra/dns/technitium/zones/knel.net.zone create mode 100644 netinfra/ntp/ntp.conf diff --git a/netinfra/dns/drift-check.sh b/netinfra/dns/drift-check.sh index 8df27cd..05bde56 100755 --- a/netinfra/dns/drift-check.sh +++ b/netinfra/dns/drift-check.sh @@ -11,6 +11,9 @@ # - /etc/dhcp/dhcpd.conf vs netinfra/dhcp/dhcpd-{primary,secondary}.conf # - /etc/pihole/pihole.toml vs netinfra/dns/pihole/netinfra-0{1,2}.pihole.toml # (secrets redacted on both sides before compare; "Last updated" line ignored) +# - /etc/ntpsec/ntp.conf vs netinfra/ntp/ntp.conf (nodes are identical) +# - Technitium zones (node 01, the replication primary): md5 manifest of the +# binary DZ store vs netinfra/dns/technitium/zones/ [#630] # # Usage: # drift-check.sh [--node 01|02|all] (default: all) @@ -22,6 +25,9 @@ HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" DNS_SETUP="$HERE/dns-cluster-setup" DHCP_DIR="$HERE/dhcp" PIHOLE_DIR="$HERE/dns/pihole" +NTP_FILE="$HERE/ntp/ntp.conf" +ZONES_DIR="$HERE/dns/technitium/zones" +REMOTE_ZONE_DIR="/home/localuser/services/technitium/config/zones" REDACT='s/^( *pwhash *=).*/\1 "REDACTED"/; s/^( *totp_secret *=).*/\1 "REDACTED"/; s/^( *password *=).*/\1 "REDACTED"/' @@ -31,6 +37,9 @@ redact_config() { sed -E "$REDACT"; } # normalize_toml — redact + drop churn lines (timestamps) normalize_toml() { redact_config | grep -v "Last updated on"; } +# gen_manifest — sorted 'md5 name' manifest of *.zone files (name-sorted) +gen_manifest() { (cd "$1" && md5sum -- *.zone 2>/dev/null | sort -k2); } + # fetch — run via the remote-dns.sh chokepoint (env IPs honored) fetch() { local node="$1" cmd="$2" @@ -71,7 +80,26 @@ main() { check_file "dhcpd.conf" "$node" "cat /etc/dhcp/dhcpd.conf" "$local_dhcp" cat || rc_total=1 check_file "pihole.toml" "$node" \ "docker exec pihole cat /etc/pihole/pihole.toml" "$local_pihole" normalize_toml || rc_total=1 + check_file "ntp.conf" "$node" "cat /etc/ntpsec/ntp.conf" "$NTP_FILE" cat || rc_total=1 done + + # Technitium zones: binary DZ files, compared by md5 manifest against the + # primary (netinfra-01) — the replication source for -02. + if [[ "$nodes" == *01* ]]; then + remote_manifest="$(fetch 01 "cd $REMOTE_ZONE_DIR && md5sum -- *.zone | sort -k2")" + if [ -z "$remote_manifest" ]; then + echo "DRIFT-ERROR: technitium zones: live fetch empty (node 01 unreachable?)" + rc_total=1 + else + if diff -q <(gen_manifest "$ZONES_DIR") <(printf '%s\n' "$remote_manifest") >/dev/null 2>&1; then + echo "OK: technitium zones (node 01) in sync" + else + echo "DRIFT: technitium zones (node 01) manifest differs from git: $ZONES_DIR" + diff <(gen_manifest "$ZONES_DIR") <(printf '%s\n' "$remote_manifest") | head -10 + rc_total=1 + fi + fi + fi if [ "$rc_total" -eq 0 ]; then echo "drift-check: ALL IN SYNC" else diff --git a/netinfra/dns/technitium/zones/0.168.192.in-addr.arpa.zone b/netinfra/dns/technitium/zones/0.168.192.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..3e7c16d912274a9015be2d712ac378345cc49302 GIT binary patch literal 3708 zcmcgvJ#W-77Z(Hp}r%MLIE?IZGVT3*3 zr(KW6p0WGsc(iYzY#4}rEwOLIvDj>j&AupRw_r9x7hs0<4UI0P$(IECQG)EPS(1AG zG>nw15L)J|knt4R&%eUAVH^E-S!m_5vcc}<1Ur(!)|BBEU~lcKX!&})xr1pBr!$JD zlWB?_()t($+g22$4QQjKTlYcS&(Y@ldvOr!=hG$uftuAuOSf)qR&umi^)hWt;ueZ? zr_GJi$Kx3d8Wu*!RY|mLLOsY4=2aj}GgO9?2_;H@9*9~i7ltlJ0w z?AJaM(?ljIcEjx}ya2nrb35Ib0Nk(6#>t-80;*&#K$F?a6){Qi;fNwgIJa~b&%Fw8 zuMam~{FLOX^%?*tJGzWr*-8XRvdjyl;(e~%gfq|>5l|O@zZuN8Th-ctC~pnUvwWT5 tP@;l!D5J{l3}~|UWoT7jAAr~sPnis{O8W(9vcb*Js=fdKQ9iXe;vcU}E0+KO literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/0.75.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/0.75.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..fbec47435c757e47dbe3534d67cf644941443184 GIT binary patch literal 809 zcmZ>XV&M}t&@(sHGc+*J%gobFOi3xyODrl#WK_!TDVxp600E2)Ko%R2&1k@6ZpsW) z%nnt|0#Xc;11ex{VX)^YDXuKmP01@};LOM`E=f$u&CJ8431}Qx69c0T1E*C3h|S2! z7-#pe6l5_jU1VCtgvBbDADN6TaoNTLawDGrgNAHTYGQImVp2|Oa%#SAN@{U-Nq&KD zep(vPlj*4}*?Fls%z3FLqwWT$2Vh{Mhc_r7ApjT^IAfOyq|CyBfeR@i0o8{<69vcs RU}B_hD#UOqCz_2+3;=ZFu*(1d literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/1.168.192.in-addr.arpa.zone b/netinfra/dns/technitium/zones/1.168.192.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..01b4a2d2858ff26cb78edd94f3c0c631be571821 GIT binary patch literal 6114 zcmcgwO;6N77@oESSV2_4B^m)y@q3V#uU$_ZOia9KVm4@EEVMw`Zl`I>E+!s~@t_AU zCK^9t(0K7;{1N^FjR#I9-n<(BfHU0=wChZVl&yPevhDLe^UOQ%`#y8!R!3h^ols{> z6KYwTupFoxhBu*mt}b1BsTl7h(ELdNKb^(TlB(dh75sKr^mYe%8-PyohVlr^cL)AG z9~zDi3aiKubfacD+^+x_4!;7@MNqi>fILeDY3s(fc@moYS=L}9j9|*mDA+7FTrXK$ z-$8KnfMM1b(FR5SIXT?LPmM7oyt@?u9upBG;feq7{V)q&Tuw&#qLz!5$(mdD~ zv!OBo9T&z|-{6194|~~m+oyjPU1*6Z16dW9=CNW}kz5aL)UeCM31+V};H0**Uj+Bn z=I7s=(OQ6_?tQ2vpmcl>6~dt6I>DM$=aNjXK8rDxRdKR%1c*5&!u8kF7%XlBi;~ECpth3VivH1Qi3+QSth_!c(-QC$~a{iItYbm42vK zcVR=f?HXElf+SjJte}9s_YEQ%?b1!rGP)rGL=9&Iq)l<_9qsvpg-|lzGGo1gKvh1* zMcbRTCwTPwB%(GYKDw-Nl^{_sK#|19m1hVD8g*P0Z8yomwp|2`TG|jzni0y+DkL+> ze5>4#ZGd~%No?zNj97bGJt0U(vL?ZjxNa7ENC9y@ z%L&ZbKt`}G?T6dVA3FnartmNB2pqi^ZBol_Gzb=TZV{IF=8TmpG1E^ltA1=p{sIK9 BQq%wd literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/1.94.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/1.94.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..66a59c6f9a1c68dc991a7e48a2fd3df97ba3e71c GIT binary patch literal 611 zcmb`Dy$*sf5XY~Ds8vHujHA1Q5Qq%oqJvN2R&5iFQV8vUn*;CROZh(9qA>)6gYl*t z{vUV0^~QEafft2d;QQV|xRkNXqghJPeb~EQ5j+P02C(#w0vv^w7Pntw+lT>Lpruv; z%Z`#~=`taK>=UUdiw~m7q~l5xpec~W#q5Z@iXV&M}rG|)4%&@(hJ(96uzO-xBC(n~BVNM!6>aR1m`Mg|CAWB{_5fovv2112*I zW}s?zsA?9FY6b>2u!~u)z o;0+iikSP`p3|vS719V3RQt&cTKUgt*%86zt6D3{;8HSQR0PwqfbN~PV literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/100.100.10.in-addr.arpa.zone b/netinfra/dns/technitium/zones/100.100.10.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..8814c1d5822845e8e7c41f0d026e3b307067b867 GIT binary patch literal 1165 zcmZ>XV&M}vG%(PEV7<&d-NclXBE7_-f<#6uPP>dbj0_OK$N*$<0@=(!r69~?Xuu9t z&H_@-z`zDl!ra2($Wc;US*)9qSIoefkzZVrn39{Bhg%y1R2u`M4g;rE1IP$QPDYMY z8?fcL^^t8I6WEog*1`PBXoA~99*{%%1Q;ZE3)0GTL4GvR%}Xn0$<9m7Va`h}p-I>b zDaSJ730d6XN_Irj**X?<-!V{@T7anu0)YO&ldYIQ$G literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/103.110.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/103.110.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..15265f49e728aaf7440d1f8c2f5820f8b37c1ec2 GIT binary patch literal 529 zcmZ>XV&Ri8G%(gPG&ImNG%(Q1%+pOwNh#7xEGkH3WR-l=KZlV40vH*9EM_2^8K|Ba zs2)fgutU|efYdWEuz}UIFgS6P6jv7OrsNefaAxEemn5d-X6E71$H2e@G`EF;fl-Hn z)2ac)X5@rh&tzhWM=uY^PCfw!30|4@EZKRfIm~&fB{Xs{FeFeN3~~kp p0R4h5keEO!EgTrQkOB#)#VNYN85Y=#`1F$>$QW+sM6;KP0RRO8Ya9Ro literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/108.67.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/108.67.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..29394413a25f51694c0269b87db579413f3f9629 GIT binary patch literal 589 zcmZ>XV&M}vG_cS!GuJaTFwo1)(@jiCDbhm%DbkVjg8w!*Cg`pL)?w?#Z42l5Fp2(cHWmFXts7PDmMrRFf_rIvu5 t4hbLpLBj+x!oq=p3n^%T&R|6fVMbbnEQVJ((QIWR-|rx!IFLNR005r%cFzC+ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/110.107.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/110.107.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..97e4a2fff0651a3460b3956105716ef6ef14b6ad GIT binary patch literal 623 zcmZ>XV&Ri8G&ImNG%yEZ1HH^V-NclXBE7_-f<#8)mGP(MGcrH`BLfoy12d4#3{=ky zR1d@k>`?VAAoUCkYz#ov%qc=Rzq^)WE&FmPHm zfXrazgj(wus}DL0RR(o BgMXV&M}vG&IyRGto0NFwo1)(@jiCDbhsJ|hDJFfssH%s@6XP&t#C z2{TYRJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7*WDi$tS=dFOpJHtXrI#oL^9^n{837Tb`GnlFE{umzu+zms&y- zR|5kB)zu)kKmgD~c*2PZq|m~FfeR^|fI5;iTc*x|8o`K1JK4dE;b2ZQTbURDv36~d literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/115.121.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/115.121.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..fe4a5efaec8e612a811c27fc88bb5ed200e4a53d GIT binary patch literal 528 zcmZ>XV&Ri8G&I#SG&0mPG%(Q1%+pOwNh#7xEGkH3+;Kh1ZVn>@1TZoHSV#&9zyn!QX601=jKBLDyZ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/116.101.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/116.101.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..5de3dc37c66949c96173d72a7b910fa2971398ce GIT binary patch literal 532 zcmZ>XV&Ri8G&IvQG%y5W1HH^V-NclXBE7_-f<(rxC(WM(Fx zHGtTRoN()zEKKp}XV&Ri8G&I*UGyq`(z05q_#FUgGy~Lt|M8@i`6DG`IWPkuh1|W+W$YutrX9lVV zVgq)ldKQp+1_m~;nid8pj*{ZaV%?OyVg}BP{Nj?tl-$fbJo*?In1JTCFfcIcFmPHm zfY^+jaO;_jP4MXD0olnXz#z&6u`^lMz>p<7FExibFSUe5t_21Is%t@RfB>LJ@P!Z) kNTr1X0~b;V0ku4IXY8L1HG>hKe)2;Y!_Ay%_A)U50N#;o7ytkO literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/119.70.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/119.70.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..e01a72c26887660db46e4e6d913644ef147ae693 GIT binary patch literal 601 zcmZ>XV&M}vG_=$+H_$UQFwo1)(@jiCDbh`>(_Amt1UY+xlV42~Qn#g)anDS5>VoEiDWC5b7ynR&RiF+jC3FzPUHS~UP| zXkp}pTaH^F+14?EtN_{yw~m3y)DpKnJRtY+2{1_VmFARWR_NxZr2+kvp30J)mzu+z tms$e$03?*~2M`m;Bnt-yE~EegItDqM8EFx|7#`+Cvz3X`5I{GO0RWL5gLMD^ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/119.94.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/119.94.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..e02f704d2fc28f005e75c8d0f506d84bb0d6ff99 GIT binary patch literal 591 zcmZ>XV&M}vG_=&SG|@9OFwo1)(@jiCDbhs+B^KffpfNEo4)M4PX zY5*C*$O*R`w?4A119_wcXe-=021Zld*6@Iw$0xub%2iO5T2PdqqMMw^lAV{D!*rumQRQIfxl)5wsY7XV&Ri8G&0mPG_U|-1HH^V-NclXBE7_-f<(rjg>k3mGcrH`BLfoy12d4#3{=ky zR1d@k>`?VAAoUCkYz#ov%qc=Rzq^)WE&FmPHm zfXrazgjXV&Ri8G&0sRG%x{T1HH^V-NclXBE7_-f<#7#TT712Wn_Q=Mg|~@8OUY^s%HkO z2Vw(usCpKVdIknIu$mSICytWh%3|G=ykZ8M(Fx zHGtTRoN()z%uVs=@!pn{837o1B-QlB#Q9$da9xn!}uzT0$c?v!c5h tXV&Ri8G&0sRG&0pQG%(Q1%+pOwNh#7xEGkH3lxmrBXFekX1TZoHS&1}>!F0cx@0ahW&=Y6c@d{p1HPhMPIj>}6sA0E_l$Z~y=R literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/125.77.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/125.77.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..9e936c2ba464c63aaddca78c98bf1535e36f4ec1 GIT binary patch literal 518 zcmZ>XV&M}vG&0pQH`g;XFwo1)(@jiCDbh`>(_Amt1UY+xlV42~Qn#g)anDS5>VoEiDWC5b7ynR&RiF)%OzO>JRdVANsY zv}ypc89CvWGZ|ar*2)92kxzg@jJqH;wWy>tDOK0Nge5yKHHSGbwS*>a1qK1CTR~2M r0H8PUgbou(p@jnj7gFc|b#Mf4m^cS&1S1~pWCt#WgE`S`WnusT7i(*F literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/126.83.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/126.83.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..ef736e5647d81667f3ce495b79ee7886cdc46a4e GIT binary patch literal 591 zcmZ>XV&M}vG&0k(FxE3PFwo1)(@jiCDbhg0+#H&)Ewr#)Dp1U rApwLxY?wfXSU50nA%zXl9lMc&n2{Dii{V#JG+UV{@I1&YltcmmqJe;{ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/128.122.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/128.122.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..c2f07eb7e6e493e0546fefffdc5ee245134827fd GIT binary patch literal 530 zcmZ>XV&Ri8G_ue$G&0gNG%(Q1%+pOwNh#7xEGkH3TXV&Ri8G_uq)G&0mPG%(Q1%+pOwNh#7xEGkH3d^ywN%6vu!2w-FYvY3HvW}tc? zHe?2>XNRh10jXzTU<0dZVQ}IoDXuKmP01@};LOM`E=f$u&CJ82kAZ;+Xl@Gw1EUTD zr&R-p&BzJ2p4re4WFam~c|ex(2{0&#f-NmhO)f1;)h*92%1%nnOU_`)&P&Z<&Py$! zk;{QWg6eXRb07fdDSV;D1X5|?z`%tRT0kvZPb5#A12uyYpMLT~8^g_XV&M}vG_uq)v(Pg%Fwo1)(@jiCDbhX1aT2J|hDJFfuSPFfaqz%s}N# zW){pqM(Fx zHGqs@qA~(N6H#adeC%s(P zz>p<7FExibFSP{h5lCp^4=5&(i53nFTu1>0bQE%UGtwfQF+9$RW-Al5LIT}j1^~>I BgU$c| literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/13.109.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/13.109.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..437dcdbd689fe2de067852cc6d23afeee910c4da GIT binary patch literal 658 zcmZ>XV&M}vG}bdTumoZQz05q_#FUgGy~Lt|M8<%Ag}d_^86bd>0mxzjvY8BxnSsiI z*nl0XoCTzufq@OAgt>*mk)x!zvRF4Iub6=|Bfq#LF(o%M54Sd;kzj2Mj5-XQRt+FF zBPZN)W}Zg%q~HV5|H(VZt1!5sY}WlN~h}-sMEIm5DO{gN#E-X8=8z Bh;RS^ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/130.96.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/130.96.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..aff968b26abb7e05c7d10782af368305348fd74f GIT binary patch literal 1242 zcmZ>XV&M}vG&az)G}ALQFwo1)(@jiCDbh9d`1QcU}ONYxPWYCpmHWl zGiIQ2cBpa|ka7kFHjonL76wO-lH$r@-ITmy2F{H9;*!La+{`@O+CUmX+87vh7&xsO zKx{@%#s;-Qu;omq#<;cefNbOwV36W3F3BlK)=kQ+%1=wnOipFV&P&Z<&Py$!iF?_x zxOc{TNMI4`-prEJqEYu^OGXR~99Y5^mKbp-2C|bMovq_U_Z5KT`U|JxR5d^69a?ujVj+cP$L-eXeT>>F?`I4W-AlLK>#ulmPEio0RVev7B2t* literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/134.125.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/134.125.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..d9fc9512f21c1bac5bbbcbabe186fa7396c1b670 GIT binary patch literal 611 zcmZ>XV&Ri8G&a#QG&0pQG%(Q1%+pOwNh#7xEGkH3Z0&t=ZayOe1TZo%F)%O#*~~!o z%s}VoEiDWC5b7ynR$5hF+lY(FzPUH zS~Y;oVB~~bk4Gc<7J@v}0<;%yAp?`CF&>+EKu+WnV36c1NGsFLwkXz3&dX0pHDt-o xOU+@(6D4?6j0083Uf_DG_ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/135.87.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/135.87.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..29014445651f692d231b6a3c7895bab6355222d8 GIT binary patch literal 591 zcmZ>XV&M}vG&a?u#(l)PdF&W!xxlEjqU%skxM7@*o17XV&Ri8G&a*SG%y8X1HH^V-NclXBE7_-f<(rfR%_1BXJmi?Mg}GZ24*0e8K|Ba zs2+$7*rDoKKSJKkVc@iC z0GYwa3AY}PM)EBLd8P$uFWf=~CL?1!Ht~R*$S1%c#Gaj)lc`&j!jhern!}uzS^{=F oB#a0I4-?1?3kL=+q~HO%138!(X%oB{zU4%-mx+AuqZ`El0IKPHqW}N^ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/14.125.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/14.125.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..df088777904c211303544f260af84fd80d93c16a GIT binary patch literal 601 zcmZ>XV&M}vG|@9OGSxFQFwo1)(@jiCDbhJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;B3{Y(hj5-XQRt-Q~ zS{OOumgCk(wslM(D}c7btz%#^Hpgub56FFd0t}LT#U(ify2dHR$%%P+sYNW=d8s+f wd8s8}4?sc*e*iIoOtNrb;6e%@pkrPmg)<{9!WYBCoM^T(Q5pgu15uI-0KVvawEzGB literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/14.77.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/14.77.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..4a10616d6cfde6d062c279f4d93333e2b1bc3596 GIT binary patch literal 937 zcmZ>XV&M}rG|@9R*E2LQ(96uzO-xBC(n~BVNMt`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIWRzu!JO#2Er#5me19}4JL?p`?7|n57!UJ*}p8$ibP)1r_ezI<9W^sXTK~ZW! zQGN!kdd$`2L}WI$&<_J literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/140.97.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/140.97.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..87adde21d46d4d4690cbea9da713b0015b7863f9 GIT binary patch literal 613 zcmZ>XV&M}vG%?V#G}kjUFwo1)(@jiCDbhs+B^KffpfNEo4)M4PX zY5*C*$O*R`w?4A119_wcXe-=0pq~s(aa+U#av+}ogPd@2YH~?xaY<5Yif(dFerZZk zejZD9UTO|=UTO*08<4QVA52Uj<18E)xR8Pg=p^LOW~4O@ BgthXV&Ri8G%?dNG&ImNG%(Q1%+pOwNh#7xEGkH36rQSZcRnKn1TZoHS{RrZy_tXg$zta=6G!40eOv2fI)<_AgxRn3yWY>9j9T&Nk0vXV&M}vG_lmPG}bdTFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7Q0dL5CHT7o{(Vz jDYS54;6e%+pbll8!jH3|Mlj;hPIkazIG7X7Rwf1j&+=&S literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/149.95.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/149.95.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..f48b7b2a87c7386f34f09d543c6971bba765b3b0 GIT binary patch literal 837 zcmZ>XV&M}vG_lmPG}SXSFwo1)(@jiCDbh3!d0!0x7g`VBkVZTtFR9 XpveSe1S1~pWG5C32Xms?%ESNwKTf(r literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/151.91.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/151.91.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..5e24f979e457386801ce8126197e33a2fed76bfc GIT binary patch literal 591 zcmZ>XV&M}vG&R(-G}JRRFwo1)(@jiCDbhYnUP;yl9-a4nTJ~&15_IWqYeY7RRhq5 z7Di6E<+$~cZ5wtbTG{$Wa56FRh0t~_&1!-l)Wkm&XV&M}vG&RyQx6m^*Fwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxM7#NsLR@B|PONTG!T0~b;N0dXV&Ri8G&RvPG_=$+G%(Q1%+pOwNh#7xEGkH3?7x$@V?HAT1TZoHSk`5}zqW==GFnHT``|84#N literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/155.126.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/155.126.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..0195a7bb65262ebb6894a50bdb4f119f2789b317 GIT binary patch literal 525 zcmZ>XV&Ri8G&R*TG&0jOG%(Q1%+pOwNh#7xEGkH3^k$HpFo%%=0vH*9EM_2^8K|Ba zsGb?9o*k;51*D#Vfeoytg~5rVq`0zJHzlu_fiok&xFj(pH!}~9J_ZIRpt&s!42(Jq zoK_7WHX|q8dZ0y?cr^2XEaekm5avkFEJ;n&H85ex&P&Z<&Py$!kz;|Ofa+L~3m^dK n4}1Z{1X5|?z`%tRKtL@M?fk=G0nLa{KluTS;bu-WdzlyjmcnQ4 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/155.68.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/155.68.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..d6973bb765d67bc89c93b8662b9a6710f3246c1b GIT binary patch literal 615 zcmZ>XV&M}vG&R*Tv(Pg%Fwo1)(@jiCDbh%3|G=ykZ86agt&eQ$KptrU+6uQ0=qE!%+!pbG9LOiYATLs!np~1vT#}TUqML0|tec#d zpOVUwotK)!oR?Yx_6H=e@P`u<$UF-N1}>y<0=fw~xEW~?%ozUWM6;ENN&$gxE&~8i Cf`Hxt literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/156.67.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/156.67.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..380ca0b73b3a0768af5fc2aae2630651a3675626 GIT binary patch literal 521 zcmZ>XV&M}vG&R#RGuJaTFwo1)(@jiCDbhXV&Ri8G&R>VG&ImNG%(Q1%+pOwNh#7xEGkH3!t<>#?v=cVQ_=cSg=$i2XTKy@$3 s6%YXQ3cfI60;#lcVBkUuBcK+|-6_?xp=L1R(@%aFW4M_U&0Z!305WlFTL1t6 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/158.101.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/158.101.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..21041bdcadf5a05bc790f4e817e0290b55428f12 GIT binary patch literal 601 zcmZ>XV&Ri8G_}w(G%y5W1HH^V-NclXBE7_-f<(rfRw~oxGcrH`BLk4d3}iC{)iVRt z1F-=+R6PqwJp%(9SWOFq6GusLWwCBbUNHk_Mt*TgVoGji9v*!RP<;%HIt-jv4M00u z7&#elL9NH5k$el8K$ZaQgXV&Ri8G&9gMG%x~U1HH^V-NclXBE7_-f<(rmnC<80GcrH`BLk4d3}iC{)iVRt z1F-=+R6PqwJp%(9SWOFq6GusLWwCBbUNHk_Mt*TgVoGji9v*!R3@ku%TNoG^br?9U z8bEADPPp|<78ZE)@__8*6JU@NE=ViW&9*4kEziqON!10pz?daFFExibFSUe5&Sph- vHpnp$zyzf5IGYKi(!zm(3n{38TCQ%4n>Yt*1|vTGo?!WnusTm>Y1p literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/161.76.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/161.76.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..6fcd1b1516039f801dbbfe5afcd7e984e88a0e89 GIT binary patch literal 511 zcmZ>XV&M}vG&9sQH`6mTFwo1)(@jiCDbhOV|J|hDJFfssH%s@6XP&t#i z88c8hJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q71j2Fa2|%Mlj;hPIjnbIG7X7Rwf1j%Cc#t literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/162.98.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/162.98.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..5f62c66900db5ee5830483dd92477513b90ced72 GIT binary patch literal 1165 zcmZ>XV&M}vG&9n(w9qp&Fwo1)(@jiCDbhQ6s4pOFCq7#Wxt7&w7!W}tE= zOABV8a(1Y47LalV1~vwuV&)bGM~;%>%3|G=ykZ8XV&M}vG&9jNx6m^*Fwo1)(@jiCDbh`>(_Amt1UY+xlV42~Qn#g)anDS5>VoEiDWC5b7ynR&RiF)%OzO>JRdVANsY zv}ypc89CvWGZ~rT*2)92kxzg@jJqH;wWy>tDOK0Nm?b+eHHSGbwS*>a1qK1CTR~2M r0H8PUgbou(p@jnj7gFc|b?m7OpEw6<1S1~pWCt#WgE`S`WnusTp6+a? literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/168.101.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/168.101.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..0ca2a94f8144fbec6f9c54e7b0bda260a906151d GIT binary patch literal 1561 zcmZ>XV&Ri8G_%k%G%y5W1HH^V-NclXBE7_-f<(riUWL2!85tmek%5VUffvYT2C8QU zss~~NcBpz5ka`9NHU^+-<`xDgj*{ZaV%?OyVg}BP{Nj?tl-$fbJo*@*`WP5>7&xsO zKxQy1bPPOP*e+h=4}F7$Yf!F$4(xQWBCLaqy>solS@*IOOjGk zbTiWO@{?Jz^HOt|^HNJj-3(0-z<|IK&b`oZ#uLcoM=aefWI^{K!(dH67%l~7GFToT ztZrr{GjtV1(Q~J6X=ZT&QWgc~Vh8}H7<^?66DYr1I52P_6>7lJ16DeL%wWW)pZuhZ X;df3ndzpw#Y6JrVWH2lxfCB{pMFv}x literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/169.71.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/169.71.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..0066aeec5f362aa206e19f61dac63fc863693181 GIT binary patch literal 514 zcmZ>XV&M}vG_%w*H`FsUFwo1)(@jiCDbhQ0dL5CHT7 no{(VzDYS54;6e%+ppMzqDb=%~Mlj;hPIkazIG7X7Rwf1j>_%w- literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/17.93.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/17.93.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..dfe1ed0fbf12017216fbbcca31ae6c782e639c93 GIT binary patch literal 577 zcmZ>XV&M}rG}p5<)-yCP(96uzO-xBC(n~BVNMyXkyWsqMMg|CAWME=oUSAEjVc@iC z0GYtZ3AY-jHgYWkd7=eqC)_dyCUbL~w(x))$0xub#9myQlwXi(%#xj#n!}uzS^{=9 pBxLXg3KPf#3kL=+q(A|>0Xb-aAxrHb#qcF3nw?DKdK=v!1^}F_cm)6e literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/171.71.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/171.71.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..82a305e3184b362c6179e2ac98c391cdb8bfa26e GIT binary patch literal 603 zcmZ>XV&M}vG&j@(B0~cMz05q_#FUgGy~Lt|L`DUbhV%0o86bd>fr){E8OUY^DrYh` zWCki{hbm_QDQ93{V*n~aO)VDj0|ww!vk_3p8$gte?eNAZeD6hW?ouRqOO4vOLksr v4l_^y>;p(J;SV7ukWm&63|vSd1ayr8Qb04(B7iY`%!y_z6U9M*ZXyE!D_?tQ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/171.88.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/171.88.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..54855b870033db88ebfd6913fb0156246089ec84 GIT binary patch literal 625 zcmcJLy$ZrG6oqe+qE24?$KyDpG>oGtOl810S0Pg+L(}u>bVP7_2rvM#e`4jBQex%JyWDeffCgAG zsbJnRdana6HTX%P4dZz#>uqqi0UCinIk*VqKg#QUU)Q-Im2G|00gj{ko{qb(+k@di zi;WT5tOXAglbb}SGGk_2sNCC0kr64(bXV&Ri8G&j;SG_V9>1HH^V-NclXBE7_-f<(qk8@HdE&&U7)j0`{)Gmy;;RL=}l z55xxSQ1vVz^$ZMbU^OiaP8=o0mBqR#dBqHz8TrK}i7C06d3f|OFt7m4ZDC+w)M4PX zY5=hrIpNkbnV8_w%LB5LPk=#AxFD@eH`}6Ew>&RDB~=&X0#lakywn`#ywnmJIhz&T v*&xS2027eH<7_67N(%=DE~KCWYWct7>BKouGZ^vdCqJk$+{}q)FB1a*#x8Tm literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/175.71.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/175.71.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..0bba3e45fa171ffa39136868163f215c314925ec GIT binary patch literal 522 zcmZ>XV&M}vG&j{VH`FsUFwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxM7#NsN>GE;L|vhz}NnDbIgXyRUAFrc~@ t7HZ!-V@ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/175.89.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/175.89.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..089573b054dec7f16e121bb939d7aa0410114493 GIT binary patch literal 521 zcmZ>XV&M}vG&j|=u+%d&Fwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7XV&M}vG&j?;Fw-+MFwo1)(@jiCDbhM(Fx zHGqs@XV&M}vG`G;RG}kjUFwo1)(@jiCDbhJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7*WDi$tS=d$ybn8rkib1tec#dpOR|GlAV{D!XV&Ri8v@p~&G%yBY1HH^V-NclXBE7_-f<(s2i+Mg|~@8OUY^s%HkO z2Vw(usCpKVdIknIu$mSICytWh%3|G=ykZ8+#L>*-$eW@#!Z&kTKlMiDoYo0|2CpZvp@S literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/181.70.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/181.70.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..81e6d3b2558f79ff3b86845e63637f2365c9a693 GIT binary patch literal 603 zcmZ>XV&M}vv@p~&H_$UQFwo1)(@jiCDbhGJm{aJ|hDJFfssH%s@6XP&t#i z0W(lJJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;B3{Y(hj5-XQRt-QK zS{OOumgCk(wslM(D}c7btz%#^H^OZX56FFd0t{081!-lvd8s9td1*z7x(0?U*?Fls y%s>IK4 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/181.82.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/181.82.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..b187eb93f89494bbf185a24f6678225f1610947e GIT binary patch literal 811 zcmZ>XV&M}vv@q1OFw!$LFwo1)(@jiCDbhD+x+!_Z44fJH#U+U;xtV#mwJ|`oF)->da9TBh zj9}zsY`YhJ3S>EMePmk)^a#+EsMf*!%4}$8iQ7sZkW={t7^L`%QXV&M}vv@p^$Gt)CPFwo1)(@jiCDbh%3|G=ykZ86agt&eQ$KptrU+6uRhfyvMWw>>-{_wflZh;f6xRhpYrl$yhmotK)!oR?Yx qc0DAB@P`f)$QTO;1}>z~0l5SzkQr$axEQ|WM6;ENBJZP{#sC2E9(qau literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/182.97.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/182.97.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..8c0c7909bc3b1c3dda3e66f735180de03ad1d6a5 GIT binary patch literal 520 zcmZ>XV&M}vv@p`MG}kjUFwo1)(@jiCDbh(F&xZ^W-Ai|0PiGega7~l literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/183.112.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/183.112.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..44700cde0467b320be940093c716b335266c17d5 GIT binary patch literal 537 zcmZ>XV&Ri8v@q5)G&IsPG%(Q1%+pOwNh#7xEGkH36nc=iV?HAT1TZoHSXV&Ri8v@q5)G&0pQG%(Q1%+pOwNh#7xEGkH3yf#hY?tDfD2w-FYvY3HvW}tdz zpn7JYdUmLK7La-d1~#yo76vDdlH$r@-ITmy2F{H9;*!La+{`>Y`an7vm|GYa7VUd5uqiK}j6!wSuDjiroAP-IT?~(V2SXV&M}vv@q2(x70Htab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q70;nBN*{$Cp%;@9L$MkD-#0%^0sOW literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/186.66.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/186.66.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..1458ff41e9ec0342929ffc2bb4a5d3e20396f14a GIT binary patch literal 591 zcmZ>XV&M}vv@p{%Gt)CPFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=AwlQ(G7q7m)txOl>HDi|Sywn`#ywnn)qoLtL sAZ(aG3N0KMxRAnziGg9U`%lj~P$L*=5wsY7d0Q(ntQ2+n{ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/187.101.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/187.101.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..754521c6ac3fc9c2f3e5a6ca370f012039df640b GIT binary patch literal 615 zcmZ>XV&Ri8v@q8*G%y5W1HH^V-NclXBE7_-f<(qVuBS8SGcrH`BLk4d3}iC{)iVRt z1F-=+R6PqwJp%(9SWOFq6GusLWwCBbUNHk_Mt*TgVoGji9v*!RP<;%HIt-jv4M00u z7&+nAXV&M}vw6M^#G|@9OFwo1)(@jiCDbh-?+d3wY6+m0z)-f;m#Va!O2u*L8!Cz`EHl=vQG7)mk$0C}@`4*&oF literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/189.121.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/189.121.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..00164a3bd345d44a2983bca479b29d7af62fef40 GIT binary patch literal 601 zcmZ>XV&Ri8w6N4OG&0mPG%(Q1%+pOwNh#7xEGkH3RM^Y(cMc;11TZoHS}8@P06>PJq!s|>o_iwz literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/192.72.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/192.72.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..43e6f4f5f5c649cd1273795579721aa17aebc748 GIT binary patch literal 597 zcmZ>XV&M}vv^3H)H_|gSFwo1)(@jiCDbh-?+d3wY6+m0z)-f;{0sVu^TRb55@d+@9^Awll6eR1WCl)29r?O<{rRFf_ vrIvu54+$gu!NUYH$HIYu3n_SjPPvQ}%8axKT@3GXqS?wsng2n?p(GUmo8Wq6 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/194.67.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/194.67.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..31a86eb3dedb8ac0b24d258d56e183c0fa6980e6 GIT binary patch literal 511 zcmZ>XV&M}vv^3E(GuJaTFwo1)(@jiCDbhXV&M}vv^3GPG}bdTFwo1)(@jiCDbhH;?9jcrKq@00)4XmVv!I7h+xUyI`C9jx)Gb6vaBrzp7GY_{m1_maesVxi)j5-XQ zRt+FFBPZN)CJQ6nT6sV=@(D0V@fW0(>E@-DWagz6CF&X&v1I3^<}d>VXyRUAFrc~@ s;M1& literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/198.91.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/198.91.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..3edbcbcffd7d46b40376a4756810bdbefccec9a8 GIT binary patch literal 533 zcmZ>XV&M}vw6xH(G}JRRFwo1)(@jiCDbhF^AhmipS7#V;pW+0mxsGP~t zkQu0)9jcrKq@00)4XmVv!I7h+xUyI`C9jx)Gb6vaBrzp7GY_{m1_maesVxi)j5-XQ zRt+FFBPZN)W E02JnLB>(^b literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/199.90.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/199.90.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..377a1f43308469bd05e088dcdbdacd909623db3b GIT binary patch literal 522 zcmZ>XV&M}vw6xT-G|)3NFwo1)(@jiCDbh_@<}l}_me9n#z+gai uFUS=T0Q3r;5Mlx;v~XbHLJA?Ej^NY26X!sUV8o-H>;T4aFejR=Obh@c3To*9 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/2.168.192.in-addr.arpa.zone b/netinfra/dns/technitium/zones/2.168.192.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..8d8dbd18472072c16144015e8baad71e4a820e96 GIT binary patch literal 2630 zcmc&$Jx{_w7{0bdD4;P0Avzk}yvFjO=)~YJFfJ08lb+fD*QPCqn*)=-L8GIazr@AO z$=~2V@UHDe#9ko{jh!y(`|;e<_kErow=*l{s;2KZHT|%vnFJ!ka5UuDNcy<{Y&}aL zcqBkiC3=>s3XN81bT*96uxJ35ScEbLt(@oHy3imlP_Hf5Lq^{u!Yr1@vVgP;)T29g zmQ<;I^6s}5rX_8bjc7JL4Vo#sUK2JfvfHh!f}KqR_j=H>G3g_Mt}w*J!;bBkF3xlb z?kNO&DXn($HseQZD#9G3dB(PfwGTIG{q5Ne876!3q~r zxltGPGZ)#6I;*ZKx%T1++o literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/20.64.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/20.64.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..7c0e607a1f58a282701c5374c5bb62e3df8759d9 GIT binary patch literal 599 zcmZ>XV&M}rGSD+K(K9qK(96uzO-xBC(n~BVNMtO%V?Jv>BLf65G5}f3KsJ++0h5^t zGf*`oE46;JSsmUd&#U)9pDZ0gpc_~Tx6)f3# zsX5GfsU=_^KmrMG_%MMCvv6SGLJA+Cb4rjxnUVUTi{W8TG&`B75CR}GQBn&4yPJRP literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/200.96.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/200.96.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..bd9299090f3ea754f87a0d9456c8c4d45339d410 GIT binary patch literal 1137 zcmZ>XV&M}vGBD7yG}AK#Qki+Wi76>XdWl5^iHwIB?@XM-$N&M13_unakj)HK&SYuE z3{=hzRn7uZ&cMJ1Qo`KA;K)%@Tv@D}l2^>YnUP;yl9-a4nTJ~&15_IWqYeY7RRhQf zMoz}pk0QaAkVK|r*%~mD`0Fof{+W-In literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/201.95.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/201.95.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..3931c73f7380c979f80b1b3408f62b03dc74b40d GIT binary patch literal 611 zcmZ>XV&M}vGBDJ$G}SXSFwo1)(@jiCDbh)FFz$!7vxDx zmh8OL9Ok^#60k2IL4`k*m_Wu^I52P_g%Z$3$brpBi$KQkH7A;_OjHR5bW<4swLgUS literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/202.116.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/202.116.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..4b1a91de29b777edb3870b83677f84a6c14821e9 GIT binary patch literal 847 zcmZ>XV&Ri8GBDCJG&IvQG%(Q1%+pOwNh#7xEGkH3oG-SrY&IhU1TZoHS!_TyGf+J< zP(3qHJv&rA3rIak8mNZ3g~5rVq`0zJHzlu_fiok&xFj(pH!}~9J_e{h21XqQPOAox z8H}8aOTRxT1zC?rBl#9GfgOr!AXV&M}vGBDCJH`X&WFwo1)(@jiCDbh_zF>`>(_Amt1UY+xlV42~Qn#g)anDS5>VoEiDWC5b7ynR&RiF)%OzO>JRdVANsY zv}ypc89CvWGn(Vp$pf;GPk=#`D><)Rw>-ZnJGF=XV&M}vGBDD!FxN9QFwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxM7#Ns41%?2sQ$Y@Z0H81M n1P&8Op@jnj7gFE=b+D)3O`i=lf)S5)vcnd`!JKHeGBE%El__gj literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/204.86.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/204.86.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..fe3701b1702b86a70da75c4c3cd8360fbbf68737 GIT binary patch literal 599 zcmZ>XV&M}vGBDAzFw-+MFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3{Y(hj5-XQRt-QK zS{OOumgCk(wslM(D}c7btz%#^H^*%c56FFd0t^zoU~lDQCKaXTXV&M}vGBDROGt)CPFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7XV&M}vGSo9PFacr%z05q_#FUgGy~Lt|M8=Qv4j-Az$N&M13_un$kj-Rd$P82t z#0Kn8xU~U|1e)B!z`&@(z-iS0 zVl#5WEoZVcz^#=BWFwydgS0?#NlrnsZgEPHZgNg$YF-ITc3x@@b6#o*O&kmi2UG`x t+yMbVzu*ZXCXhl42L>*rAOh+*oWM9?4%7%nJle?)VGIXzqS?yC002pJZWI6j literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/210.70.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/210.70.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..311005c6d43a2736df22ff2468f657689379fbf5 GIT binary patch literal 518 zcmZ>XV&M}vGBnULH_$UQFwo1)(@jiCDbhvwPd`1QcU}ONYn1O6&pmHX2 z17@IdcBpa|ka7kFHn5Tw21kyP;>u#(l)PdF&W!xxlEjqU%skxM7#NsYVmO!+%~mD`01M)66aWAK literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/213.116.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/213.116.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..d42b9c6354f96f64ae47377ce3df6295db320425 GIT binary patch literal 521 zcmZ>XV&Ri8GBnmRG&IvQG%(Q1%+pOwNh#7xEGkH3Wbc`BXFekX1TZoHSXV&Ri8GBnjQG&0jOG%(Q1%+pOwNh#7xEGkH3oO03p%6vu!2w-FYvY3HvW}tdz zpn7JYdUmLK7La-d1~#yo76vDdlH$r@-ITmy2F{H9;*!La+{`>Y`WP6PfabO^Ffi&c za9TBh*o>TT>zPc<@#y6N*~ursAT3Z_l2eeZTbxp)Tbx={mRiJ;otK)!oR?ZcBR2yB w1J%tSmp}l}JNUwh38d1(fq@GtoPb*FD_ADXfttaHPe1wLjNxWZG<%sC045S{ApigX literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/215.84.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/215.84.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..e748ecf259c567041459778d3c753ed2a4e922bf GIT binary patch literal 516 zcmZ>XV&M}vGBnk*FwrwKFwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxM7#LW9rnWFJFzPUH zS~Y;!jGS=GnGB6_Yvlpi$S1%c!dZ}3rVFywh$TBOHHSGbwS*=vWkq)>$N><*1f+1g plnJEJ!hwMcDQti`%%|N?pA9vF5s!AVgBHWVoIqR6kZfgQ0009GYo-7I literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/216.77.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/216.77.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..5664ad69442bf40c2a3d6afd5a1a9a9d626e1c99 GIT binary patch literal 939 zcmZ>XV&M}vGBndOH`g;XFwo1)(@jiCDbh%3|G=ykZ8G7FjQbsGAJF)OkTK(abpisV5ma?&|EypfC&^m77h$tNU07O!?5%N fGJ+A0cCu3uhHp91Y-J)YS>fXV&Ri8GBVIJG=SjDJl({Ulp?*vqJl)mO$za+<})%t03!nv0|PUV%?wn}3{(%o z>`?VAAoUCkYz#ov%qc=Rzq^)WE&FmPHmfXraz zgjh^1wcU1Q>y^Vgi|G;lRL!6jne-A%{65ZNeJE>zruzGEpfk(9LB40BE#>`~Uy| literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/222.101.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/222.101.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..de88ca8957f6b217110ccd4475f0cc32d0ad224e GIT binary patch literal 527 zcmZ>XV&Ri8GBVOLG%y5W1HH^V-NclXBE7_-f<(s71^185Wn_Q=Mg|~@8OUY^s%HkO z2Vw(usCpKVdIknIu$mSICytWh%3|G=ykZ8M(Fx zHGtTRoN()zEG+QoXV&Ri8GBVOLG%y2V1HH^V-NclXBE7_-f<#97U)~evFfu>@BLk4d3}iC{)iVRt z1F-=+R6PqwJp%(9SWOFq6GusLWwCBbUNHk_Mt*TgVoGji9v*!RP<;%HIt-jv4M00u z7&+nABdHE@+#w^)+sX5Gf ssU=`PK!S=uC^3PIvT$JFLJB3IbC5%ukv5@>;b~4ZdzmN>1#}Y`0BJ>jL;wH) literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/224.105.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/224.105.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..c5a374a8bf388e23512da47a96bee154551344e4 GIT binary patch literal 538 zcmZ>XV&Ri8GBVLKG%y8X1HH^V-NclXBE7_-f<(sJhf#KO7#SddkpakJ2C|uf>Y0J+ zf!Kf@s-6X;o`Hc4tfqy*iKC>rvRF4Iub6=|Bfq#LF(o%M505?u1}31nEes5dIt-jv z4InlnC)|1_V-q}jc|dmZ2{0&%C8reY78K=IXV&M}vGBVLKGu1ORFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3{Y(hj5-XQRt-QK zS{OOumgCk(wslM(D}c7btz%%aFvV>T56FFd0u16j#idF41(~`jsb#t*EZKRfIm~&f rC1B@6!U%uxFoDdmaA4p<3LcXV&M}vGP2aOFw`?NFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7XV&M}rGS)M*&@(hJ(96uzO-xBC(n~BVNMvNc8gykoBLf65G5}f3KsJ++F_W1E zGf*`XV&M}vGB(h&Fw!$LFwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxM7@*o17XV&Ri8GB(sRG&0sRG%(Q1%+pOwNh#7xEGkH3Jb%LM%6vu!2w-FYvY3HvW}tdz zpn7JYdUmLK7La-d1~#yo76vDdlH$r@-ITmy2F{H9;*!La+{`>Y`WP6PfabO^Ffi&c za9TBh*o>TT>luylXypM}$tS=d!dZ}3rVFyxf+agIHHSGbwS-1)1qK4DTR~2M0H8PU ng%1-*rG*0n7gG2DwLCCC88#Pc1|vTGo?!WnusT(HdXV&Ri8GB(sRG&0jOG%(Q1%+pOwNh#7xEGkH3oZqQ%cRnKn1TZo%F)*+L*~~!o z%s}VoEiDWC5b7ynR$5hF+lY(FzPUH zS~Y;oVB}4vr0cLW;T}hm9kON}~0)V#QOEyfP txU_I!;6h5Lpwtaba3C`n@#!Z&*xS0swI(;p_ka literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/231.64.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/231.64.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..b96a0c4b65528f27a934b5891692cd89a8093798 GIT binary patch literal 597 zcmZ>XV&M}vGB(sRGto0NFwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxM7@*o17<6QpXV&M}vGB(mPH_|gSFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=AAVQ(G7q7XV&Ri8GB(yTG&I#SG%(Q1%+pOwNh#7xEGkH3OgdZnW_@<}l}_me9z#%vhWY z3$0P-Qkoc8&_kDj$S@V-1}6bs^fUlWAP@kIH+<=r36zv992mHe(l0P&&UyGL8I}(i a@#!Z&{bP8U6U|;G3c~XV&M}vGB(yTGuJaTFwo1)(@jiCDbhJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7qn+#!#&9qvnypL>008!ERR910 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/233.75.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/233.75.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..4850a58e39168fb87af1873fbeeb636264906aea GIT binary patch literal 526 zcmZ>XV&M}vGB(yTH`OyVFwo1)(@jiCDbh`>(_Amt1UY+xlV42~Qn#g)anDS5>VoEiDWC5b7ynR&RifiyBOw=gg;>M(Fx zHGtTRoN&vTj4W|$XV&Ri8GPck&G&0vSG%(Q1%+pOwNh#7xEGkH3EIA-|Wj-SV1TZo%F)%O#*~~!o z%s}VoEiDWC5b7ynR$5hF+lY(FzPUH zS~Y;oVB~~bk4Gc<7J@v}0<;%yAp?_DrU*fOU+@Dxq=f?m7gA^eomGq!>Ws7rZ4A$IqS?ztwa@^W HjFOH3K=X&A literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/24.117.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/24.117.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..5c1b5f5bce6e6c7e73dd0a4844391311782df9f6 GIT binary patch literal 623 zcmZ>XV&M}vGSM?MG}kjUFwo1)(@jiCDbhM(Fx zHGqs@MY1?Gxg@o?Bq=pTx1cD$A~(N6 zH#adeC%v2{J1;edIWM&Y>=#IY;SVb&kf9b13|vTI1#}m3kOM=U`azB1cTO~0nWz{T I=w>qj04+&|U;qFB literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/240.119.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/240.119.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..e524294aeebc9496724c6d79e7c1266a5cdc1aaa GIT binary patch literal 621 zcmZ>XV&Ri8GBMCIG_=$+G%(Q1%+pOwNh#7xEGkH3yq|aY+RCYQ85r0YfU22W7@RmtiYtqCQ}T)#I5YB#OA=FZGxPB1V}R;oVANsY zv}ypE!N>`>9*;)yEd+U{1!ynaLIx&7Lp(O|fSkxDz#u1FkXELfZBeXSo|m7JstfX{ zIZJk4Y7TQ=Y6;jQknkc9R7@cAEF2iPkb(;6rh7<1&Pbb}#_%~On!QZa2?~(0C@Ba4 D01Ssc literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/242.104.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/242.104.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..c3578e6d3101766b6af8bd84d2b0b743e1562616 GIT binary patch literal 535 zcmZ>XV&Ri8GBMIKG%x{T1HH^V-NclXBE7_-f<#8q>v=ooGcrH`BLk4d3}iC{)iVRt z1F-=+R6PqwJp%(9SWOFq6GusLWwCBbUNHk_Mt*TgVoGji9v*!R3`{_CTNoG^br?9U z8bEADPPp|wJ x;eqOGkYgYK=p%eV#RO7m;lRL!6jVShI#!)i=RnP1#HXM9pvG`BCz`!X3;^gTZtDO5 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/245.113.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/245.113.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..673218bc9b5b701d1f3af584750c1a390949e4ee GIT binary patch literal 955 zcmZ>XV&Ri8GBMRNG&I&TG%(Q1%+pOwNh#7xEGkH3tm;;{JD-sO0vH*X7#P@rY-XT( zW}tdzpn7(wdKQp+1_m|;plaq81}Bb^;>u#(l)PdF&W!xxlEjqU%sf2$7@+zX7E3mKRVjZE-Z#RGC9p8$h6PjPBVYH>+YYKm@h zB1?8&Y7TQ=Y6-oZ2@DrlvH!$yfsx814`NG#g)HU;@REg#!Z@QtAUn jGb|Z_%wWW)pZvsx;b~4Zdzpw$T{uGlWFjo$!Jz>FrHsq= literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/245.71.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/245.71.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..9d4b7cd4df217859dad347b93542690285ba0fa6 GIT binary patch literal 528 zcmZ>XV&M}vGBMRNH`FsUFwo1)(@jiCDbh`>(_Amt1UY+xlV42~Qn#g)anDS5>VoEiDWC5b7ynR&RiF)%OzO>JRdVANsY zv}ypc89CvW1MRWEt(OO6C7%F;yhwIlYEELNZboK$Mq+VsX;ETcaw-c*kU1~4geI;A y1_r9DL2iKnpoj2;6B9_Gg#!Z@QaAy1tn8|)oC`IA5s!AVgBioYoM^T(F#rH7k8r2} literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/246.104.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/246.104.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..3842177f4672117cedd2e1be8b381d03e86240dc GIT binary patch literal 539 zcmZ>XV&Ri8GBMLLG%x{T1HH^V-NclXBE7_-f<#6;wxzvu7#SddkpakJ2C|uf>Y0J+ zf!Kf@s-6X;o`Hc4tfqy*iKC>rvRF4Iub6=|Bfq#LF(o%M505?u1}31nEes5dIt-jv z4InlnC)|1_O9MQ5c|dmZ2{0&$gY7IR%CE@Huh30NEJ;jG%_~VQV#&@+&0)?k`N56hW==GFnHT_br*T*S literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/246.112.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/246.112.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..fd64acd2be0db9f227b3c9522f1e9a3319ee2eba GIT binary patch literal 532 zcmZ>XV&Ri8GBMLLG&IsPG%(Q1%+pOwNh#7xEGkH3bPqV~I){+~0vH*9EM_2^8K|Ba zsGb?9o*k;51*D#Vfeoytg~5rVq`0zJHzlu_fiok&xFj(pH!}~9J_ZIRpt&s!42(Jq zoK_7WHX|q8dM2PXV&M}vGBMXPGt)CPFwo1)(@jiCDbhXV&Ri8GBwaMG%y5W1HH^V-NclXBE7_-f<(qwF2+~pGcrH`BLfoy12d4#3{=ky zR1d@k>`?VAAoUCkYz#ov%qc=Rzq^)WE&FmPHm zfXrazgjXV&M}vGBwb%Fw!$LFwo1)(@jiCDbhtab>Y?N?tJoXGVT;Nn%QFW*%;B3=B*_Q(G7q7Fl5QjOU+@XV&Ri8GBwgOGy-A+1HH^V-NclXBE7_-f<(rKSdJ_685tmek%5VUff>kV2C8QU zs%HkOXNRh10jXzTU}FHPW^Q3{;wUMuEY?lQD`w!#$S*EQOv%m6!=sM@s*izDhk?_o z0b~XvC)|2G8p*d1JT|m<XE{nkv3tC;dM?ldzq*d79ev`(hvZv C@qy3) literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/26.101.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/26.101.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..dd61b2165926cd4b983f8e7d3996bbb69539a095 GIT binary patch literal 515 zcmZ>XV&M}vGSf3OFa%-)z05q_#FUgGy~Lt|M8>(BgC@>lWPkuh1|W+W$YwG!V+JY* zVgq)lau$$s1_m~;k`@L>j*{ZaV%?OyVg}BP{Nj?tl-$fb+}eOf0!?mVU|`f?;IwK0 zu^BnxmNS_eXV&M}vveYv)GSf3OFwo1)(@jiCDbhUH|FId`1QcU}RuoU|s+B^KffpfNEo4)M4PX zY5*C*$O*R`w?4A119_wcXe-=01||y&-1hK*+{Y)tpeP3RRzXpIMQ(nDZf;^`PI|en zfe}k~UTO|=UTO*0BaqO-A5csn6D=GVxR3%0=qTjy1_n3v!x_WloM^T(Q7a_S4Q2oU Ds04?2 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/3.168.192.in-addr.arpa.zone b/netinfra/dns/technitium/zones/3.168.192.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..3942d4692b6d955a1d3fb707ff616468cdf0e235 GIT binary patch literal 9335 zcmdU#Ply{;9LFb<)ta@tZP#wQyKO-YQ5B9zE%y2j4F8?Vvc0{~x%vIVql*p4@;aJB45gtN#CCMk)0~+#Q!}!r z=G|w@k$xxTbBe*|gO_|hbj*v94I-e$*-p!}nq*yf?KG*x8I3eKDHXz?a{lEYY9xNt zEbOscJ<{m9X%dMunK+R=gUIFuj1##M*&xQr(F1_wlIFRVNleAGh?FLrIKPozCk>a= z3^;!`5st*4M9cF4XH9lV)3j8rkS3Wpvx$>gWsvz@#fc5_jWof;d5!crDVP!ijNA#9m9iY!9&#BhE44J4#MzAWI4P4dgUNLr zgQdhjv>ab{J%cpq)@%}&ewp;pt2mxxS=}@t#raMgQiTEOH9H6#d7KGF8QIPI!6nXW z;#{f>F25j`B0qMP=hqES-y|Kq-EnnQOEX~Nye1AtW`KG8^&nuX{A~%rSgjVl8Mjjf z6X!K?Ff|64k1yZu-{Qq8e+gdM=SPg|IhsNf2JJLMCf4lE%mSQY@O|rAz<2jq&PqFX z2YO-@wXmz)()8KYFYjK2^qII*aua7qky4Wn{8i|u7soMq=wUdx(gX@kyP0XO4Dm*{ za~DhXg8C$b=gm9FlW%iy5s=a*8f$guoXyWMh#vS^_9Ju*n**Y?w28)9O?+Q}iopd7 z17dBQ0}m|(&@{Q#(1@qGUYe74H+ij(a)kne|9OmlMUJBg&&hRRHdJL11);HaqVq|h zKua}A*J$daZgV4Tigd4;V%Y&X+z&L4=K57XLvJ{m87_2y+{H^n z0Qt9pBl}^$Zz~SHA`x3%4;KeO@XA-uR<7fSWF?t@BR#xVvB`#F7+q`K46Q<-_QTzy zAK~PoXT52w7a)n%p#b0*S=?g_n42pRv*nU*yE|gD`^C9VsMBL;4)R)|%rMx)oIBd% z^P~10jV|LVVb%9QQ@$J;9RY7^wXzqN5AOpc$}IhccR9?6n| z)cLm^b9+*QlL12xbJ~7K3*}YrBIO^2X{otkSt9}R+^v;R92ds86|U?9YE(=&TaH3j zLx)!A>}@4Hq=hoSay2R#DqVr#=~hTkoGOt7a+s>?(@Ug$53276X^TL$#2u2QIl8uZ zO2g0?i_7zW4t8ciEb}9IaTdm;X_>Cm8{UU<-<~bri#>6gLn(9Ik+gIDZb3zrMQ^>aolp2>*2gwHJEr1az!xtM|@;f;dg~8q}~> g;CHmfcjZrghrSR4O9?F$3XV&M}rHqf&$(lazL(96uzO-xBC(n~BVNMu~sZghS=BLf65GB7bPFaz04#s*9l zM$ACf>`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIgjXV&M}vHr6vVG}SXSFwo1)(@jiCDbhJ5)IfNI3%o8(2vTgCj>tab>Y?N?tJoXGVT;Nn%QFW*%;BKqG-Bw=gg;>M(Fx zHGtTRoN&uQ_Tbjb1G17&fI)({G^Zr9LN_PByf`x@l_fhbHHSGbwS*?l1%?8ub3u-P r0H9Cs1P~KQp@jnj7g7KLb^OwE?VAlXf)S5)vcng{!JKHeGBE%Eq9kl; literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/33.79.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/33.79.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..4da746a52cee216153fea5347e4831b3bdb906e5 GIT binary patch literal 504 zcmZ>XV&M}rHr6w@)H5_N(96uzO-xBC(n~BVNMvN{nsR48BLf65G5}f3KsJ-HF_XC^ zGf*`PC>=5CC*O?l55j jsk3lk;6e%$poUGAp%dpoO<=^Wo7@n^a4jdAolFb>ofBr< literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/34.109.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/34.109.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..b806050d9accfe7e076c0bd039baf83e74090336 GIT binary patch literal 601 zcmZ>XV&M}vHqkRQumoZQz05q_#FUgGy~Lt|M8<}F(G%w|GC%+$1CYfGWHT9?FawnX zu>m_&ISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZfy)uZ48V$44hUCKwDZE zIpLP$)XV&M}vHq|pUFb84-z05q_#FUgGy~Lt|M8;Fg#e?QBGC%+$1CYfGWHT9?G6R(Z zu>m_&ISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZfy)uZ48V$44hUCKwDZE zIpLP$)s67Cy^qTiNXK?nTPBP1^_LAe9-^^ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/35.72.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/35.72.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..edeae18927b230d54670b47d78fe4978d82e9ba4 GIT binary patch literal 583 zcmZ>XV&M}rHq|pX(lazL(96uzO-xBC(n~BVNMxMyc4z+_Mg|CAWB{_5fovvYQzmmG zW}s?zsA?9FY6b>2u!vOwDD<&P&Z<&Py!;yBrcY oc*BJWWQK(U0~b=b0G%-zDRddBAF3E0W05SD^W&i*H literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/35.73.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/35.73.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..77e3d1eb8b9698c551d5d2984c3298131f101c40 GIT binary patch literal 583 zcmZ>XV&M}rHq|pX)-yCP(96uzO-xBC(n~BVNMzLiofkKkkpTi28GtNiAe+h9l*!zf z8K{~as+t9)nt_20tfGa%fup3jvRF4Iub6=|Bfq#LF(o%M52r2$s4fOZ9R^OT2A~}+ zjGS<*acU#iGA57(Ks(`hb|-aLlwiLoM?73QQ&iQvlsy8#drJw literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/37.119.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/37.119.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..e8132d1ba5b7fb6afd553cec00b7191325ce0431 GIT binary patch literal 837 zcmZ>XV&M}vHrF#WwA3>+Fwo1)(@jiCDbhJuuT&By=&j0`{)8<5RpY|ac+ z&J0w}4pq(qQVx;@Dq(J6aO5Z{t}NC~$tz~y%*Zb;NleMj%)_mX0jiCGQHO!kssUsK zBPZim*IQ*E%W>-?+d3w&D^ab3`IX7o7`Kf)AeZt9FlfjYr6wk4BqrsgCa31>rlgi7 zXV&M}rw$!sU)H5_N(96uzO-xBC(n~BVNMxM5IcVY>Mg|CAWB{_5fovvYOD0Q0 zW}s?zsA?9FY6b>2u!XV&M}vG1W6PGS)LRFwo1)(@jiCDbhM(Fx zHGqs@ha=XV&M}rG1s#+)-yCP(96uzO-xBC(n~BVNMy{_y~>`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIWGuPd54IYoHgYWkdIIP~RLk<9{$w=4X&n#9m3#sW@*)LkWx7R0y1AJtDLJX- ziAAZp21YE|d8s+fd8s8d2%RD4U}h{K3`XV&M}vvCuO#Fa}}+z05q_#FUgGy~Lt|M8@Vf6>sJm_&ISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZfy(09%J|2><{9 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/49.83.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/49.83.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..efdfb3499e427a80d2b59172a5a3b359eec51f1b GIT binary patch literal 601 zcmZ>XV&M}rvDC9L)-yCP(96uzO-xBC(n~BVNMwA)eE8gaMg|CAWME=oUSAEjVc@iC z0GYtZ3AY-jHgYWkd7=eqC)_dyCUaAqw(x))$0xubCtQ$Lrkib1tXrO!pOUHz@}L<@ zc3x@@b6#o**b9(Q!W%$LAk!=y7`TuE2XV&M}rvDC9L*E2LQ(96uzO-xBC(n~BVNMtm>mHB2qBLf65GB7bPFaz04CYDSV z=FC9V>`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIgjXV&M}rHPSP;)H5_N(96uzO-xBC(n~BVNMzhu$9ZKwBLf65GB7bPFaz04rbbNW zmdrra>`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIgjXV&M}rHP$n;&@(hJ(96uzO-xBC(n~BVNMxM4R;he8BLf65G5}cuKsJ-9F_W1E zGf*`Y?N?tJoXGVT;Nn%QFW*$ym3{YJRj5-XQRt+E% z7&#fM`h>t%&@C8p>{G#uDyVHpmhk?i#XK!#zJO4Vb{vQ)wCO zL)hsoSVFz}y&`S07F{i4#o{wqdBrry^YKu2I~#hqgUUq+02WWUD+eZ!ItvE|E~Lr< as38|x&Vx)~#I2j$(jLRLoM?73F#rIdNtuuU literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/54.106.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/54.106.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..2a87c95d1c954b91d369fd5fa7d0ee3bc339e780 GIT binary patch literal 2972 zcmZ>XV&M}vHPJIPFau%(z05q_#FUgGy~Lt|L`Kbt3U}u-GC%+$1CS*HWHXtXFawnX zu>m_&ISWWR0|OgK33CgBBS%SbWwCBbUNHk_Mt*TgVoGji9&T+wBf;7j7UJAc94*A=w0#*IR|s#4PmOMA39sdiN$v%m-~q?dE`Y3(#mwvYA-|D)?P!> z(Ol>uO^ap|h9$se6RgdKyUj#)D~%hApNMFi5ll0{CL9C+8&-INi3!x!vv6SGLTX(C l8;%ORC;I0=jbOy1oqFEpM6;ENxHc-GZ~z$#i#>37005XTl$ihk literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/56.64.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/56.64.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..b44f1a471bd5c50cf2b31e551e00d4e86e42e388 GIT binary patch literal 591 zcmZ>XV&M}rHPbUQ(K9qK(96uzO-xBC(n~BVNMtnloN#JBBLf65GB7bPFaz04re;iL zCd@$9>`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIgjXV&M}vGt@IQFb84-z05q_#FUgGy~Lt|M8+Pql*rFao-#5hXV&M}rGt{%N&@(hJ(96uzO-xBC(n~BVNMvl-7d>$fBLf65G5}f3KsJ+^A(Mp# zGf*`yev0olhVz#z$2kXELfZBeY7oR^=HYQ&PAmzu+zms&ytw*mtI)vX{m qKmgDixWk4Cq|U;DfeR^YfEskl0>WV-%!pezxgm?;T23@OnHT`+v}oG^ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/62.90.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/62.90.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..f45e6dbfa0efacb4da99baa71c02738f1f226f7e GIT binary patch literal 513 zcmZ>XV&M}rGt#p(&@(hJ(96uzO-xBC(n~BVNMvk0l(%C(BLf65G5}f3KsJ+^5tF3> zGf*`LBa0d<(NS%cP0~b=@05z;MY??X;Y62r}-Q)%>hHE*|>||m90PaX@Gynhq literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/64.103.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/64.103.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..a66bc39dccb783edc567b968790d73525c4a7af0 GIT binary patch literal 518 zcmZ>XV&M}vGto0NFa}}+z05q_#FUgGy~Lt|M8;#87FXsoGC%+$1CYfGWHXtWFawnX zu>m_&ISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZf!s#fhM;wFfi&ca9TBh z*o>TT%b6^UaBJlO*~llrAjVygR;HVmT9TBXU&4}|mzu*2XV&M}vGu1ORGSM?MFwo1)(@jiCDbhu#(l)PdF&W!xxlEjqU%skxMz{WDSFfcIcFmPHm z0J$xUoN&v5_88*U%LB5KPk=#$vmmWZ7i6soOLksr4s%{=2~C{J0&*U*Q$Y@Z045-X m+oen(g%%DBTu6Zf)FCD|-xwCgjCiz@9kv(_=0vlVi2(r5?P;k1 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/68.81.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/68.81.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..a34c3e9f239614c5358ccfd141c45879074f808f GIT binary patch literal 512 zcmZ>XV&M}rv(U3J)H5_N(96uzO-xBC(n~BVNMsB-?K^P}BLf65G5}f3KsJ+^1(Ss# zGf*`XV&M}rv(z&;)iX3O(96uzO-xBC(n~BVNMz*bm~v-6BLf65G5}f3KsJ+^C6l=+ zGf*`XV&M}rv(&RR)iX3O(96uzO-xBC(n~BVNMwAt^~#m`j0_OK$iT$Fzzk$FnOQPf znlb}bvqM$0fK)RuurUDDGPf`|aFi5R7VDJPPkXV&M}vH_$UQfZ)tL-NclXBE7_-f<(qov*P<^GcrH`BLk4d3}iEz8!!WvgD^W( zISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZfy)uZ48V$44hUCKwDZEIpLP$ z)2r+?7vT$JFLJA?EYi=L~G$Snn7{kY$Xtpv@90VW}Q4$OQ)%Ji! literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/70.109.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/70.109.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..a121042db238288b19cbed95ef968c3f5a6f28da GIT binary patch literal 603 zcmZ>XV&M}vH_$UQumoZQz05q_#FUgGy~Lt|L`LVknQ!JZGC%+$0}}%SGmy<>Zomvw z4#WoRP~|KjD+x+!_Z44fJH#U+U;xtV#mwJ|`oF)->da9TBh zj9}!1TaH^F+17zP(gL&XV&M}vH_|gSFa%-)z05q_#FUgGy~Lt|L`J7uKH+m186bd>0mxzovYE_{n1RZH z*nl0XoCTzufq@OIq=mteqola9ST`lFn1M4RzqlkZB{wqAc-HU>r=22QI6pe-$o zoN&u=>m%DbCXf|CTjAC*06k-Y+aey21Nj6PM7au5Q;SMUlTvjJShDj{bC~l|OTey& n1QGtwVFHXV&M}vH_|gSwA3>+Fwo1)(@jiCDbhM(Fx zHGqs@4vl!XHW7g7iTU4tCZz;LF10Au)=6U|m8ih}^%LXV&M}rH`22(&@(hJ(96uzO-xBC(n~BVNMuwJ;=MATkpTi28JHLtn1O62b0a1T z17@IVcBpC=kZJ}7HU^+t<`xDAj*{ZaV%?OyVg}BP{Nj?tl-$fboVpmGx)>OB7&xsO zKqfG9!mY-sjao@fEu3AYUBA48nB@PHi0C%~X6R-Bq#l3HAnl$xSjP?TShn_r<@ zP?pM)otK)!oR?Yx_5~!M@P-i+$UqAR1}>y90y+sfq=5lV?GVQBG$)#!OjHU5baNR1 DiC=y| literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/76.126.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/76.126.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..4c9caba8c28b64a4422e81e49f8e7e2f08823e38 GIT binary patch literal 527 zcmZ>XV&M}vH`6mT0%8LLz05q_#FUgGy~Lt|L`JsiK(jfF3=qJ`0Aw)(*-YkU%s}PL zK;`UExU~U|1e)B!z`&@(z-iS0 zVl#5WEoU+}#;uhHWFwydgS<#VTA6NXUS?XRZgPHJNl|`IPHGWLc3x@@b6#o*O&kpj x3sgsg+yVhW|KJHGCXhl42L>*rU;^q0T6iygHq;14Jle?)Wef*%qS?yC000kdZ9o73 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/76.95.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/76.95.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..a1d96fe978489b0e447156cc4165e8236cf45edc GIT binary patch literal 514 zcmZ>XV&M}rH`B8;)iX3O(96uzO-xBC(n~BVNMxMwD#~sSBLf65G5}f3KsJ-P8Iz?c zGf*`XV&M}vH`g;XGSD+LFwo1)(@jiCDbhB{>Djx`{<4Mfv%;EZKRf yIm~&fC14LgLJ5BWF@X%SaA4p<3Lv0kwjzZyBQ3%g!^50twlYx~0w4oXk_!L@nR*rg literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/77.70.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/77.70.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..e8346aab3fc55d6b9773d13db46437f36115d1fe GIT binary patch literal 581 zcmZ>XV&M}rH`g;a&@(hJ(96uzO-xBC(n~BVNMzi&;&#s*Mg|CAWB{_5fovvob0%{G zW}s?zsA?9FY6b>2u!XV&N0FFw`?NG|@9OFwo1)(@jiCDbh-?+d3wY6+m0z)-eD*V~*P*9*_h11Q=8#3)0GT3ySh9a`P*6lM<7&OAB<1 zQ;W({i&(PrQgfK|QcJ*|frJ?Tz+wU!YT>}Zg%nsohZQ1)IU_B?8pHFPXtpv@Gc-Vk Hqa-5$?Ma7O literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/84.114.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/84.114.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..7fa07ba02a94a1476fc773a289a6b038236dbbab GIT binary patch literal 513 zcmZ>XV&N0FFwrwK1Y!dNz05q_#FUgGy~Lt|L`LDZDR<^GGC%+$1CYfGWHVWqFawn{ z1C_Hwm9v19Gcd4$m9#K8a+DNT7VDP@0|TQD1E*C3 zh|S0ex17nu61P?!kd1r-41#RA1(~`AhAi26sX5GfsUTu$GFmVpl2u3{G$qrWx2Xms?%ESNw|08GQ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/86.75.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/86.75.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..2e6f39245fc50c7db0ed83f3be241e20b9b75be1 GIT binary patch literal 511 zcmZ>XV&N0BFw-+P)iX3O(96uzO-xBC(n~BVNMyX@nYCj+BLf65G5}f3KsJ+w8I!pw zGf*`XV&N0Bu+TFz*E2LQ(96uzO-xBC(n~BVNMw9yellz>BLf65G5}f3KsJ+w1(TUM zGf*`mdN>1Kh#F k1X5?=z`%tREIXV&N0B)H5_R&@(hJ(96uzO-xBC(n~BVNMuw$8FXbnBLf65G5}f3KsKW#Gf*`% zP&GSLH48{J0|OgaMGJ!iM@eyIv2IFUF#~5tesM`+N^WKzPF)NPOh9v6fadBja9TBh z*o>TTtC=hfaq8p&*~cfqAk2}TS(2KlYhc8ZotK)!oR?Zc16KmQj_OK~?GOO;0Pav> j0;#ibVBkUu6`+Q?|9;_fpe6u=mfB&8;aW~KJDC^&&0J@d literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/9.114.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/9.114.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..01550921ad2065b0df2fd84989f5b3a584f8c466 GIT binary patch literal 607 zcmZ>XV&N0B)H5_R(K9qK(96uzO-xBC(n~BVNMtlTYkXxsBLf65GB7bPFaz0)mdrra z%s|!bP}M9T)eH=53_!KaEesAECB>D+x+!_Z44fJH#U+U;xtV!5bpZ_o>tbNkVc@iC z0I?Z4;a20+My_QbPqYB-gj>eIWMYZa79Nn}_yiaf#R`g23yShnbb&-gZhnPsZenIm zdO1sWUTO|=UTO*07m$F$8%9hZ11%gFxRAmK=p+NAkY=QQ2xEAf6U|O0Dun{bT$EG; E0DiH8`~Uy| literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/9.126.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/9.126.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..cd14de48d4f4b2031391d93719e9aab4477f3a4a GIT binary patch literal 1177 zcmZ>XV&N0B)H5_P(=#+M(96uzO-xBC(n~BVNMy8OIel(EBLf65GB7bPa01zkmdrra z%s|!bP}M9T)eH=53_!KaEesAECB>D+x+!_Z44fJH#U+U;xtV!5bpZ_o>tbNkVc@iC z0I?Z48COj`4z?PnHgYWkdIIP~RLfxgWHvN3!f7E7$enxw406H+X=S?E7R9>ddHE@+ zx*)$Avt;L`<}l}_me3%0hMtR=@q{tX@Fh1w>1r7Zy3ZJ>lV+fKi~;Bw-1&XV&N0D)U&YEGc+*J%gobFOi3xyODrl#WV|$S%ANU)3=qJ`0Aw)(*^HJ<7M9FF z#q3bUEFi@U3~XQpEe!S?CB>D+x+!_Z44fJH#U+U;xtV#mG%+wR0ZnZInySOVY1IH? zGjhT$W->9urI80@8=nA!7%))_z3n@&1>SK+3!{XV&N0FG}JRRG}ALQFwo1)(@jiCDbhs+B^KffpfNEo4)M4PX zY5*C*$O*R`w?4A119_wcXe-=01}0+@-1hK*+{Y)tAj(ymQ<7Ps3-nATOLksr4s%{= w3E1(F5W*igOdwM%92mHe0te`j;2nrC1_m+p!xqD{oM^T(QQ~`$VJOK200K{bIsgCw literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/92.81.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/92.81.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..42b11ba0d20a9ee62f8b2ea7894b1576164bcfc4 GIT binary patch literal 587 zcmZ>XV&N0BG}5y$)H5_N(96uzO-xBC(n~BVNM!6}PpzKK$N&M13_un$kj-Ri#AIQ} z3{=eyRm}oY&A`A0R?))Xz)@0MS*)9qSIoefkzZVrn39{Bhf@~=R2KuI4g;rE1JI5Z zMozfZIJJ>$8576?pq+5b7?{jVaN5EHavYxkgE&ueO0jOXMR9Uoeo87!c3x@@b6#o* t*zJ(u!5cD6AY&{X7`Tu^2I!C)r0`{=ez;XV&N0FG}bdTFacr%z05q_#FUgGy~Lt|M8=)7lTzj~GC%+$1CYfGWHVVBGXs?a zu>m_&ISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZf!s#fhM;wFfi&ca9TBh z*o>TT%bCm#aBJlO*~llrAi)c^F()&rC^av)m?b+eHHSGbwS*?F1qK4DYe9~H0H87N5Nf)S5)vV#}H!JKHeGBE%EmJn-0 literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/94.85.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/94.85.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..1aca623ea8debb92e65e6420a1cab9bfff4eb4f5 GIT binary patch literal 509 zcmZ>XV&N0BG|{s#)iX3O(96uzO-xBC(n~BVNMz)flbkSzkpTi28GtNiAe+h3gvr8` z8K{~as+t9)nt_20tfGa%fup3jvRF4Iub6=|Bfq#LF(o%M52r4mfk1Ox7#J9J7&xsO zKx{@%xYbN%mN<3tfb8QFU=ZUjNKGv&DNRb%H85ex&P&Z<&Py$!fkT15M|CL30T2N6 n1MYxf0;#ibVBkUu7@&rbX5VmF@G|1oO>VGaxRw*mP9_Eb4J2i! literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/94.92.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/94.92.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..1fa6eb44f623a3448e94cf672e19b8c613544807 GIT binary patch literal 601 zcmZ>XV&N0BG|{s((lazL(96uzO-xBC(n~BVNMxLs5PxbuBLf65GB7bPFaz04mL^P= zM$ACf>`>J#Ak_>EYz#oP%qICU{VbulpNFmPHm zfJ|WIgjTX;Z@;}c+z6E03oE=eseNlH!8&B;tEO3lkH zX35S=&0)?XV&N0FG}ALQFalx&z05q_#FUgGy~Lt|M8-35%Y)`HGC%+$1CYfGWHVWsF$0wY zu>m_&ISWWR0|OgaNehD`M@eyIv2IFUF#~5tesM`+N^WKzZfy)uZ48V$44hUCKwDZE zIpLP$)XV&N0BG}E&%*E2LQ(96uzO-xBC(n~BVNMw}X%k*~+BLf65G5}f3KsJ-58Iy%M zGf*`XV&N0FG}kjU1Y!dNz05q_#FUgGy~Lt|L`KOUp{M3EGC%+$1CYfGWHVWsGXs?~ z1C_Hwm9v19Gcd4$m9#K8a+DNT7VDP@0|TQD1E*C3 zh|S0ex17n`1h-Zmkd1r-43d1=d8s*xnYsl*r00Qc$IayLU7it6}9_?g@FNT9T(QIX6000rIZ8iV^ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/99.109.100.in-addr.arpa.zone b/netinfra/dns/technitium/zones/99.109.100.in-addr.arpa.zone new file mode 100644 index 0000000000000000000000000000000000000000..f9b1f9bd9ff034a4cf652cd06ffa4c310ef9065b GIT binary patch literal 599 zcmZ>XV&N0FwA3>+0AT~Y%sk!1l$0X9#G-;kMh|taEAtr{Ab^p9iGhI`$Y!#%WCkh+ zVgq)lau$$s1_m|;pkn4021kyP;>u#(l)PdF&W!xxlEjqU%skxM7@*o17p&i90on?;jsfH$+!pbG9LOiYAkI@zlv+@fpQ2lqpIN|?otK)!oR?Yx xc0VML@P`i*$Q%m?1}>!V0lEb_n1P{8{ouv$FDFpM9Vv2|C=39QdC0zC00585dF}uJ literal 0 HcmV?d00001 diff --git a/netinfra/dns/technitium/zones/knel.net.zone b/netinfra/dns/technitium/zones/knel.net.zone new file mode 100644 index 0000000000000000000000000000000000000000..5914fd8b7abbeb077e3867736126460856e0d32a GIT binary patch literal 8849 zcmc(l4Qv$0702&v2m5T_8Qa)=iPQok+R`ol!gh!o88F5naRH}dAjsr9!~sQ3<0@?uh>{4J1Se^UNe{bf!H*aRI>4#Z?oE}wDzN<>6cg0hg=z!Og{PBA5t8)B03*OJf z?|VFx;D4D9c&c(tqu&saYIuCznqi74BCGUseedu5ntaaV{f@`CXe+$-`n;DuytNUA z&y6Xj+}9;b3Ze`i8NU^n?8!pLUpJ>EI`~bF=+pO|C!&l}%3j>~0e5jM+`KJmVM$Qe z%x*~+6fr0%LR6PkQ_>l`?HL*w&a6pqhTQZSrPOC=H^-qr?o2u~-7pm)B&wP!82FEh zT@!Uv*R%*D#X9v!dQQ37z$m5e)Fb1a^2|Vzq6k`4QX`@&h9yCQwZThdNQ?sGOGa;c zzD$tDdGp{4U$sNtFiI)=@-og^oUmgPani-A4j3>m+7%aq5d%jYlf5((ah&Dfc-6Gr zh;iIF^m)<^Kezz}snW%fy!0G#(@o2fILDE~59-N!*pA%d;>e=(9C6c4%aH`fk<;%q z5=R1fXTSwa3rd11874D6lOma+^gQ{$3HNb4zQ6Mq#AC+A)N}KO57^JKaP`{D#KI|% zC3u^bji@4<0@Bp5;!wQ2kEgdXZt`hO&?b&QR+CaFg>ZaHLPV5Rp-a&;hpp0kGCgP9 zw9|6t%y?%!rLaMY(WoMsaY2#evKn^Y9lfieK}!B;_zz=42E0?>=*eZ;vJ8*s+y`gE z`$icr`}x!(bb`&kapPuq{bE!w#h@ZZw3zCY>b1bFy7298%N|cY#uB2UxKQ3VfXbOa zmr_Nk&la!;SI(#G_4QYPTfHNh^fX!k7{h9Y$QT7kiU+kmA*5(Aq-)$w7bRMz19&kw z>EwQE#ZwPY&p zQ5#65y#dJTuaeURDj`iZ^f*rlw?y^8_}^@(e%78YU{Ktl0A>CF0Bu_Z4aLa-ghd@X z$ta2ml@3xxKyDviQEN*T0=ZE#4ct_#xV7e^sO>KaKo1>!idq=}w5Q$>LaK%&t|Z#B zZ6Rv` zq9EFk^&vHu125z%Z~Dq47PsfnEaSknT==faI{?0v`M#@i9T!ggGY{bNsyloO7vAuj zB>+FW?>(w~T{}C_R@0KKNif|w7iG0e7ljIbTr|H<)^|zW#RGO+6pRJ=fwBChDWF(Z zzLjP^$xGMct(T-sgBO6D$&rm=1G`*=%5Y z<~Xnh*z2h41NPB!h9!BYFT_Pmmz=qL;Fisvz|{)ww&nm=FpuF#_~| zHrCz>^tT4f=q&MQekips$O2l64AM{{F{tC45{O-Vx4_F8T(Ua=9Gt)Nn7zaKU~yn( zx$!0D-B^SiGkGeg|Lq_kWp8JEJvMT#c`^m;rqLrgNl9WHVEnqbOFam}smpmK2dPrGd6NPL1yji7cJWZ8Kvp1z~NMt*Wzw-XB!$zyX7B5QVR z<^tJfZBzM$dF^%*n&^cmpP7j8%kk}VG_Y{Nf7K3qwd}KWt)OW^o^jZ*Uja7qT4Mi1 zC4TKz_s#^Q_;F_HZKXOFrC$TKctBStD)9@w^xU0*e6pzg3A>`$O0M?q?4gA|mUgQ>B88gLbtJE@wV;T+LaTB|a`QF#IQNDPt!h~g{Olq>Sk@`Cm40$w`%f<;%7Tu`efO&* zVIqf_MZ3=HFR<9U{3H9?^*>*NA*{!3WQYL1fr|>&X!Q9Mce1tw<^p%6qUT4w%zD*(Uu zAE0}8@~+aULs&nLOv2D>ZS-Ow8=6)8K#}WzS0~v8KI(X}&9=#(1l$UF&z$drWyfEf zO0j%`!4p3%!d;?~;S932fs%DYw39LQ!1ha3H zju{|X^c;?TsOdgZca~;+opkg0m??}zu;Qk9?&;aQ#jLK*1CJG^qngs9O$q8#3ZX8j3XU0B-3y<{~ut{R#3chwGEM zo@|h>oMMYEF>j`SEu@d)nR={7Dcq(0Vt!pIejVx}&M U_?c6fYp3)}a!IM?eopoN2O>a9)Bpeg literal 0 HcmV?d00001 diff --git a/netinfra/ntp/ntp.conf b/netinfra/ntp/ntp.conf new file mode 100644 index 0000000..5d59b4c --- /dev/null +++ b/netinfra/ntp/ntp.conf @@ -0,0 +1,49 @@ +# /etc/ntpsec/ntp.conf, configuration for ntpd; see ntp.conf(5) for help + +driftfile /var/lib/ntpsec/ntp.drift +leapfile /usr/share/zoneinfo/leap-seconds.list + +# To enable Network Time Security support as a server, obtain a certificate +# (e.g., with Let's Encrypt), place the cert and key in the paths below, and +# uncomment: +# nts cert /etc/ntpsec/cert-chain.pem +# nts key /etc/ntpsec/key.pem +# nts enable + +# You must create /var/log/ntpsec (owned by ntpsec:ntpsec) to enable logging. +#statsdir /var/log/ntpsec/ +#statistics loopstats peerstats clockstats +#filegen loopstats file loopstats type day enable +#filegen peerstats file peerstats type day enable +#filegen clockstats file clockstats type day enable + +# This should be maxclock 7, but the pool entries count towards maxclock. +tos maxclock 11 + +# Comment this out if you have a refclock and want it to be able to discipline +# the clock by itself (e.g. if the system is not connected to the network). +tos minclock 4 minsane 3 + +# Specify one or more NTP servers. + +# Public NTP servers supporting Network Time Security: +# server time.cloudflare.com nts + +# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will +# pick a different set every time it starts up. Please consider joining the +# pool: +pool pool.ntp.org iburst + +# Access control configuration; see /usr/share/doc/ntpsec-doc/html/accopt.html +# for details. +# +# Note that "restrict" applies to both servers and clients, so a configuration +# that might be intended to block requests from certain clients could also end +# up blocking replies from your own upstream servers. + +# By default, exchange time with everybody, but don't allow configuration. +restrict default kod nomodify noquery limited + +# Local users may interrogate the ntp server more closely. +restrict 127.0.0.1 +restrict ::1 diff --git a/tests/unit/dns-drift-check.sh b/tests/unit/dns-drift-check.sh index efb6946..84dbb20 100755 --- a/tests/unit/dns-drift-check.sh +++ b/tests/unit/dns-drift-check.sh @@ -60,6 +60,48 @@ test_redact_strips_secrets test_normalize_drops_timestamp test_normalize_implies_redaction +test_ntp_conf_tracked() { + if [[ -n "${NTP_FILE:-}" && -f "$NTP_FILE" ]]; then + echo "✅ NTP_FILE points at tracked canonical config" + else + echo "❌ NTP_FILE missing or file absent: ${NTP_FILE:-unset}" + ((++failed)) + fi +} + +test_zones_dir_tracked() { + if [[ -n "${ZONES_DIR:-}" && -d "$ZONES_DIR" ]] && compgen -G "${ZONES_DIR}/*.zone" > /dev/null; then + echo "✅ ZONES_DIR present with zone files" + else + echo "❌ ZONES_DIR missing or empty: ${ZONES_DIR:-unset}" + ((++failed)) + fi +} + +test_gen_manifest_sorted_md5() { + local fxt out n + fxt="$(mktemp -d)" + printf 'A' > "$fxt/zz.zone" + printf 'B' > "$fxt/aa.zone" + printf 'S' > "$fxt/ignored.txt" + out="$(gen_manifest "$fxt")" + n="$(wc -l <<<"$out")" + if [[ "$n" -eq 2 ]] \ + && grep -qE '^[0-9a-f]{32} (aa|zz)\.zone$' <<<"$out" \ + && [[ "$(head -1 <<<"$out")" == *"aa.zone" ]] \ + && ! grep -q 'ignored' <<<"$out"; then + echo "✅ gen_manifest: md5 of *.zone only, name-sorted" + else + echo "❌ gen_manifest wrong output" + ((++failed)) + fi + rm -rf "$fxt" +} + +test_ntp_conf_tracked +test_zones_dir_tracked +test_gen_manifest_sorted_md5 + if ((failed > 0)); then echo "❌ $failed drift-check test(s) failed" exit 1