DhcpBind/StaticMigration: различия между версиями
(Import from freesource.info) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[ | [[Категория:Documentation]] | ||
[[Категория:Admin]] | |||
{{MovedFromFreesourceInfo|AltLinux/Dokumentacija/DhcpBind/StaticMigration}} | {{MovedFromFreesourceInfo|AltLinux/Dokumentacija/DhcpBind/StaticMigration}} | ||
{{merge|DDNS}} | |||
== Миграция статической сети == | == Миграция статической сети == | ||
Строка 10: | Строка 12: | ||
* включенный в неё маршрутизатор или ноутбук с Linux, arpwatch и данным скриптиком | * включенный в неё маршрутизатор или ноутбук с Linux, arpwatch и данным скриптиком | ||
** в первом случае хосты со своими имеющимися MAC/IP придут сами | ** в первом случае хосты со своими имеющимися MAC/IP придут сами | ||
** во втором | ** во втором случае — периодическое сканирование нужных подсетей <tt>nmap -sP</tt> (ping sweep) для получения откликов | ||
* изучение писем arpwatch с целью анализа наличия уже существующих | * изучение писем arpwatch с целью анализа наличия уже существующих проблем… | ||
* изучение, модификация и запуск скриптика | * изучение, модификация и запуск скриптика | ||
* рассмотрение и применение созданных им файлов | * рассмотрение и применение созданных им файлов | ||
Строка 18: | Строка 20: | ||
* исторически статическая виндовая сеть | * исторически статическая виндовая сеть | ||
* достаточно спешный переезд на ddns+dhcp с хранением информации в LDAP [ | * достаточно спешный переезд на ddns+dhcp с хранением информации в LDAP […] | ||
* обнаружение дубликатов имён хостов на машинах, а также неотмеченных в привязке MAC/IP интерфейсов | * обнаружение дубликатов имён хостов на машинах, а также неотмеченных в привязке MAC/IP интерфейсов | ||
* имеющиеся на данное время объективные проблемы с обеспечением доступности OpenLDAP в ALT Linux | * имеющиеся на данное время объективные проблемы с обеспечением доступности OpenLDAP в ALT Linux | ||
* откат на хранение в обычных файлах | * откат на хранение в обычных файлах | ||
При этом с целью уменьшения вероятности пересечений по IP с так или иначе оставшимися на локально прибитом IP машинами при каждом переезде осуществлялся сдвиг подсети (192.168.0.0 -> 192.168.[234].0 -> 192.168.10.0), чем и объясняется несколько неочевидная логика в конце скрипта. | При этом с целью уменьшения вероятности пересечений по IP с так или иначе оставшимися на локально прибитом IP машинами при каждом переезде осуществлялся сдвиг подсети (192.168.0.0 -> 192.168.[234].0 -> 192.168.10.0), чем и объясняется несколько неочевидная логика в конце скрипта. Её назначение таково: в .10 оставить последний октет IP-адреса соответствующим тому, что был в .0 (поскольку в [234] ряд систем успел «слямзить» по несколько адресов, но при этом отметиться в логе arpwatch _с_ занесённым в DDNS именем хоста, которое обычно было более «качественным», чем внесённые в DNS изначально ломом и awk), но при этом hostname взять последний, считая по таймстампам. В общем, довольно специфический случай, но соответствующая обработка выполняется во второй части скрипта и может быть легко выкинута. | ||
=== TODO === | === TODO === |
Версия от 22:11, 6 августа 2008
Миграция статической сети
Прилагаю работоспособный file:arp2dnsdhcp.rb, который разбирает /var/lib/arpwatch/arp.dat и создаёт из него фрагменты /etc/dhcp/dhcpd.conf и прямой зоны (не смущайтесь названием, уставший был :) BIND (реверсную осмысленно генерировать mkrdns, хотя несложно доработать и скрипт).
Предполагаемый сценарий использования:
- [исторически] статическая [виндовая] сеть
- включенный в неё маршрутизатор или ноутбук с Linux, arpwatch и данным скриптиком
- в первом случае хосты со своими имеющимися MAC/IP придут сами
- во втором случае — периодическое сканирование нужных подсетей nmap -sP (ping sweep) для получения откликов
- изучение писем arpwatch с целью анализа наличия уже существующих проблем…
- изучение, модификация и запуск скриптика
- рассмотрение и применение созданных им файлов
Сценарий, при котором он был создан:
- исторически статическая виндовая сеть
- достаточно спешный переезд на ddns+dhcp с хранением информации в LDAP […]
- обнаружение дубликатов имён хостов на машинах, а также неотмеченных в привязке MAC/IP интерфейсов
- имеющиеся на данное время объективные проблемы с обеспечением доступности OpenLDAP в ALT Linux
- откат на хранение в обычных файлах
При этом с целью уменьшения вероятности пересечений по IP с так или иначе оставшимися на локально прибитом IP машинами при каждом переезде осуществлялся сдвиг подсети (192.168.0.0 -> 192.168.[234].0 -> 192.168.10.0), чем и объясняется несколько неочевидная логика в конце скрипта. Её назначение таково: в .10 оставить последний октет IP-адреса соответствующим тому, что был в .0 (поскольку в [234] ряд систем успел «слямзить» по несколько адресов, но при этом отметиться в логе arpwatch _с_ занесённым в DDNS именем хоста, которое обычно было более «качественным», чем внесённые в DNS изначально ломом и awk), но при этом hostname взять последний, считая по таймстампам. В общем, довольно специфический случай, но соответствующая обработка выполняется во второй части скрипта и может быть легко выкинута.
TODO
- рефакторинг (оно уже не умещается на экран :)
- добавление проверки уникальности IP/hostname, не только MAC (hostname проверит dhcpd при старте, но лучше-то сразу)
- обобщение обработки снятой информации, изменение логики по умолчанию для более часто встречающихся случаев
- поддержка различных режимов (и управление из командной строки)
- использование nmblookup -A для получения имён по IP при изначальном отсутствии DNS