Необходимо проверить настройки подключения в конфигурационном файле

Обновлено: 04.07.2024

Прежде чем приступать к настройке VPN вручную, рекомендуем попробовать более простой способ настройки: через интерфейс Webmin. Инструкция.

Если вам необходимо настроить удаленное подключение к рабочим серверам (например, при организации удаленной работы для сотрудников, чтобы обеспечить им доступ к корпоративной сети и внутренним ресурсам из сторонних сетей), вы можете воспользоваться этой инструкцией для настройки VPN-подключения и удаленного доступа.

Существует множество вариантов реализации VPN. Ниже мы рассмотрим настройку на основе OpenVPN.

Для настройки нам понадобится VDS с установленной Ubuntu 16.04.

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

Установка необходимого ПО

Подключитесь к серверу по SSH и выполните установку OpenVPN и центра сертификации командами:

Настройка центра сертификации

OpenVPN использует TLS/SSL, поэтому вам потребуются сертификаты для шифрования трафика между сервером и клиентами. Для выпуска доверенных сертификатов необходимо создать свой собственный центр сертификации.

1. С помощью команд ниже скопируйте шаблонную директорию easy-rsa в домашний каталог и перейдите в созданную директорию:

2. Отредактируйте файл vars :

Необходимо отредактировать несколько переменных, которые задают параметры сертификатов. Эти переменные: KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL, KEY_OU. Укажите значения для каждой из них, не оставляйте их незаполненными.

Также нужно отредактировать значение переменной KEY_NAME, указав субъекта сертификатов. В примере мы зададим ему имя сервер Server (вы можете указать свое), это же значение будет использоваться далее в командах в инструкции.


Сохраните и закройте файл.

3. Создайте центр сертификации при помощи утилиты easy-rsa и заданных переменных. Выполните команду:

Вывод должен быть следующим:


Выполните предложенную команду, чтобы удостовериться, что вы работаете в "чистой среде":

Создайте корневой центр сертификации:

Запустится процесс создания ключа и сертификата корневого центра сертификации. Все необходимые значения будут введены автоматически, так как вы задали их в файле vars. Нажимайте ENTER для подтверждения выбора.


Настройка центра сертификации закончена.

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

Обратите внимание: далее в командах и примерах мы будем использовать Server - значение, указанное выше для переменной KEY_NAME. Если вы указали другое имя, не забудьте заменить его в приводимых командах. Это будет касаться, в том числе, имени файла конфигурации: в нашем случае это будет /etc/openvpn/server.conf .

4.1. Создайте сертификат OpenVPN и ключи для сервера:

Подтвердите все значения по умолчанию, нажимая Enter. Не задавайте challenge password. При завершении процесса два раза введите y для подписи и подтверждения создания сертификата:


4.2. Создайте оставшиеся файлы. Сгенерируйте надежные ключи протокола Диффи-Хеллмана:

4.3. После завершения процесса сгенерируйте подпись HMAC:

Настройка сервиса OpenVPN

1. Скопируйте созданные файлы (сертификат и ключ центра сертификации, сертификат и ключ сервера, подпись HMAC и файл Diffie-Hellman) в директорию /etc/openvpn :

2. Скопируйте и распакуйте файл c примером конфигурации OpenVPN в конфигурационную директорию. Этот файл послужит основой для последующих настроек.

3. Настройте конфигурационный файл сервера. Откройте файл /etc/openvpn/server.conf :

3.1. Найдите директиву tls-auth. Удалите ";", чтобы раскомментировать строку. Далее добавьте параметр key-direction и установите его значение в 0.

Должно получиться следующее:



3.3. Найдите настройки user и group и удалите ";" для раскомментирования этих строк:


3.4. Для реализации доступа к сети, которая находится за клиентом (внутренняя сеть) необходимо прописать следующие строки, где ip 192.168.33.0 следует заменить на ip необходимой внутренней сети:


3.5. Проверьте настройки cert и key, чтобы они указывали на правильные файлы .crt и .key, которые вы скопировали ранее в /etc/openvpn :

Сохраните и закройте файл.

4. Для реализации доступа к внутренней сети, которая находится за клиентом, выполните следующее.

4.1. Создайте директорию /etc/openvpn/ccd :

4.2. Создайте новый файл, название которого должно совпадать с названием конфига клиента, который будет запущен на соответствующем сервере:

4.3. Добавьте в него необходимые ip c масками для пропуска клиентов во внутренние сети:

4.4. Сохраните и закройте файл.

4.5. Задайте необходимые права для файла:

Настройка сетевой конфигурации сервера

1. Разрешите серверу перенаправлять трафик:

2. Примените настройки к текущей сессии:

3. Отключите правила файрвола. При необходимости вы сможете настроить правила самостоятельно, используя материал в Сети.

Включение сервиса OpenVPN

Запустите сервер OpenVPN, указав имя файла конфигурации в качестве переменной. В нашем случае файл конфигурации называется /etc/openvpn/server.conf , поэтому мы используем @server . Укажите здесь корректное для вас значение.

Проверить статус можно командой:


Вы также можете проверить доступность интерфейса OpenVPN tun0 командой:


Если всё в порядке, добавьте сервис в автозагрузку:

Создание конфигураций клиентов

Создание базовой конфигурации

1. В домашней директории создайте каталог для хранения файлов:

2. Скопируйте файл с примером конфигурации в этот каталог:

3. Откройте этот файл в текстовом редакторе и внесите изменения:

3.1. Найдите директиву remote , которая сообщает клиенту адрес сервера OpenVPN. Укажите здесь IP-адрес вашего VDS-сервера:


3.2. Раскомментируйте директивы user и group, удаляя “;”:



3.4. Добавьте настройки cipher и auth с такими же значениями, как в файле /etc/openvpn/server.conf , а также директиву key-direction со значением 1.


3.5. Добавьте следующие закомментированные строки, которые будут необходимы для клиентов на Linux, использующих файл /etc/openvpn/update-resolv-conf. Для таких клиентов потребуется раскомментировать эти строки в сгенерированном клиентском файле конфигурации OpenVPN.

Сохраните и закройте файл.

Скрипт для генерации конфигов

Далее необходимо создать скрипт, который будет генерировать файлы конфигурации с сертификатами, ключами и файлами шифрования и размещать их в директории

1. Создайте и откройте файл make_config.sh внутри директории

2. Вставьте в него следующий блок директив:

3. Сохраните и закройте файл.

4. Сделайте его исполняемым:

Создание конфигураций

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

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

Для создания файлов без пароля (это облегчит автоматические соединения), используйте команду build-key:

В процессе создания файлов нажимайте Enter для подтверждения (все необходимые значения уже введены). Не задавайте challenge password. При завершении процесса дважды укажите y в ответ на запросы о подписи и подтверждении создания сертификата.


Сгенерируйте конфигурацию для этих файлов. Для этого перейдите в директорию

/client-configs и воспользуйтесь созданным скриптом:

Если всё прошло успешно, в директории

/client-configs/files будет создан файл cserver1.ovpn :


Настройка клиентов

Инструкции по настройке клиентов для OpenVPN для разных устройств и систем вы можете найти в сети. В большинстве случаев достаточно установить клиент и импортировать файл конфигурации.

Для примера, ниже рассмотрим настройку клиентов на компьютере с системами Windows и MacOS.

Windows

Откроется окно с логом соединения, и, как только соединение будет установлено, появится соответствующее уведомление.

Для отключения снова кликните на значок OpenVPN в трее, выберите нужный профиль и нажмите Disconnect / Отключиться.

MacOS

Для установки соединения запустите Tunnelblick, после чего кликните на его иконку в верхней части экрана и нажмите Connect. Далее выберите установленный профиль.

Настройка кассового сервера осуществляется с помощью редактирования конфигурационных файлов ( *.properties ), расположенных в каталоге /opt/virgo/repository/usr .

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

Файл с расширением ".properties" является текстовым файлом и состоит из пар "ключ" - "значение", разделенных знаком "=".

Параметры подключений находятся в конфигурационном файле /opt/virgo/repository/usr/connection-properties.properties .

