Добавить test2
This commit is contained in:
136
test2
Normal file
136
test2
Normal file
@@ -0,0 +1,136 @@
|
||||
# 📘 Методическое руководство: Завершение миграции на Samba AD DC (`lin-dc1`)
|
||||
> **Цель:** Полностью удалить остатки старого Windows DC (`win-dc`), очистить DNS и AD, применить корректную конфигурацию Samba и провести финальную диагностику домена `AU.TEAM`.
|
||||
> **Требования:** Доступ `root`/`sudo`, учётные данные `administrator`, установленный и работающий Samba 4.x.
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Этап 1. Синхронизация данных (если `win-dc` ещё доступен)
|
||||
*Выполняется **до** вывода Windows DC из домена, чтобы гарантировать актуальность данных на `lin-dc1`.*
|
||||
|
||||
```bash
|
||||
# Принудительная репликация всех разделов AD
|
||||
samba-tool drs replicate lin-dc1 WIN-DC DC=DomainDnsZones,DC=au,DC=team --full
|
||||
samba-tool drs replicate lin-dc1 WIN-DC DC=ForestDnsZones,DC=au,DC=team --full
|
||||
samba-tool drs replicate lin-dc1 WIN-DC DC=au,DC=team --full
|
||||
|
||||
# Обновление всех DNS-записей на lin-dc1
|
||||
samba_dnsupdate --all-names --verbose
|
||||
```
|
||||
|
||||
✅ **Проверка:** Убедитесь, что `lin-dc1` успешно резолвится как контроллер домена:
|
||||
```bash
|
||||
host -t SRV _kerberos._udp.au.team 127.0.0.1
|
||||
host -t SRV _ldap._tcp.au.team 127.0.0.1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Этап 2. Очистка DNS от записей старого DC
|
||||
*Удаляем A-запись и NS-запись `win-dc`, чтобы клиенты не обращались к несуществующему серверу.*
|
||||
|
||||
```bash
|
||||
# Удаление A-записи
|
||||
samba-tool dns delete localhost au.team win-dc A 192.168.1.2 -U administrator
|
||||
|
||||
# Удаление NS-записи
|
||||
samba-tool dns delete localhost au.team @ NS win-dc.au.team. -U administrator
|
||||
```
|
||||
|
||||
🔍 **Контроль:** Вывод должен быть пустым.
|
||||
```bash
|
||||
samba-tool dns query localhost au.team @ ALL | grep -i win
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Этап 3. Удаление остатков репликации из AD
|
||||
*Ошибки `WERR_DS_DRA_BUSY` и `WERR_DS_ADD_REPLICA_INHIBITED` в логах указывают на то, что Samba пытается реплицироваться с удалённым `win-dc`. Необходимо удалить ссылку на его NTDS Settings.*
|
||||
|
||||
```bash
|
||||
# 1. Поиск объекта репликации старого DC
|
||||
ldbsearch -H /var/lib/samba/private/sam.ldb --cross-ncs "(&(objectClass=nTDSDSA)(cn=*))" distinguishedName | grep -i win
|
||||
```
|
||||
|
||||
📌 *Если команда вернула строку вида `CN=NTDS Settings,CN=WIN-DC,CN=Servers...`, выполните удаление:*
|
||||
```bash
|
||||
# 2. Удаление объекта (замените DN на реальный из вывода выше!)
|
||||
ldbmodify -H /var/lib/samba/private/sam.ldb << 'EOF'
|
||||
dn: CN=NTDS Settings,CN=WIN-DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=au,DC=team
|
||||
changetype: delete
|
||||
EOF
|
||||
```
|
||||
💡 *Если `ldbmodify` сообщает, что объект не найден — значит, ссылка уже удалена. Ошибки исчезнут после перезапуска службы.*
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Этап 4. Проверка конфигурации `smb.conf`
|
||||
Убедитесь, что `/etc/samba/smb.conf` содержит корректные параметры. Особенно важен раздел `[global]`:
|
||||
|
||||
```ini
|
||||
[global]
|
||||
netbios name = LIN-DC1
|
||||
realm = AU.TEAM
|
||||
server role = active directory domain controller
|
||||
workgroup = AU
|
||||
|
||||
# Полный список обязательных служб для AD DC
|
||||
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
|
||||
|
||||
# ⚠️ ВАЖНО: После удаления win-dc замените 192.168.1.2 на внешний DNS
|
||||
# (например, 8.8.8.8, 1.1.1.1 или IP маршрутизатора)
|
||||
dns forwarder = 192.168.1.2
|
||||
```
|
||||
🔄 *После редактирования: `systemctl restart smbd nmbd winbind` (если используется systemd-интеграция, достаточно перезапуска `samba`)*
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Этап 5. Перезапуск служб и синхронизация времени
|
||||
*Корректное время критично для Kerberos.*
|
||||
|
||||
```bash
|
||||
# Синхронизация времени на lin-dc1
|
||||
chronyc -a makestep
|
||||
|
||||
# Перезапуск Samba
|
||||
systemctl restart samba.service
|
||||
sleep 5
|
||||
|
||||
# Проверка логов на наличие критических ошибок
|
||||
journalctl -u samba.service -n 20 --no-pager | grep -i error
|
||||
```
|
||||
|
||||
🖥️ *Для Windows-клиентов/серверов (опционально):*
|
||||
```cmd
|
||||
net time \\192.168.1.3 /set /y
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔹 Этап 6. Комплексная диагностика (Чек-лист)
|
||||
|
||||
| № | Проверка | Команда | Ожидаемый результат |
|
||||
|---|----------|---------|---------------------|
|
||||
| 1 | **FSMO-роли** | `samba-tool fsmo show` | Все 5 ролей: владелец `CN=LIN-DC1,...` |
|
||||
| 2 | **Репликация** | `samba-tool drs showrepl` | Без ошибок `FAIL`/`ERROR`. Для одиночного DC разделы могут не показываться (норма) |
|
||||
| 3 | **DNS SRV-записи** | `host -t SRV _ldap._tcp.au.team 127.0.0.1`<br>`host -t SRV _kerberos._udp.au.team 127.0.0.1` | Возвращают `lin-dc1.au.team` |
|
||||
| 4 | **Зоны и записи DNS** | `samba-tool dns zone list`<br>`samba-tool dns query localhost au.team @ ALL` | Зона `au.team` активна. Записи `win-dc` отсутствуют |
|
||||
| 5 | **Пользователи и группы** | `samba-tool user list`<br>`samba-tool group list`<br>`samba-tool user show administrator` | Список загружается. `administrator` активен |
|
||||
| 6 | **Аутентификация** | `kinit administrator@AU.TEAM`<br>`klist` | Билет Kerberos получен успешно |
|
||||
| 7 | **Вхождение в домен** | `net ads testjoin` | `Join is OK` |
|
||||
| 8 | **Уровень домена** | `samba-tool domain level show` | Отображает актуальный уровень (например, `2012 R2` или выше) |
|
||||
| 9 | **Логи службы** | `journalctl -u samba.service -n 50 --no-pager` | Нет повторяющихся `ERROR`/`CRITICAL` |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Важные примечания и рекомендации
|
||||
|
||||
1. **DNS Forwarder:** Параметр `dns forwarder = 192.168.1.2` в `smb.conf` указывает на старый Windows DC. После его полного вывода из сети замените его на внешний DNS-резолвер, иначе внутренние запросы к несуществующим зонам будут таймаутить.
|
||||
2. **Резервное копирование:** Перед выполнением `ldbmodify` и удалением DNS-записей рекомендуется сделать бэкап:
|
||||
`cp -a /var/lib/samba/private /var/lib/samba/private.backup`
|
||||
3. **Одиночный DC:** Если в домене остался только `lin-dc1`, разделы репликации могут не отображаться в `samba-tool drs showrepl`. Это штатное поведение.
|
||||
4. **Клиентские настройки:** Убедитесь, что на всех рабочих станциях в настройках сетевого адаптера указан `192.168.1.3` (или IP `lin-dc1`) как **единственный** DNS-сервер.
|
||||
5. **Права:** Все команды `samba-tool` и `ldbsearch/modify` требуют запуска от `root` или через `sudo`, а также валидных доменных учётных данных (`-U administrator`).
|
||||
|
||||
---
|
||||
📅 *Документ подготовлен для домена `AU.TEAM`, контроллер `LIN-DC1`. Дата актуализации: 19.04.2026*
|
||||
🔧 *При возникновении нестандартных ошибок предоставляйте вывод `journalctl -u samba.service --since "1 hour ago"` и `samba-tool drs showrepl` для анализа.*
|
||||
Reference in New Issue
Block a user