Commit c7b52e16 authored by Vitaly Lipatov's avatar Vitaly Lipatov

memory: add lesson on checking both DNS zones for free IPs

Searching only PTR records misses A-only entries; verify candidate IP in both office.etersoft.ru and 0.168.192.in-addr.arpa, then ping. Co-Authored-By: 's avatarClaude Opus 4.7 (1M context) <noreply@anthropic.com>
parent 16bb03ab
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
- [feedback_upgrade_sisyphus.md](feedback_upgrade_sisyphus.md) — обновление LXC ALT p11 → Sisyphus - [feedback_upgrade_sisyphus.md](feedback_upgrade_sisyphus.md) — обновление LXC ALT p11 → Sisyphus
- [feedback_skill_confirmation_direct.md](feedback_skill_confirmation_direct.md) — подтверждения от skill'ов спрашивать напрямую, не через lavtomate - [feedback_skill_confirmation_direct.md](feedback_skill_confirmation_direct.md) — подтверждения от skill'ов спрашивать напрямую, не через lavtomate
- [lesson_lavtomate_bug_create_confirmation.md](lesson_lavtomate_bug_create_confirmation.md) — bug_create сломан: НЕ ретраить, проверять через confirmation_check - [lesson_lavtomate_bug_create_confirmation.md](lesson_lavtomate_bug_create_confirmation.md) — bug_create сломан: НЕ ретраить, проверять через confirmation_check
- [lesson_dns_free_ip_check_both_zones.md](lesson_dns_free_ip_check_both_zones.md) — поиск свободного IP: проверять ОБЕ зоны (forward+reverse) и ping
- Сброс пароля AD: `логин + uidNumber` - Сброс пароля AD: `логин + uidNumber`
- DC: `ssh -p32 dc.etersoft.ru` (lav, потом sudo), samba-tool через sudo - DC: `ssh -p32 dc.etersoft.ru` (lav, потом sudo), samba-tool через sudo
...@@ -82,3 +83,4 @@ ...@@ -82,3 +83,4 @@
- [lesson_divserver_telemt_mtproxy.md](lesson_divserver_telemt_mtproxy.md) — divserver: telemt MTProxy на `0.0.0.0:443` через gre1 к 217.177.44.55 (обход блокировок Telegram) - [lesson_divserver_telemt_mtproxy.md](lesson_divserver_telemt_mtproxy.md) — divserver: telemt MTProxy на `0.0.0.0:443` через gre1 к 217.177.44.55 (обход блокировок Telegram)
- [lesson_dhcp_8net_dynamic_range.md](lesson_dhcp_8net_dynamic_range.md) — dhcp.office: 8/24 имеет динамический пул 8.100–8.254, 0/24 — 0.160–0.199; статика ставить вне - [lesson_dhcp_8net_dynamic_range.md](lesson_dhcp_8net_dynamic_range.md) — dhcp.office: 8/24 имеет динамический пул 8.100–8.254, 0/24 — 0.160–0.199; статика ставить вне
- [lesson_cyrus_sasl_restart.md](lesson_cyrus_sasl_restart.md) — cyrus-imapd на ALT: `serv restart` НЕ работает, нужен `systemctl restart`; SASL auxprop кэширует `sql_select` на процесс; `Hoffice` в defaultdomain — НЕ трогать; симлинк в `/var/spool/imap/domain/` опасен с autocreate - [lesson_cyrus_sasl_restart.md](lesson_cyrus_sasl_restart.md) — cyrus-imapd на ALT: `serv restart` НЕ работает, нужен `systemctl restart`; SASL auxprop кэширует `sql_select` на процесс; `Hoffice` в defaultdomain — НЕ трогать; симлинк в `/var/spool/imap/domain/` опасен с autocreate
- [lesson_warp_oom_nft_deadlock.md](lesson_warp_oom_nft_deadlock.md) — warp.egw CT 703: OOM SIGKILL оставляет stale nft, чинится drop-in ExecStartPre; gre.beget CT 683 — путь до Cloudflare endpoint
---
name: DNS free-IP search must check both forward and reverse zones
description: Looking only at PTR records misses A-only entries — searching for a free IP must grep both office.etersoft.ru and 0.168.192.in-addr.arpa, plus ping the candidate
type: feedback
originSessionId: 4b8ad868-092b-48bd-a23b-846d9fc846e6
---
При поиске свободного IP в подсети 192.168.0.x на dhcp проверять
ОБЕ зоны и подтверждать ping'ом.
**Why:** 2026-05-09 при создании CT 540 (hikvision-ftp) я взял
192.168.0.43 как «свободный» по выводу `grep PTR
0.168.192.in-addr.arpa`. Оказалось, в forward-зоне `office.etersoft.ru`
была запись `host-124 A 192.168.0.43`, а PTR кто-то забыл добавить
(несимметричная запись). По IP реально жил статически назначенный
host-124 (MAC ba:92:b6:4a:63:da, не в DHCP). Я ssh'нулся в него
вместо CT 540, изменил его hostname через hostnamectl и /etc/hosts —
пришлось откатывать. CT 540 при этом не мог работать из-за IP-конфликта.
**How to apply:** при поиске свободного IP в 192.168.0.x:
1. `grep -E "192\.168\.0\.<N>\b" /var/lib/bind/zone/office.etersoft.ru` (forward)
2. `grep -E "^<N>\s+(IN\s+)?PTR" /var/lib/bind/zone/0.168.192.in-addr.arpa` (reverse)
3. `ping -c 1 -W 1 192.168.0.<N>` — должен НЕ ответить
4. `arp -a | grep 192.168.0.<N>` — должен быть пуст
5. помнить про DHCP-пул 0.160-0.199 — туда статикой не ставить
При создании новой A-записи всегда добавлять PTR в обратную зону —
иначе следующий админ напорется на тот же грабли.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment