ТЛ; др
Как я могу заставить системный модуль зависеть от сетевого сервиса, приходящего с другого хоста?
Вопрос
Мой сервис samba на sambaserver не запустился, потому что этот хост запустился быстрее, чем dns2.ipa.example.com.
[root@sambaserver|/root]# systemctl status smb -l
● smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2017-10-03 22:27:35 EDT; 2 days ago
Process: 1752 ExecStart=/usr/sbin/smbd $SMBDOPTIONS (code=exited, status=1/FAILURE)
Main PID: 1752 (code=exited, status=1/FAILURE)
Status: "Starting process..."
Oct 03 22:27:35 sambaserver.ipa.example.com smbd[1752]: failed to bind to server ldaps://dns1.ipa.example.com ldaps://dns2.ipa.example.com with dn="[Anonymous bind]" Error: Local error
Oct 03 22:27:35 sambaserver.ipa.example.com smbd[1752]: (unknown)
Oct 03 22:27:35 sambaserver.ipa.example.com smbd[1752]: [2017/10/03 22:27:35.669369, 0, pid=1752] ipa_sam.c:4507(pdb_init_ipasam)
Oct 03 22:27:35 sambaserver.ipa.example.com smbd[1752]: Failed to get base DN.
Oct 03 22:27:35 sambaserver.ipa.example.com smbd[1752]: [2017/10/03 22:27:35.669405, 0, pid=1752] ../source3/passdb/pdb_interface.c:180(make_pdb_method_name)
Oct 03 22:27:35 sambaserver.ipa.example.com smbd[1752]: pdb backend ipasam:ldaps://dns1.ipa.example.com ldaps://dns2.ipa.example.com did not correctly init (error was NT_STATUS_UNSUCCESSFUL)
Oct 03 22:27:35 sambaserver.ipa.example.com systemd[1]: smb.service: main process exited, code=exited, status=1/FAILURE
Oct 03 22:27:35 sambaserver.ipa.example.com systemd[1]: Failed to start Samba SMB Daemon.
Oct 03 22:27:35 sambaserver.ipa.example.com systemd[1]: Unit smb.service entered failed state.
Oct 03 22:27:35 sambaserver.ipa.example.com systemd[1]: smb.service failed.
Устройства являются физическими и старыми, поэтому, работая с этими конкретными хостами, можно ли заставить системный блок smb.service ждать сетевой службы ldaps://dns2.ipa.example.com?
Я полагаю, я мог бы попытаться написать скрипт-обертку и поместить его в строку ExecStartPre , но это не так чисто, как могло бы быть.
Как я могу получить файл модуля systemd в качестве зависимости службы (или модуля systemd) от другого хоста в сети?