1.1 Настройка подключения к СУБД MySQL

Параметры подключения к СУБД MySQL

Модификация данных настроек в большинстве случаев не требуется.

НаименованиеТип данныхОписаниеЗначение по умолчанию
urls.settings.driver строковый Название JDBC драйвера.org.gjt.mm.mysql.Driver
urls.settings.url строковый URL подключения к базе данных "artixcs_struct", используется для различных функций КС (отображение логов, установка блокировок БД)jdbc:mysql://localhost:3306/artixcs_struct?user=netroot&password=netroot&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
urls.create.driver строковый Название JDBC драйвера. org.gjt.mm.mysql.Driver
urls.create.url строковый URL подключения для создания БД магазина jdbc:mysql://localhost:3306?user=netroot&password=netroot&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
urls.create.postgre.driver строковый Название JDBC драйвера. org.postgresql.Driver
urls.create.postgre.url строковый URL подключения для создания глобальной БД PostgreSQL jdbc:postgresql://localhost:5432/documents?user=netroot&password=netroot&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

1.2 Настройка подключения к СУБД Mongo

Параметры подключения к СУБД Mongo

Модификация данных настроек в большинстве случаев не требуется.
НаименованиеТип данныхОписаниеЗначение по умолчанию
urls.mongo.replicaset строковый <Имя хоста>:<порт> подключения. Можно указывать реплику в виде 1.2.3.1:27017,1.2.3.2:27017,1.2.3.3:27017.127.0.0.1:27017
urls.mongo.database строковый Название базы данных.artixcs

1.3 Настройка подключения к бонусному серверу

Параметры подключения к бонусному серверу для работы PrivateOffice

Модификация данных настроек необходима в том случае, когда бонусный сервер установлен на отдельном сервере.
НаименованиеТип данныхОписаниеЗначение по умолчанию
logic.server.admin.location строковый <Имя хоста>:<порт>, для "админского" подключения. localhost:7790
logic.server.base.location строковый <Имя хоста>:<порт>, для клиентского подключения. localhost:7791
logic.server.terminal.id строковый Идентификатор терминала.adminTerminal

Загрузка продаж с кассы на кассовый сервер осуществляется по средствам очередей Apache Qpid и выполняется по расписанию. Расписание настраивается через Веб-интерфейс кассового сервера.

Параметры загрузки продаж находятся в конфигурационном файле /opt/virgo/repository/usr/cashserver-sales.properties .

Модификация данных настроек в большинстве случаев не требуется.
НаименованиеТип данныхОписаниеЗначение по умолчанию
sales.directory.uploadстроковыйДиректория файлов продаж для загрузки в кассовый сервер./opt/cashserver/uploaddir
sales.directory.processedстроковыйДиректория для корректно загруженных файлов./opt/cashserver/processed
sales.directory.skippedстроковыйДиректория для пропущенных (незагруженных) файлов./opt/cashserver/skipped
sales.directory.brokenстроковыйДиректория для незагруженных файлов, по причине неправильного формата./opt/cashserver/broken
sales.directory.errorстроковыйДиректория, для незагруженных файлов, по причине ошибки в sql./opt/cashserver/error

Параметры обмена находятся в конфигурационном файле /opt/virgo/repository/usr/cashserver-core.properties .

Параметры взаимодействия кассового сервера с кассой /opt/virgo/repository/usr/cashserver-cashcommunication.properties .

Модификация данных настроек в большинстве случаев не требуется.
НаименованиеТип данныхВозможные значенияОписаниеЗначение по умолчанию
port числовой
Порт на котором слушает демон агента кассового сервера на кассе.7795
timeoutDictionary числовой [0..*] Время ожидания ответа с кассы в мс., при работе со справочниками. 0 - ждать бесконечно ответа. 5000
timeoutSale числовой [0..*] Время ожидания ответа с кассы в мс., при работе с продажами. 0 - ждать бесконечно ответа. 5000

Параметры взаимодействия кассового сервера с кассой /opt/virgo/repository/usr/cashserver-frontoffice.properties .

