The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Автоматизация установки Samba AD+DDNS+DHCPD и почтового сервера в openSUSE Leap 15.5
Подготовлен скрипт adc_install.sh (копия)  для упрощения миграции с
продуктов Microsoft на Linux с контроллером домена на основе Samba. Скрипт
автоматизирует установку  Samba AD+DDNS+DHCPD, почтового сервера на основе
Postfix+Dovecot и FTP-сервера vstfpd в openSUSE Leap 15.5, что может оказаться
полезным когда нужно быстро развернуть рабочую систему, а уже потом заниматься
экспериментами и тонкой настройкой.


Cкрипт запускается командой:

   ./adc_install.sh (-OPTION)

Поддерживаемые параметры:

  -ad_install - Установить Samba_AD NAMED DHCPD.

  -ad_uninstall - Удалить конфигурацию Samba_AD.

  -ad_restart - Restart Samba_AD NAMED DHCPD.

  -ad_status - Status Samba_AD NAMED DHCPD.

  -ad_test - Прoверка работы Samba_AD.

  -uadd - Создать пользователя домена.

  -udel - Удалить пользователя домена.

  -gadd - Создать группу домена.

  -ugadd - Ввести пользователя в группу домена.

  -upass - Задать пароль пользователю домена

  -dhcp - Установить DHCPD.
  
  -dhcp_on - Включить DHCPD demon. Вводит IP-адрес и имя компьютера ( принтера, смартфона и пр.) в прямую и обратную зону DNS.

  -dhcp_off - Выключить DHCPD demon.

  -bind - Установить NAMED.

  -c_add - Ввеcти компьютер в DNS.

  -c_del - Удалить компьютер из DNS.

  -cname_add - Присвоить новое имя компьютеру - CNAME в DNS.

  -cname_del - Удалить имя компьютера - CNAME из DNS.

  -ns_add - Ввеcти NS запись для компьютера в обратную зону DNS.

  -mx_add - Ввеcти MX запись для компьютера в DNS.

  -ftp - Установить FTP Сервер VSTPD.

  -http - Установить HTTP Сервер Apache2.

  -mail_inst - Установить почтовый сервер.

  -mail_uninst - Удалить конфигурацию почтового серверa.

  -mail_restart - перезапуск почтового серверa.

  -mail_status - состояние почтового серверa.

  -mail_stop - остановка почтового серверa.

  -mail_test - тестирование почтового серверa.

  -padmin - Установить PostfixAdmin

  -madmin - Установить phpMyAdmin

  -rcube - Установить Roundcubemail

  -bsys - Бэкап внесённых изменений в систему





Устанавливаем свежую версию openSUSE Leap 15.5 с официального сайта openSUSE
Leap 15.5 - https://get.opensuse.org/leap/15.5/

 
Приступим к установке Samba Active Directory Domain Controller, сопровождая
этот процесс скриншотами

Стартуем Yast2 и устанавливаем:

  1. Название сервера --> adc.dyhap.net
  2. Название домена --> dyhap.net
  3. IP адрес сервера --> 192.168.3.4
  4. Шлюз --> 192.168.3.2
  5. IP адрес внешнего DNS --> 192.168.1.1 и 1.1.1.1





Мы видим - сервер получил нужные параметры.

Теперь выполним команду:

   # ./adc_install.sh -ad_install




Зададим пароль администратору Samba AD... ну скажем --> "OpenSUSE15".

Зададим IP DNS --> 192.168.1.1




Установка Samba AD+DDNS+DHCPD закончена.

Осталось только сделать "reboot" сервера, чтобы наши установки вступили в силу.

После старта проверим статус Samba AD, DNS и DHCP-Сервера.

Выполним команду:

   # ./adc_install.sh -ad_restart

... и проверим статус сервера выполнив команду:

   # ./adc_install.sh -ad_status





Сделаем тест системы.

И выполним команду:

   # ./adc_install.sh -ad_test





Теперь можем создать пользователя домена... ну скажем --> Wasja Pupkin.

Выполним команду:

   # ./adc_install.sh -uadd




Wasja Pupkin получил login для машины Windows в домене DYHAP: --> w.pupkin

Так же netlogon скрипт: --> w.pupkin.bat
И email-адрес: --> [email protected]

Выполним команду:

   # ./adc_install.sh -mail_test

А вот email-адреса "[email protected]" как и пользователя домена "test_user" в системе нет.

Создадим пользователя домена --> test_user.





