Мне нужно вручную перезапускать winbind.service после каждой перезагрузки. Ubuntu 18.04

Вопрос или проблема

S.O. Ubuntu 18.04.4, Версия Samba 4.7.6-Ubuntu

У меня есть проблема с этой машиной. Каждый раз, когда система перезагружается, winbind.service не удается правильно запуститься, и в журнал записывается ошибка “превышен часовой сдвиг”.

Журнал winbind:

[2020/02/17 17:25:12.840317,  0] ../source3/winbindd/winbindd_cache.c:3170(initialize_winbindd_cache)
  initialize_winbindd_cache: очищение кеша и воссоздание с номером версии 2
[2020/02/17 17:25:12.879543,  0] ../lib/util/become_daemon.c:124(daemon_ready)
  STATUS=демон 'winbindd' завершил запуск и готов обслуживать соединения
[2020/02/17 17:25:18.175567,  0] ../source3/librpc/crypto/gse.c:532(gse_get_client_auth_token)
  gse_get_client_auth_token: gss_init_sec_context не удался с [Разное ошибка (см. текст): Часовой сдвиг слишком велик](2529638949)
[2020/02/17 17:25:18.397020,  0] ../source3/librpc/crypto/gse.c:532(gse_get_client_auth_token)
  gse_get_client_auth_token: gss_init_sec_context не удался с [Разное ошибка (см. текст): Часовой сдвиг слишком велик](2529638949)
[2020/02/17 17:25:18.909264,  0] ../source3/librpc/crypto/gse.c:532(gse_get_client_auth_token)
  gse_get_client_auth_token: gss_init_sec_context не удался с [Разное ошибка (см. текст): Часовой сдвиг слишком велик](2529638949)

Как только машина запущена, я могу вручную systemctl restart winbind, и она запускается без каких-либо проблем.

Я проверил все возможные настройки, и все, кажется, в порядке. Также я воссоздал машину с нуля.

Я настроил chrony, клиент синхронизации времени, и также пробовал с systemd-timesync. Машина действительно синхронизирована, когда я проверяю это.

Я также пытался отредактировать /lib/systemd/system/winbind.service, добавив After=chrony.service, но это не дало никакого результата.

В DC chrony показывает, что клиенты подключены:

Hostname                      NTP   Drop Int IntL Last     Cmd   Drop Int  Last
===============================================================================
smb1.domain.club               181      0   6   -    36       0      0   -     -
giorgilaptop.domain.club         3      0  12   -   40m       0      0   -     -
plex.domain.club               110      0   6   -     0       0      0   -     -

На машине, которая не удалась, также показан правильный источник

localuser@smb1:~$ sudo chronyc sources
210 Количество источников = 1
MS Имя/IP адрес         Стратум Полл Reach LastRx Последний образец
===============================================================================
^* dc1.domain.club                2   6   377    47    -12us[  -17us] +/-   20ms

Машина была создана, следуя этим шагам:

https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member

https://wiki.samba.org/index.php/Time_Synchronisation#Configuring_Time_Synchronisation_on_a_Unix_Domain_Member

ИЗМЕНЕНИЕ: По всей видимости, это происходит, когда ВМ работают в ESXI 6.7 на моем сервере. Я скачал ВМ на VMware Workstation, и winbind запускается без каких-либо проблем. Это должно быть связано каким-либо образом с ESXi и синхронизацией времени.

Проблема решена.

Если вы используете Vmware ESXi, как и я, вам необходимо включить синхронизацию NTP в настройках ESXi, чтобы она запускалась с хостом, и добавить те же пулы, что и у вашего контроллера домена, в NTP сервер.

Настройки времени и даты ESXi

Затем для каждой виртуальной машины, которая является членом домена, вам необходимо включить в опциях VMware Tools синхронизацию времени между гостевой машиной и хостом.

введите описание изображения здесь

вы справились с проблемой в краткосрочной перспективе, но основная проблема все еще остается, так как вы не решили реальную проблему и вызвали инфраструктурную Security – проблему

Проблема

Ваши клиенты Linux не могут подключиться к AD после перезагрузки

Причина

Когда используется winbind, клиент, пытающийся подключиться к AD, должен быть синхронизирован с временем AD, отличаясь не более чем на 5 минут.

Ваше решение не полностью работает, потому что

Решение, которое вы предоставили, работает только при установленном vmtools, иначе эта проблема повторяется, так как ВМ не может получать время от своего хоста.

Проблема безопасности вызвана

Указывая AD и хост ESXi непосредственно на общедоступные NTP, у вас возникнет проблема безопасности, что не рекомендуется Microsoft или VMware.

Я бы предложил установить NTP сервер и указать все AD и хосты ESX на внутренний NTP сервер, а если у любых клиентов нет vmtools, вы можете связать их с внутренним NTP.

Ответ или решение

Учитывая представленный сценарий и сложность проблемы, связанной с автоматическим запуском службы winbind в Ubuntu 18.04 после перезагрузки, а также ошибки "clock skew too great", давайте проанализируем ситуацию и предложим стратегические решения.

Проблема

На вашем виртуальном сервере,Hosted в ESXi 6.7, служба winbind не запускается автоматически при перезагрузке системы. Запись в логах сообщает об ошибке "clock skew too great". Это связано с тем, что время на клиенте (виртуальной машине) существенно отличается от времени на контроллере домена Active Directory.

Причины возникновения проблемы

  1. Неправильная синхронизация времени: Виртуальные машины должны быть синхронизированы с временем контроллера домена (DC). Если разница во времени превышает 5 минут, аутентификация Kerberos не будет осуществляться, что приводит к сбоям в работе winbind.

  2. Настройка NTP: Часто виртуальные машины на ESXi не используются для синхронизации времени с внутренними NTP-серверами. Это приводит к тому, что при старте они оказываются с неправильным временем.

  3. VMware Tools: Если VMware Tools не установлены или неправильно настроены, виртуальная машина не сможет автоматически синхронизировать свое время с гостевой ОС через хост.

Решения проблемы

Шаг 1: Настройка NTP на ESXi

Вам необходимо включить NTP-синхронизацию на хосте ESXi. Убедитесь, что ESXi настроен на использование надежного внутреннего NTP-сервера. Настройка должна быть выполнена следующим образом:

  1. Войдите в интерфейс управления ESXi.
  2. Перейдите в раздел "Configuration" -> "Time & Locale".
  3. Включите NTP Service и укажите внутренние NTP-серверы, соответствующие вашим доменным контроллерам.

Шаг 2: Настройка VMware Tools в виртуальной машине

Убедитесь, что VMware Tools установлены на вашей Ubuntu VM и включите синхронизацию времени:

  1. В интерфейсе управления ESXi выберите вашу виртуальную машину.
  2. Перейдите в "Edit Settings" и найдите опцию VMware Tools.
  3. Включите параметр "Synchronize guest time with host".

Шаг 3: Проверка конфигурации Chrony

Поскольку вы упомянули использование Chrony для синхронизации времени, убедитесь, что он правильно настроен на вашей Ubuntu-машине. Проверьте файл конфигурации /etc/chrony/chrony.conf:

  • Убедитесь, что вы используете правильные внутренние NTP-серверы (например, ваши DC) в настройках Chrony.
  • После изменения конфигурации перезапустите сервис:
    sudo systemctl restart chronyd

Шаг 4: Дополнительные рекомендации

  • Логи и диагностика: Для более глубокого анализа, проверяйте логи по следующим путям:

    • /var/log/syslog
    • /var/log/winbindd.log
  • Используйте системный таймер: Вы можете использовать системный таймер для автоматического перезапуска службы winbind, если он не запустился. Например, создайте юнит-файл в /etc/systemd/system/winbind-restart.service:

[Unit]
Description=Restart winbind if it fails
After=chronyd.service

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart winbind.service

[Install]
WantedBy=multi-user.target

Не забудьте активировать его:

sudo systemctl enable winbind-restart

Заключение

Синхронизация времени является критически важным компонентом для работы Active Directory и всех систем, подключенных к нему. Применение правильной настройки как на уровне виртуального хоста, так и на уровне гостевой ОС позволит вам избежать проблем с аутентификацией и обеспечит более стабильную работу winbind. Если проблема продолжает возникать, возможно, стоит рассмотреть возможность создания локального NTP-сервера, который можно будет использовать в качестве централизованного источника времени для всех ваших устройств.

Оцените материал
Добавить комментарий

Капча загружается...