5.1 Настройка подключения к БД "artix" (MySQL)

Параметры подключения к БД Artix (MySQL) находятся в файле /opt/virgo/repository/usr/cashserver-routing-connection.properties .

Модификация данных настроек в большинстве случаев не требуется.
НаименованиеТип данныхОписаниеЗначение по умолчанию
cashserver.artix.mysql.dbsuffix строковый Суффикс базы данныхartixcsAll
cashserver.artix.mysql.url.route строковый URL подключения к базе данных jdbc:mysql://localhost:3306/%dbname%?characterEncoding=utf8
cashserver.artix.mysql.url.default строковый URL подключения к базе данных, используемый по умолчанию jdbc:mysql://localhost:3306/artixcsAll?characterEncoding=utf8
cashserver.artix.mysql.driver строковый Название JDBC драйвераcom.mysql.jdbc.Driver
cashserver.artix.mysql.username строковый Имя пользователяnetroot
cashserver.artix.mysql.password строковый Парольnetroot
cashserver.artix.mysql.dialect строковый Название диалекта Hibernate org.hibernate.dialect.MySQL5Dialect

5.2 Настройка подключения к БД "dictionaries" (MySQL)

Параметры подключения к БД Dictionaries (MySQL) находятся в файле /opt/virgo/repository/usr/cashserver-routing-connection.properties .

Модификация данных настроек в большинстве случаев не требуется.
НаименованиеТип данныхОписаниеЗначение по умолчанию
cashserver.dictionary.mysql.dbsuffixстроковыйСуффикс базы данныхdictionariesAll
cashserver.dictionary.mysql.url.routeстроковыйURL подключения к базе данных.jdbc:mysql://localhost:3306/%dbname%?characterEncoding=utf8
cashserver.dictionary.mysql.url.defaultстроковыйURL подключения к базе данных, используемый по умолчаниюjdbc:mysql://localhost:3306/dictionariesAll?characterEncoding=utf8
cashserver.dictionary.mysql.driverстроковыйНазвание JDBC драйвераcom.mysql.jdbc.Driver
cashserver.dictionary.mysql.usernameстроковыйИмя пользователяnetroot
cashserver.dictionary.mysql.passwordстроковыйПарольnetroot
cashserver.dictionary.mysql.dialectстроковыйНазвание диалекта Hibernateorg.hibernate.dialect.MySQL5Dialect

5.3 Настройка PrivateOffice

Параметры PrivateOffice находятся в файле /opt/virgo/repository/usr/private-office-service.properties .

НаименованиеТип данныхОписаниеЗначение по умолчанию
private.office.service.application.name строковый Имя приложения при выполнении операций в БД (необходимо для аудита)PrivateOfficeService
private.office.service.start.amount числовой Сумма бонусов (в копейках), которая будет начисляться клиенту при регистрации через веб-сервис0
private.office.service.nonSavedUserId числовой Идентификатор, который не будет сохраняться для клиента, но будет запрещать "перепривязывать" клиента, даже если в привязке не было userId-1
private.office.service.godModePassword строковый Универсальный пин-код, при указании которого он проверятся не будетне задано

5.4 Настройки оплаты

Параметры оплаты находятся в конфигурационном файле /opt/virgo/repository/usr/accounting-logic-properties.properties .

6.1 Настройка работы с продажами

Параметры подключений находятся в файле /opt/virgo/repository/usr/connection-properties.properties .

НаименованиеТип данныхОписаниеЗначение по умолчанию
connection.connectionCountчисловойКоличество соединений в пуле5

6.2 Получение информации о состоянии МКС

Параметры получения информации о состоянии МКС находятся в конфигурационном файле /opt/virgo/repository/usr/cashserver-cache.properties .

Модификация данных настроек необходима только для ЦКС.

Количество максимально возможных потоков при получении информации с МКС

Размер очереди при получении информации с МКС - фактически максимально допустимое кешируемое количество МКС (должно быть больше числа МКС)

Ожидание между повторами обновления кеша (в миллисекундах)

Подробнее о просмотре состояния МКС в веб-интерфейсе можно прочитать в разделе "Промежуточные кассовые сервера".