Установка Samba Active Directory Domain Controller закончена.


Теперь приступим к установке почтового сервера.

Выполнив команду:

   # ./adc_install.sh -mail_inst

мы установим:

   1. service postfix
   2. service dovecot
   3. service amavis
   4. service spamd
   5. service clamd
   6. service clamav-milter
   7. service fail2ban
   8. service freshclam

Для этого необходимо создать:

1. ssl-сертификаты

2. администратора почтового сервера... --> mailadmin

3. пароль администратору mailadmin .. ну скажем --> "OpenSUSE15"






Установка почтового Сервера закончена.


Теперь можно добавить компьютер Windows по имени "win12" в домен Active Directory.

1. Стартуем компьютер в локальной сети

--> параметры сетевого адаптера получены от DHCP сервера

2. "test_user" в домене --> DYHAP\test_user

3. IP адрес win12.dyhap.net --> 192.168.3.50

4. DHCP-Сервер ввёл win12.dyhap.net в DNS




Стандартный процесс --> администратор "win12" вводит его в домен.






В окне авторизации test_user указывает свои учетные данные и получает права на
ввод в рабочей станции win12 в домен.




Теперь test_user получил доступ к таким ресурсам в Active Directory,
как электронная почта, приложения и сеть.

При входе стартует скрипт "test_user.bat" и test_user получил доступ
к таким ресурсам "Users" и "public" в сети Active Directory





Домашний каталог test_user на сервере.

1. Перемещаемый профиль --> test_user.V6

2. Почтовый каталог --> Maildir





Теперь протестируем работу почтового Сервера .

Выполним команду:

   # ./adc_install.sh -mail_status



[[IMG /soft/adc/mail/[33.jpg]]


...всё работает

Стартуем на сервере почтовый клиент Thunderbird.

1. Cоздадим учетную запись почты пользователя --> "mailadmin"

2. "mailadmin" отправил письмо пользователю --> "[email protected]"

3. Сообщение об ошибке можно проигнорировать и повторить

4. Это информация о том, что ssl-сертификаты самодельные.










Пользователь "gennadi" принимает письмо от "mailadmin" почтовым клиентом KMail openSUSE 15.5 .

Стартуем на сервере почтовый клиент Kmail.

1. Cоздадим учетную запись почты пользователя --> "gennadi"

4. И принимаем информацию о том, что ssl-сертификаты самодельные.












Пользователь "gennadi" получил письмо от "mailadmin" и отправляет ответ.

Пользователь "mailadmin" отправляет письмо с тест-вирусом:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

--> на имя "gennadi". НО антивирус "clamd" заблокировал его.





Пользователь "gennadi" отправляет письмо с ANTI-SPAM-TEST:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

--> на имя "mailadmin". НО антиспам "amavis" отправляет его в карантин.






ANTI-SPAM и ANTIVIRUS работают

 

Cоздадим учетную запись почты пользователя "test_user" на компьютере "win12"






Пользователь "test_user" получил письмо от "mailadmin" и отправляет ответ.






Почтовый Сервер прекрасно работает. НО для работы в интернете нужны настоящие SSL-сертификаты.


Установка Apache2+PHP8+SSL.

Выполним команду:

   # ./adc_install.sh -http





Установка phpMyAdmin.

Выполним команду:

   # ./adc_install.sh -madmin

login: root
Password: OpenSUSE15




Установка PostfixAdmin.

Выполним команду:

   # ./adc_install.sh -padmin

Setup password: OpenSUSE15








Установка Roundcubemail.

Выполним команду:

   # ./adc_install.sh -rcube

   imap_host = ssl://webmail.dyhap.net:993
   smtp_host = ssl://webmail.dyhap.net:465

Любой пользователь домена получает права на пользование Roundcubemail.









Установка VSFTPd Сервера.

Выполним команду:

   # ./adc_install.sh -ftp






VSFTPd Сервер прекрасно работает.

Пользователь "test_user" получил права на пользование VSFTPd Сервером.












Apache Directory Studio - это бесплатный инструмент среды разработки,
предназначенный для создания и управления LDAP-серверами.


LDAP (Lightweight Directory Access Protocol) - это протокол,
используемый для доступа к каталогам, которые хранят
информацию об объектах в системе.







Это базовая установка Сервера.

Ну вот...и всё, конфигурационные файлы известны и теперь вы можете точнее
настроить сервер под свои нужды.


Уточнение: в статье используются самоподписанные сертификаты, при необходимости
их следует заменить на настоящие SSL-сертификаты.
 
25.12.2023 , Автор: Геннадий Калашников , Источник: http://togusak.ddnss.de/server/...
Ключи: opensuse, samba, dns, dhcpd, postfix, vsftpd, ldap
Раздел:    Корень / Администратору / Сетевые сервисы / Samba

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Anonnn (?), 13:36, 26/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    фух, еле долистал
     
  • 1.2, фф (?), 14:12, 26/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    оно каждый сервис в докере поднимает, или прям нативно ставит?
     
     
  • 2.8, Gennadi (ok), 12:32, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    каждый сервис поднимает, как говорят "из коробки"...

    все RPM-Пакеты стандартные, сгружаются с сервера openSuSE репозитория Leap 15.5

    все конфигурационные файлы на своих стандартных местах.  

     

  • 1.3, Аноним (3), 10:17, 27/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Можно было бы вместо портянок, сделать человеческими ansible ролями
     
     
  • 2.9, Gennadi (ok), 13:33, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно было... а зачем?

    Всего нужно-то, ...если коротко - три команды:

    ./adc_install.sh -ad_install

    reboot

    ./adc_install.sh -mail_inst

    ... и получили рабочий Samba Active Directory и почтовый сервер.

    остальное - это тесты и настройка под свои нужды...

     
     
  • 3.11, Аноним (3), 15:59, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> Можно было... а зачем?

    За идемпотентностью.

     

  • 1.4, Annym (?), 02:14, 28/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    а главное где? "автоматизация" в смысле
     
     
  • 2.5, пох.. (?), 06:32, 28/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ну какие-то самбиные конфиги оно как-то генерить пытается.
    Правда, неудачно - команда echo отклеилась и прилипла не в той строке.

    Отдельно интересно зачем автору понадобилась васяносборка сасамбы вместо штатной.

    В целом для первого года уроков информатики в школе - достойное произведение.

     
     
  • 3.10, Gennadi (ok), 15:58, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > ну какие-то самбиные конфиги оно как-то генерить пытается.
    > Правда, неудачно - команда echo отклеилась и прилипла не в той строке.

    может скрипт криво сгрузился?...

    новый положил на сайт!


    > Отдельно интересно зачем автору понадобилась васяносборка сасамбы вместо штатной.

    Штатная старая и кривая...

    > В целом для первого года уроков информатики в школе - достойное произведение.

    ... вот и я о том же! ... на чём-то надо учиться линукс изучать и применять на практике!

     

  • 1.6, Annym (?), 19:11, 28/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Первые две строчки:
    OS='hostnamectl | grep "Operating System" | awk -F" " {'print $5'}' - что тут должно быть? у меня получилось Server. А Вы что ожидали?
    server='hostname | awk -F"." {'print $1'} ' - hostname -s

    И проверьте через shellchecker

     
     
  • 2.7, gennadi (?), 00:10, 29/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ----- что тут должно быть? ----
    15.4 или 15.5

    В зависимости от установленой OpenSuse 15.4 или OpenSuse 15.5 - соответственно и репозиторий...

     
     
  • 3.20, Аноним Анонимович Анонимов (?), 10:04, 27/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ----- что тут должно быть? ----
    > 15.4 или 15.5
    > В зависимости от установленой OpenSuse 15.4 или OpenSuse 15.5 - соответственно и
    > репозиторий...

    gennadi, на будущее, чтобы иметь уникальные имена машин следует использовать префикс+некую комбинацию. Я предпочитаю использовать префикс PC-, а дальше беру последние 3 октета из мак адреса сетевухи, естественно удаляя двоеточие. Чтобы ассоциировать комп с юзером в dns использую cname, это избавит в будущем от мороки с переименование компа и повторной процедурой по выводу и вводу тачки в домен.

     
     
  • 4.22, Gennadi (ok), 21:03, 07/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > --- префикс PC-

    ... логично.


    как назовёте машину (PC.ххххх), таким именем DHCP автоматически внесёт её в DNS зону....

    в этом скрипте есть такая опция:

    ./adc_install.sh -dhcp_on - Включить DHCPD demon. --Вводит IP-адрес и имя компьютера ( принтера, смартфона и пр.) в прямую и обратную зону ДНС.

    ... но можно и командой:

    ./adc_install.sh -cname_add - Присвоить новое имя компьютеру - CNAME в ДНС.


    :-)

     

  • 1.13, Аноним (13), 11:21, 03/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Автор, если у тебя всё на немецком, попробуй univention и не надо изобретать велосипед
     
     
  • 2.14, Gennadi (ok), 22:17, 03/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1. мне не надо ничего пробовать. не об этом речь!

    2. на немецком... ну установить на русском не проблема выбор языка у  openSUSE Leap 15.5 большой...

    3. Univention Corporate Server основан на дистрибутиве Debian Linux и там внесли много изменений в стандартные конфиги... и установка займёт какое-то время.

    4. ... а это просто помощь тому, кто захочет простеньким скриптом за 10 минут установить на openSUSE Leap 15.5 сервер...

    ... для Debian скрипт не подойдёт.

     

  • 1.15, name (??), 23:43, 13/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь надо исправить все ошибки, которые найдёт shellcheck
     
     
  • 2.16, Gennadi (ok), 23:44, 14/01/2024 [^] [^^] [^^^] [ответить]  
  • +/

    shellcheck adc_install.sh

    ошибок не нашёл...

    :-)))

     
     
  • 3.17, Gennadi (ok), 13:12, 15/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    PS:
    Проверку на ошибки можно контролировать во время установки командой:

    sh -x adc_install.sh -ad_install

     

  • 1.18, xxx000111 (?), 11:19, 23/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А _почтовый_ сервер ставится какой? Их в природе не один, и разной распространенности. Здесь по всему тексту просто "почтовый сервер". Словно бы автор его баше накропал )

     
  • 1.19, Gennadi (??), 12:58, 23/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    См.--  " почтового сервера на основе Postfix+Dovecot "
     
  • 1.21, Gennadi (ok), 12:35, 07/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Убрал пару косяков в скрипте и добавил Бэкап сервера.

    добавил опции:

      -b_set - Установить Бэкап сервера.

      -b_ex  - Выполнить Бэкап сервера.

      -b_smb - Выполнить Бэкап Samba_AD.

      -b_db  - Выполнить Бэкап MySQL ДБ.

     
     
  • 2.23, Аноним (23), 19:07, 12/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Надо сконнектиться и скинуть тебе штук 10-15 доп-опций :)))))
    Дело в том, что я аналогичную портянку сочиняю уже месяцев 8
    Нет еще совсем-совсем фукционала почтовика (зато есть рдп-сервер,
    воркстанция и вторичные DC), и это на альте-или-убунте (деби не тестил).
     
     
  • 3.25, Gennadi (ok), 05:59, 13/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо сконнектиться и скинуть тебе штук 10-15 доп-опций :)))))
    > Дело в том, что я аналогичную портянку сочиняю уже месяцев 8
    > Нет еще совсем-совсем фукционала почтовика (зато есть рдп-сервер,
    > воркстанция и вторичные DC), и это на альте-или-убунте (деби не тестил).

    привет... я как-то к openSUSE привык  :)))

    для альта-или-убунта скрипт не подойдёт.

    можешь скинуть свои скрипты на мой ftp-server... может что-то и в этот скрипт для openSUSE прикрутить получится :)

    togusak.ddnss.de
    user: pupkin
    passwd: opensuse

     
     
  • 4.26, Аноним (26), 10:08, 19/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Адрес резольвится, но коннекта нет.
    (Да простит и не накажет меня модератор!!!)
     
     
  • 5.27, Gennadi (ok), 03:21, 20/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    странно...

    http://togusak.ddnss.de/server/ftp.png

     
  • 5.28, Gennadi (ok), 15:48, 20/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    спасибо!!!

    посмотрю... поковыряюсь... очень интересно!!!

     
  • 5.29, Gennadi (ok), 12:51, 21/02/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Адрес резольвится, но коннекта нет.
    > (Да простит и не накажет меня модератор!!!)

    ... посмотрел.

    А что... круто! намного упрощает установку и администрирование сервера!

    возьму на заметку.

     

  • 1.30, xrensgory (ok), 15:07, 29/02/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уффф, как назад в нулевые вернулся xD
    А на скринах необходимо замазывать имена реальных хостов вашей инфры, даже если из дикого инторнета к ним не пробиться.
     
     
  • 2.31, Gennadi (ok), 16:06, 01/03/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Уффф, как назад в нулевые вернулся xD
    > А на скринах необходимо замазывать имена реальных хостов вашей инфры, даже если
    > из дикого инторнета к ним не пробиться.

    Эти хосты в виртуальной сети, в которой я протестировать скрипт и всё удалил...

    :-)))

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру