Вариант настройки сервисов для рабочей группы

24.06.20

Администрирование - Администрирование веб-серверов

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

Вводные

1. Выделенный сервер с подключением к интернет

2. Требуется организовать для 5 пользователей (небольшая организация)

2.1 сервер 1С

2.2 файловый сервер

2.3 Web socket сервер (1C сервер взаимодействия)

3. Подключение к сервисам должно быть защищенным, контролируемым, логируемым

3.1 Подключение будет как из локальной сети, так и из интернет

3.2 Подключение к базам 1С будет по протоколу HTTPS, используется только тонкий клиент

3.3 Подключение для редактирования конфигурации только одним пользователем по RDP.

4. Чтобы присутствовала возможность ограничивать/распределять нагрузку по сервисам.

5. Было лицензионно "чистым" и относительно дешевым

6. Чтобы базовые вещи мог сделать "не сильно продвинутый" админ или "продвинутый" пользователь.

 

Описание общее, если нужно уточнить информацию (примеры конфигураций, скриншоты), то пишите в комментарии, по возможность дополню статью.

 

Общая схема

 

Виртуализация

Смешивать все сервисы в одной ОС возможно, но на мой взгляд не нужно. Для разделения использую виртуализацию в частности ESXi, в ограничения лицензии по железу ПК выделенный под сервер как правило вписывается. Лицензия на ESXi бесплатна, но обновления на него нужно устанавливать вручную (после установки из основного дистрибутива), в гугле ищется по "установить обновления esxi".

"Почему не HyperV или KVM?", проще устанавливается, есть достаточно удобный web интерфейс из коробки, удобно управлять виртуальными сетями.

 

Организация сети

Исхожу что в сервере есть минимум один физический интерфейс и он подключен в internet, возможно есть второй с подключением к LAN.

На уровне гипервизора организую виртуальную подсети

1. для серверов

2. с подключением к интернет

3. с подключением к LAN

Между собой сети связываю через роутер с firewall. Из сети интернет в "для серверов" проброс портов делаю только для сервисов с белыми IP, например виртуальные АТС (Манго, МТС и подобное). Для организации использую pfSense https://www.pfsense.org/. Из преимуществ web интерфейс, удобство работы с VPN.

Использую DNS имена для обращения к сервисам, обычно у компании есть сайт, соответственно публичное доменное имя. Локальная сеть выходит в интернет через роутер и пользуется локальным DNS сервером, для внешних пользователей DNS "пробрасывается" с помощью настроек VPN и для адресов компании пользуется локальным сервером.

Для подключения пользователей использую OpenVPN по протоколу UDP с PKI, если "по простому", то при обращении к серверу без ключа доступа на запрос ответа не будет, это препятствует сканированию и анализу открытых портов.

Сертификаты доступа для пользователей генерируются при создании пользователей в pfSense, конфигурационный файл для клиента формируется с помощью доп пакета OpenVPN Client Export Package. При компроментации сертификат можно отозвать что не позволит с ним подключится к системе. Пользователи имеют доступ только до сервера, друг друга не видят (настройка по умолчанию). На клиент можно передать DNS подсеть и нужные маршруты до сереверов в зоне VNet_srv. Преимущество перед PPtP VPN, то что не маршрутизирует весь поток через сервер VPN, только сети указанные в настройках.

 

Файловый сервер

Использую Open-E DSS V7 SOHO https://www.open-e.pro/open-e-sravnenie-joviandss-dss-v7-i-dss-soho/, лицензия бесплатна с ограниченим до 4ТБ. Web админ панель. Из важных для меня плюсов, одну и туже папку можно опубликовать по SMB, FTP, NFS. На нем размещаю общую папку и папку для томов хранения прикрепленных файлов из 1С. Т.к. 1С не умеет использовать для сетевых папок авторизацию, то папка просто срывается.

Резервное копирование файлов реализовано через rclone, статья по настройке //infostart.ru/public/1183106/, скрипт запускается на сервере 1С.

 

Сервер 1С

Организовываю на Windows 10 и MSSQL Express. Серверный вариант windows относительно дорог и относительно win10 и в данном контексте преимуществ не имеет. У MSSQL Express основное ограничение на размер БД в 10ГБ, при адекватной записи/размещении данных и периодической подрезке этого хватает.

Разворачивать на Linux смысла особого нет, потому что диагностировать ошибку/восстановить работоспособность сложнее чем на win, разница в стоимости по лицензиям 10 тыс. руб. при проблемах бизнесу дороже выйдет.

 

Публикация баз 1C по HTTP

В качестве локального web сервера использую apache 2.4 no ssl, рабочие msi сборки (которые видит конфигуратор) беру с https://www.anindya.com/.

Для организации доступа по HTTPS создаю отдельную виртуальную машину с ubuntu + nginx. SSL ключи использую LetsEncrypt, инструкция по получению https://www.digitalocean.com/community/tutorials/nginx-let-s-encrypt-ubuntu-18-04-ru. С помощью nginx получается гибко распределять HTTP запросы фильтруя по доменному имени, директории, источникам запросов. Пример: для одной базы опубликован HTTP сервис с авторизацией в конфиг файле и для этой же базы нужно опубликовать тонкий клиент. Решается c помощью фильтрации по IP

location / {
    deny  192.168.0.15;
    allow 192.168.0.0/24;
    allow 2001:0ab3::/32;
    deny  all;
}

и перенаправлением на нужный URL

location / {
    proxy_pass http://192.168.13.31;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }

 

Резервное копирование баз 1С

Резервное копирование делаю в .dt, пользователям проще самим восстанавливать при необходимости. Для решения есть скрипты по powershell, пришел к тому что проще пользоваться GUI, при возможности использую EffectSaver(https://efsaver.ru/) лицензия стоит 2,5 тыс. руб. Бекап в локальную папку, дальше шифрование и отправка с помощью rclone.

 

Обслуживание баз

В MSSQL Express встроенный инструментарий регламентного обслуживания отключен. Можно использовать скрипты. При возможности использую QMB (http://qmbsql.ru/) для express бесплатен, одного плана обслуживания хватает. при желании с помощью него можно организовать бекам средствами SQL.

 

Итог

На основе набора приложений можно построить гибкую стабильную и безопасную систему для рабочей группы.

Стоимость лицензий без учета 1С 15 тыс. руб., что для малого бизнеса подъемная сумма.

 

Благодарю за внимание.

ESXi pfSense nginx.

См. также

Проблемы на ровном месте, или рассказ о том, как у нас каждое утро стабильно подвисал dev-сервер 1С

Сервера Платформа 1С v8.3 Россия Бесплатно (free)

Меня зовут Павел Белоусов, я работаю Ведущим программистом 1С в компании OCS Distribution. Хочу поделиться историей, как мы столкнулись с постоянными зависаниями dev-сервера 1C, каким образом решили проблему и какие любопытные уроки вынесли из ситуации.

12.04.2024    2143    pbelousov    55    

16

Запуск сервера хранилища конфигураций и сервера удаленного управления на Linux, посредством systemd

Linux Сервера Платформа 1С v8.3 Абонемент ($m)

Сказ о том, как сделать "кошерный" запуск серверов хранилища конфигураций (вдруг еще кто-то до сих пор пользуется) и удаленного администрирования под GNU/Linux с использованием systemd

1 стартмани

07.09.2023    4486    Sloth    0    

23

Первый день архитектора 1С на новой работе

Мониторинг Сервера Администрирование СУБД Бесплатно (free)

Как быстро познакомиться с системой на новой работе или если вас пригласили провести аудит контура на 1С? О том, какие инструменты использовать для быстрой проверки настроек сервера 1С, сервера MS SQL и общей оценки инфраструктуры на производительность, на конференции Infostart Event 2021 Post-Apocalypse рассказал архитектор 1С Юрий Былинкин.

01.06.2023    11025    ardn    19    

82

Путь самурая. Ставим локальный Сервер взаимодействия

Сервера Администрирование веб-серверов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    13267    VPanin56    42    

75

Публикатор 1С. Как публиковать базы с комфортом

Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

Сегодня я расскажу вам про публикатор 1С баз. Это приложение, которое позволит с комфортом и удобством управлять зоопарком ваших веб публикаций. Если у вас больше 5 публикаций, и вам надо с ними что-то делать с завидным постоянством. Если для того чтобы опубликовать тестовую базу, вам приходится идти в техподдержку Если вам просто надоело копаться в конфигах, раздумывая, а нигде ли вы не ошиблись в пробелах и запятых - то тогда вам будет интересна эта публикация.

20.03.2023    6904    79    Segate    4    

27

Midnight Commander, установленный с Entware, не выполняет команды и не запускает файлы

Администрирование веб-серверов Linux Бесплатно (free)

Столкнулся с проблемой, установил на роутер Midnigt Commander с репозитория Entware, при попытке выполнения команды программа пишет ошибку "The shell is already running a command". Данная публикация описывает способ решения этой проблемы.

20.03.2023    3491    Eugen-S    2    

3
Оставьте свое сообщение