Для того чтобы настройки вступили в силу необходима перезагрузка КС, для перезагрузки кассового сервера необходимо выполнить следующие действия:

Причина: Не установлен набор системных библиотек windows visual c++ redistributable, необходимый для завершения установки
В большинстве случаев причина кроется в установке заглушек вместо полноценных компонентов, их полным отсутствием или повреждением.

2. В ASN1 встречен неожиданный конец данных.

Причина: Проблема кроется в старых сертификатах. Континент ТЛС клиент не может прочитать некоторые сертификаты, с неподдерживаемыми знаками (например ;

Решение: Вычислить проблемные сертификаты и избавиться от них. Следует помнить, что пользователю доступны не все хранилища сертификатов, поэтому удалять нужно используя оснастку Windows и проверять хранилище локального компьютера. Или прибегнуть к помощи специалиста.

Причина: Проблема кроется в правах текущего пользователя к папкам и веткам реестра, которые использует программа.
Проблемные каталоги: c:\Program Files\Security Code\Continent TLS Client и c:\Users\Public\ContinentTLSClient
Проблемные ветки реестра: HKEY_LOCAL_MACHINE\SOFTWARE\SecurityCode\TlsClient и HKEY_LOCAL_MACHINE\SOFTWARE\SecurityCode\TlsClient\Setup

Решение: Предоставить текущему пользователю права на чтение и изменение данных каталогов и веток реестра. В некоторых случаях, придется стать их владельцем, чтобы выставить права и увидеть скрытые ветки реестра которые так же желает использовать Континент ТЛС клиент.
Список исчерпывающий, поэтому если вы предоставили все права на все ветки, но проблема не решилась, значит что-то упустили (некоторые ветки реестра не видны, пока не выдать права текущему пользователю). Если ничего не получается можете обратиться к нашим специалистам за помощью.

Причина: В 9 случаях из 10 это Dr.Web и его програмные продукты . Межсетевой экран антивирусов этого вендора требует тщательной настройки для беспроблемной работы электронного бюджета.

Первый вариант простой, но оставляет ваш компьютер незащищенным если у вас нет альтернатив под рукой.
Второй вариант требует дополнительной настройки АРМ, выделение свободного сокета под прокси-сервер континент тлс клиента и знаний.

Вывод тестирования о проблемном сертификате:

ГОСТ Р 34.10-2012 DH 256 бит
ГОСТ Р 34.10-2012 256 бит, параметры ТК-26 А
ГОСТ Р 34.11-2012 256 бит
ГОСТ 28147-89, параметры шифрования ТК26 Z

Вывод тестирования о любом другом сертификате, вход которого успешен:

ГОСТ Р 34.10-2012 DH 256 бит
ГОСТ Р 34.10-2001, параметры обмена по умолчанию
ГОСТ Р 34.11-2012 256 бит
ГОСТ 28147-89, параметры шифрования ТК26 Z
Решение: Формировать новый запрос на сертификат, предварительно вернув настройки Крипто Про к стандартным.

Причина: Известная несовместимость при установке на компьютере Континент АП и криптопровайдера от Кода Безопасности.
Решение: Удаление корневого сертификата из всех хранилищ (пользователя, локального компьютера, реестра), удаление проблемных веток реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 1\CryptDllImportPublicKeyInfoEx\1.2.643.7.1.1.1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\OID\EncodingType 1\CryptDllImportPublicKeyInfoEx\1.2.643.7.1.1.1.1

и последующая переустановка корневых сертификатов.

8. При подписании в Электронном Бюджете в окне Jinn client не видит сертификаты сформированные по гост 2012.

Причина №1: Наименование организации превышает 127 символов. см. решение №1
Причина №2: Ручная установка расширения eXtendedContainer по инструкции с сайта Федерального Казначейства . К сожалению, в руководстве указан только xc.exe который идет в составе дистрибутива Jinn client , установка которого нужна только на 32-битных системах. Для установки на 64-битные системы необходимо использовать xc64.exe. см. решение №2
Причина №3: Если eXtendedContainer не был установлен вручную, он будет автоматически установлен при установке Континент ТЛС клиент . Его использование нерекоммендуется, т.к. он вызывает проблемы с отображением сертификатов. см. решение №2

Причина: Вероятнее всего вы пытаетесь подписывать, выбирая сертификат не с флешки, а из хранилища сертификатов Windows. Это неправильно. Подписывать в Электронном Бюджете следует только с физического носителя: флешки или рутокен.

Решение: При подписании выбирать сертификат с флешки, или, если в окне выбора сертификатов не отображается нужного, ознакомиться с предыдущим пунктом данной статьи.

Причина: Некорретная настройка браузера Internet Explorer.

Решение: Воспользоваться подготовленным нами файлом для настройки браузера.

Причина: Неизвестно.

Решение: Удалить целиком ветку в реестре Windows: [HKEY_CURRENT_USER\Software\Security Code]

Континент TLS VPN клиент 2.0.1440 необходим для работы с сертификатом электронной подписи ГОСТ Р 34.10-2012. Континент TLS VPN клиент 1.0.920.0 не работает с сертификами ГОСТ 2012.

Данный дистрибутив скачан с сайта производителя и имеет ограничение в работе 14 дней. При регистрации Континента через интернет это ограничение снимается. Приобретать лицензию на СКЗИ «Континент TLS VPN Клиент» не надо. Клиенты казначейства также могут получить данное СКЗИ в местном казначействе.

Инструкция по установке Континент TLS VPN клиент 2.0.1440

Перед установкой Континента ТЛС версии 2 необходимо удалить предыдущую версию Континента (если конечно она была установлена) через Пуск > Панель управления > Программы > Программы и компоненты. Потом перезагрузить компьютер.

Скачанный дистрибутив необходимо разархивировать и запустить файл «Континент TLS-клиент.exe»

Континент TLS-клиент.exe

Далее в появившемся окне отмечаем чекбокс «Я принимаю условия лицензионного соглашения» и нажимаем кнопку «Установить».

Континент TLS-клиент установить

Континент TLS-клиент. Установка завершена

Если в течение 14 дней не зарегистрировать программу, то по окончании демонстрационного периода работа программы будет приостановлена.

Континент TLS клиент регистрация

Континент TLS клиент регистрация

После успешной регистрации всплывает окно. Ограничение демонстрационного периода (14 дней) снято.

Для регистрации Континент TLS Клиент работникам казначейства (компьютер находится в локальной сети казначейства) необходимо внести изменения (выделены красным) в файл PublicConfig.json.

«loggingConfig»: «fileLogMaxSize»: 3145728,
«fileLoggingDirectory»: «C:\\Users\\Public\\ContinentTLSClient\\»,
«fileLoggingEnabled»: true,
«sessionLogsEnabled»: false
>,
«serialNumber»: « test-50000 »
>

Настройка СКЗИ «Континент TLS VPN Клиент» для работы в Электронном бюджете

Запускаем Континент TLS VPN Клиент (через меню пуск или иконку на рабочем столе). В открывшемся окне нажимаем «Главная» > «Добавить» > «Ресурс».

Настройка континента TLS VPN клиент

В окне добавления ресурса прописываем следующее:

Континент TLS VPN Клиент. Добавление ресурса

Далее идем в раздел «Настройки» > «Основные». Ставим галочки в следующих чекбоксах:

  • Проверять сертификаты по CRL
  • Запускать при старте системы
  • Скачивать CRL автоматически
  • При запуске свернуть в системный трей

Получаем страницу с такими настройками. Нажимаем «Сохранить».

Континент TLS VPN Клиент. Настройки. Основные.

Континент TLS VPN Клиент. Настройка. Внешний прокси.

Континент TLS VPN Клиент. Серверные сертификаты.

В результате добавления сертификатов видим следующее.

Далее проверяем вкладку пользовательские сертификаты. Если вашего сертификата там нет, то его необходимо установить через КриптоПро. Инструкция по установке личного сертификата в КриптоПро тут. Если сертификат установлен, то видим следующее.

Читайте также: