Руководство по организации удалённого подключения к промышленному ПЛК посредством OpenVPN

от автора

image

В этой статье я хочу рассказать о полученном опыте организации удалённого доступа к промышленному программируемому логическому контроллеру (далее — ПЛК) посредством бюджетного решения на базе интернет-центра KEENETIC 4G.

Данная статья будет особенно интересна специалистам в области АСУТП, которые задались вопросом организации удалённого доступа, но не знали с чего начать.

Итак, начнём!

В данном примере рассмотрим наиболее часто встречающийся вариант, а именно:

  1. Локальный компьютер, который будет являться OpenVPN сервером с установленным пакетом TIA Portal для программирования ПЛК. (локальная сеть 192.168.1.0)
  2. Маршрутизатор предприятия с внешним белым IP — адресом (например, 217.196.58.128).
  3. Интернет-центр KEENETIC 4G с установленным клиентом OpenVPN подключенный к мобильной связи.
  4. Программируемый логический контроллер SIMATIC S7-1500 (локальная сеть 192.168.112.0).

Наличие внешнего белого IP — адреса на одной из сторон является необходимым условием работы OpenVPN сервера (сервер OpenVPN должен быть расположен на стороне белого IP — адреса).

Для организации VPN соединения между Интернет-центром KEENETIC и рабочем местом нам необходимо установить следующее ПО:

  1. OpenVPN — программа для создания безопасных виртуальных частных сетей, удаленного подключения к серверу
  2. XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
  3. Notepad++ — текстовый редактор (необязательно)

Установка пакета OpenVPN на Windows.

Устанавливаем компонент EasyRSA (для создания сертификатов встроенными средствами (необязательно).

image

В случае вывода сообщения об установке драйвера, нажимаем «установить».

image

В случае, если требуется установить несколько виртуальных адаптеров или если виртуальный адаптер был некорректно установлен, то переходим по нижеприведённому адресу и запускаем «addtab.bat» скрипт:
C:\Program Files\TAP-Windows\bin

image

Создание X.509 сертификатов

1. Устанавливаем XCA

XCA — программа для лёгкого создания сертификатов с графическим интерфейсом

2. Создаём БД

«Файл» -> «Новая база данных», далее программа запросит ввод пароля, вводим пароль или оставляем поля пустыми и нажимаем «ОК».

image

3. Создаём сертификат удостоверяющего центра (CA)

Для этого переключаемся на вкладку «Сертификаты» и нажимаем на кнопку «Новый сертификат»

image

Далее переключаемся на вкладку «Субъект» и заполняем необходимые поля (то, что выделено красным должно иметь уникальное имя).

image

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

image

Переключаемся на вкладку «Расширения», выбираем тип сертификата «Центр Сертификации» и настраиваем срок действия сертификата (сертификат CA должен иметь более длительный срок действия, чем сертификаты компьютера, которые будут созданы позже.)

image

Нажимаем «ОК» и теперь мы можем приступить к настройке сертификатов компьютера.

4. Создание шаблонов сертификатов компьютера

Для упрощения создания машинных сертификатов будем использовать заранее приготовленный шаблон. Переключаемся на вкладку «Шаблоны» и нажимаем на кнопку «Новый шаблон».

image

Выбираем «Пустой шаблон» и переходим к редактированию нашего шаблона, имена в угловых скобках в будущем должны быть уникальными.

image

Переходим на вкладку «Расширения», задаём тип «Конечный субъект» и настраиваем период действия сертификата компьютера (должен быть не больше чем у сертификата удостоверяющего центра).

image

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

5. Создания сертификатов компьютера с использованием шаблона

Переключаемся на вкладку «сертификаты» и нажимаем на кнопку «Новый сертификат», выбираем опцию «Использовать этот сертификат для подписи», в качестве шаблона выбираем наш шаблон <My_Machine> и нажимаем на кнопку «Применить всё».

image

Далее переходим на вкладку «Субъект» вводим уникальное имя, например, «My_Server», генерируем ключ.

image

Таким образом мы создали сертификат сервера. Проделываем туже самую процедуру для сертификата клиента (My_Client).

image

6. Экспорт машинных сертификатов и ключей

Для создания конфигурационного файла OpenVPN клиента (KEENETIC) и сервера (ПК Windows) нам потребуется экспортировать сертификат удостоверяющего центра, сертификат сервера, сертификат клиента, закрытый ключ сервера, закрытый ключ клиента.

Для этого переходим на вкладку «Сертификаты» выбираем сертификат удостоверяющего центра My_CA нажимаем на кнопку «Экспорт» и выгружаем в заранее созданную папку, например My_Keys, расположенную на рабочем столе.

image

Проделываем тоже самое для сертификата клиента (My_Client) и сертификата сервера (My_Server).

Переключаемся на вкладку «Закрытые ключи» выбираем ключ My_Client, нажимаем экспорт и выгружаем в нашу папку.

image

Проделываем туже самую процедуру для ключа сервера.

7. Создания параметра Диффи-Хэллмана

Для конфигурации параметров сервера нам также потребуется параметр Диффи-Хэллмана
Для создания параметра нажимаем на вкладку «Дополнительно» и выбираем пункт «Сгенерировать параметры Дифии-Хэллмана».

image

Далее выбираем длину параметра, например, 2048. Далее выгружаем наш параметр в папку с ключами.

image

В итоге в нашей папке должны находиться следующее файлы:

  1. Сертификат удостоверяющего центра My_CA.crt
  2. Сертификат клиента My_Client.crt
  3. Сертификат сервера My_Server.crt
  4. Закрытый ключ клиента My_Client.pem
  5. Закрытый ключ сервера My_Server.pem
  6. Параметр Дифии-Хэллмана dh2048.pem

image

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

Т.к. протоколом промышленной связи S7-1500 является Profinet, то для установления соединения с ПЛК нам потребуется организовать L2 соединение, которым в данном случае является TAP-интерфейс.

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

Для создания файла конфигурации сервера перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Server с расширением .ovpn

image

Откройте файл TAP_Server.ovpn программой просмотра текстовых файлов (например, Notepad++) и скопируйте следующий текст:

# Указываем работу на L2 уровне dev tap # Параметр, используемый в Windows системах # Указываем имя нашего TAP-Windows адаптера dev-node MyTap # Конфигурируем сервер в режиме моста для TAP устройств server-bridge # Указываем протокол работы сервера и версию IP proto udp4 # Указываем номер порта, на котором будет работать OpenVPN port 50501 # Пинговать каждые 10 секунд сервер и если в течение 120 секунд  # не будут получены ответные пакеты, перезапустить подключение. keepalive 10 120 # Указывает алгоритм шифрования cipher AES-256-CBC # Уровень детализации лога verb 3 # Во внутрь копируем сертификат удостоверяющего центра <ca>  </ca> # Во внутрь копируем сертификат ключа <cert>  </cert> # Во внутрь копируем закрытый ключ <key>  </key> # Во внутрь копируем параметр (ключ) Diffie-Hellman (Диффи-Хеллмана). <dh>  </dh> 

Затем откройте программой просмотра текстовых файлов My_CA.crt, My_Server.crt, My_Server.pem, dh2048.pem и скопируйте текст из:
My_CA.crt в &ltca&gt &lt/ca&gt
My_Server.crt в &ltcert&gt &lt/cert&gt
My_Server.pem в &ltkey&gt &lt/key&gt
dh2048.pem в &ltdh&gt &lt/dh&gt

image

в результате получим следующее:

dev tap dev-node MyTap server-bridge proto udp4 port 50501 keepalive 10 120 cipher AES-256-CBC verb 3  <ca> -----BEGIN CERTIFICATE----- MIIDqjCCApKgAwIBAgIIJJ8tf67Csf4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw MDAwMFoXDTQ5MTIxMjIzNTk1OVowgYsxCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH MQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlfQ0ExIDAeBgkqhkiG9w0BCQEW EW15ZW1haWxAbXlob3N0Lnh4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEA3dJoAVl7foXZMavZIr9RTB59h+El26OYll7KMBHritf+x8DEVjcg86uyDSf0 yzLtAR+8J013W3SRDVpl3gqdk3t1qb7Paz1OUrV2Hu3N5Ws1s4elpENTQAe1HFZS u0NRhXBCxTTyToNdb1pKcIJziVNLXdTL+pud0T8FNs6q37t14XFkfDOw85m7y3py vU8+ucmQEd5vOKPjcY1jklVZkQJKcGTI77x/R2k6HK7ryul5uIepi/RrVrgTNe5W rYWuk6wlmmFLvgdzoVaBJO8edo89M7oJIQFMNN9x3cpbths6/3ZummBktfgVa7xy 3fs//M5v1pjnYeJ5wd5tiCXkpQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqG SIb3DQEBCwUAA4IBAQDbNhPy3IftjPVNyaUH/5AW6R0Fjqoct/55ZMDrdWlLY1mo iTTxhFPv1DbilUE/nr+SwGvZV2MQs4G1hi9PgGqY5a+lJCSios8BJ7zlrt/LLQQ/ st0r2wzpCYROxoi+zu9YNGZJPP9GI3KdcVye9Rt3vbLbL8LQ8kKKwn3Ju5i1SUMy gzvGTNUPtqOKVJid39IIdva3iMUBspfMGv2EcaGaRWekW9Pni/gBS2eHkBH1/X6n KiopjtZw7A4RPHzC58jp+ypT/X63tPwf5+kWsMDeLG1XTKnLoPeAVNtszMhGsgzE DoZUuL4pb8XbpcnrPlgp0WSkrf1RJrJGuArvUDLu -----END CERTIFICATE-----  </ca>  <cert> -----BEGIN CERTIFICATE----- MIIDyzCCArOgAwIBAgIIINPrUqBedY8wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw MDAwMFoXDTQ5MTIxMjIzNTk1OVowgY8xCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH MQ4wDAYDVQQLEwVNeU9SRzESMBAGA1UEAwwJTXlfU2VydmVyMSAwHgYJKoZIhvcN AQkBFhFNeUVtYWlsQE15SG9zdC54eDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAJhJYVC8WJneQTTO9p7NJvS803W1lq/8Z78Vx8J5jejVhXXZa0NYfXX8 iiXUr26vdhXN5htSNgktz9Tr5zUHwKhzpq+yYICPS44AmzMJByPBhjHUq7/HjnOA e78k80OTzqL5XH8olrQc7690K1GW3b0PduH+bYykDGijQ8vlkwBKQhgxeo7zkTrm VWsgmFJEbrdGoZPnwyHrStMHM0f6UMkEWqooughphaxtJWzS4GJES09z3VSN/3CV FuV2Jn3UGyoEHKrZUa/kFgRx9j9AqRx3//WFusm2KPUim+IA4SLoXP5M6pZXaxvA Z4y5b2xIc/OFFX5DfaCSpAMFwzZFYXkCAwEAAaMtMCswCQYDVR0TBAIwADAeBglg hkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQAZ EXHnqu9Ilz6+w4SB/wfl5HG3UyS2n8oNpTHbFkX1Sn2+2FFuSCZlxhQYyhZKUjRq NsbWMMcwRDST9V6cPw6iaTPfz2G8zaBFjsemnyYD6YttNmdqXgv5wiik3btP2Jk2 3msmg8MlA/EgeZWSFe0ee4yE+L145JgtEQeg0xb7t8J9OOt3W1GVnoX1hQa2GePH PlKqc5ooPAuzIW4kWzxQefqcV5j1Rof98/dQJwJwCatRYgFciOZe26rcsu0R1iKF yS6NB+HwJxZY1ExPcSDmiVu5cyeasSLp1bxcqb9V7a3e9YxNZ8AVmjh/NfOcb2a/ /Mx8QxPEP7g+B6tWfF/Q -----END CERTIFICATE-----  </cert>  <key> -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAmElhULxYmd5BNM72ns0m9LzTdbWWr/xnvxXHwnmN6NWFddlr Q1h9dfyKJdSvbq92Fc3mG1I2CS3P1OvnNQfAqHOmr7JggI9LjgCbMwkHI8GGMdSr v8eOc4B7vyTzQ5POovlcfyiWtBzvr3QrUZbdvQ924f5tjKQMaKNDy+WTAEpCGDF6 jvOROuZVayCYUkRut0ahk+fDIetK0wczR/pQyQRaqii6CGmFrG0lbNLgYkRLT3Pd VI3/cJUW5XYmfdQbKgQcqtlRr+QWBHH2P0CpHHf/9YW6ybYo9SKb4gDhIuhc/kzq lldrG8BnjLlvbEhz84UVfkN9oJKkAwXDNkVheQIDAQABAoIBAGZFmapr4yDqx2Xc vHmnk0r3aRf7LMjhvRbyXKZ5ldlRVIDx0/x1eER9ppWDgZHXGnnIPooIqyt87b+z 8iGGJFe826vRIsgT9AzY0WHz5SyZMjNS/Ukdjsh4+CJFgW3X3QVMbFclfhhV+o4d eV4g8KegtBlQEmhKX98CDmznr9KYAxBtiMODkG3gi523+8qgOH5Nqgr+0CGxwcJU 4fDHadjbSj7+12ZrY3TVZm451fEzgh2nPAseyAoNYe0CM9hExmq4jeNxjZFQHNBv refghZaPmyuRWSOfzNbEwRsLCZeLUHDdrNvsPRnFvmLcFhtFKwctngvkGK5lPs1w dCgs8pUCgYEAyJOsi+ZTAWTjJC1pCr3FRJEjoqfqZGw/OLCKV7PBF8Yf2DIB+LDD gfgoMi39sK/HkaH1H6CqD1Gter8WE67gAURvo5UjK4vFAGhmQSbiwhRUCRKRljwT zB4k649XpD8fiOzd9S12uKyr8EvvDbOz9x1XcxQELcqURIunTuDH4CsCgYEAwl3F twSkSOPYG2AeLnuwf8sYtFbcvSYL/8cGovOuZ0GlSLpHO2k1qhUzl6HrpIhEyVom IQRJW9S5lB7z5lU/CVcbGmYLwu4y5/tl4MeG8NOEj1o8FR9RzUw92dSSKoMfCMad lz/RmOrBnX4pwqICs7r7h7VsnOsr/AYn5H04zusCgYEAwHHv+8rhmVTTGsL3Jfcu brtTFZ1Gp1O01Q+NrNgrTEQsCaLxgUsYSntvFbZK0lvVf0WFivL8N/aGHF97Lyd6 hbzD4JAXTpCsU9fXRGuq5cvbVVkblqnN1OqXQewmitCF0TpzO+qDHm2OCuDQXLUu 1sqwPRnXaJgV6i6UOHozTEECgYEAgmguFqxrmWgdf8iOl3tvoV5f1eeNtO7JEDS1 1DEQ68CUp+YrksX1NoeBFRSTqNGw7TOp728T1SQ12xalZ/38DEVALwcWjxQIXbND 2HumowAXqaLOOxHHbangub0w0IsnEFlKNMeh1ipz+zpBxI+0pmgnCReFpwb2fOKY c2o86j8CgYAWTWn/Y1/bNgtStzya6fbxpc4Mc2nCZu6bTQpAgA44r+nRJuHpVm0T cGDKj4NZ8H4wqMmk58GoOreAVsX4qXeN9QkdfAR5dA8eWVz42faC328W3G4VA5cc GvTqDMzq0j3bz+4csHMn3BHatHymjgsg0sgc8FshuD6dQk0NNruk9A== -----END RSA PRIVATE KEY-----  </key>  <dh> -----BEGIN DH PARAMETERS----- MIIBCAKCAQEAlpVUnvCTJ1XF9mnwhf+P+QZhVWsNyRaqEgLuO2a/fGUqPESU9KRo bDa489awzJs6j/JCKh1xR5H5JLE+Ho6XdgIXH9LTr03BV3PsPQiA28ZiluekBGGY ps7dTLr0Ex4V6Ae3+E+Z7lM/Yhsa4w6fl+GNRkastD42Nx4g4iN+cIerLMFCRPl1 P7Go36VbEtO/aNX/zNExmcDsYSqiLkBeGrNxXen2Loqex5AlwE9WOliUbak6Ra/W vf21Wi03TvBBfjEDKtM/Bsyo8Ar2lgBYIrANvylU/0Gg8OyRWqcIoQjwPyjavAHd v14V1igYDa1xP9WQ262DMHfHLhqwjOW2GwIBAg== -----END DH PARAMETERS-----  </dh> 

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

Для создания файла конфигурации клиента перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Client с расширением .ovpn
Откройте файл TAP_Server.ovpn программой просмотра текстовых файлов (например Notepad++) и скопируйте следующий текст:

# Указываем, что мы используем клиентское подключение client # Указываем работу на L2 уровне dev tap0 # Указываем протокол работы сервера и версию IP proto udp4 # Указываем номер порта, на котором будет работать OpenVPN port 50501 # Задает сервер, к которому должен подключаться клиент # могут использоваться записи IP и DNS. remote 217.196.58.128 # Указывает алгоритм шифрования cipher AES-256-CBC # Уровень детализации лога verb 3 # Во внутрь копируем сертификат удостоверяющего центра <ca>  </ca> # Во внутрь копируем сертификат клиента <cert>  </cert> # Во внутрь копируем закрытый ключ клиента <key>  </key>  

Затем откройте программой просмотра текстовых файлов My_CA.crt, My_Client.crt, My_Client.pem и скопируйте текст из:
My_CA.crt в &ltca&gt &lt/ca&gt
My_Client.crt в &ltcert&gt &lt/cert&gt
My_Client.pem в &ltkey&gt &lt/key&gt

image

в результате получим следующее:

client dev tap0 proto udp4 port 50501 remote 217.196.58.128 cipher AES-256-CBC verb 3  <ca> -----BEGIN CERTIFICATE----- MIIDqjCCApKgAwIBAgIIJJ8tf67Csf4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw MDAwMFoXDTQ5MTIxMjIzNTk1OVowgYsxCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH MQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlfQ0ExIDAeBgkqhkiG9w0BCQEW EW15ZW1haWxAbXlob3N0Lnh4MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEA3dJoAVl7foXZMavZIr9RTB59h+El26OYll7KMBHritf+x8DEVjcg86uyDSf0 yzLtAR+8J013W3SRDVpl3gqdk3t1qb7Paz1OUrV2Hu3N5Ws1s4elpENTQAe1HFZS u0NRhXBCxTTyToNdb1pKcIJziVNLXdTL+pud0T8FNs6q37t14XFkfDOw85m7y3py vU8+ucmQEd5vOKPjcY1jklVZkQJKcGTI77x/R2k6HK7ryul5uIepi/RrVrgTNe5W rYWuk6wlmmFLvgdzoVaBJO8edo89M7oJIQFMNN9x3cpbths6/3ZummBktfgVa7xy 3fs//M5v1pjnYeJ5wd5tiCXkpQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqG SIb3DQEBCwUAA4IBAQDbNhPy3IftjPVNyaUH/5AW6R0Fjqoct/55ZMDrdWlLY1mo iTTxhFPv1DbilUE/nr+SwGvZV2MQs4G1hi9PgGqY5a+lJCSios8BJ7zlrt/LLQQ/ st0r2wzpCYROxoi+zu9YNGZJPP9GI3KdcVye9Rt3vbLbL8LQ8kKKwn3Ju5i1SUMy gzvGTNUPtqOKVJid39IIdva3iMUBspfMGv2EcaGaRWekW9Pni/gBS2eHkBH1/X6n KiopjtZw7A4RPHzC58jp+ypT/X63tPwf5+kWsMDeLG1XTKnLoPeAVNtszMhGsgzE DoZUuL4pb8XbpcnrPlgp0WSkrf1RJrJGuArvUDLu -----END CERTIFICATE-----  </ca>  <cert> -----BEGIN CERTIFICATE----- MIIDyzCCArOgAwIBAgIII6a7Y3h+sS0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNV BAYTAlJVMRQwEgYDVQQIEwtLUkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFS U0sxDjAMBgNVBAoTBU15T1JHMQ4wDAYDVQQLEwVNeU9SRzEOMAwGA1UEAwwFTXlf Q0ExIDAeBgkqhkiG9w0BCQEWEW15ZW1haWxAbXlob3N0Lnh4MB4XDTE5MTIxMzAw MDAwMFoXDTQ5MTIxMjIzNTk1OVowgY8xCzAJBgNVBAYTAlJVMRQwEgYDVQQIEwtL UkFTTk9ZQVJTSzEUMBIGA1UEBxMLS1JBU05PWUFSU0sxDjAMBgNVBAoTBU15T1JH MQ4wDAYDVQQLEwVNeU9SRzESMBAGA1UEAwwJTXlfQ2xpZW50MSAwHgYJKoZIhvcN AQkBFhFNeUVtYWlsQE15SG9zdC54eDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAM1xGkTl0fTge3jacEgSkrMoN3wgIr94Y1uD574XqxKYdH11hEdldTLa gx8MGLIYaXN/HQTEYuhxpk+EX0Mqns9TazGouvE2/poP4KiO8iSHVO9PaaKO0OKq Y7ctt4TVBdnD2UjiHCq5DfQ/T6UGv4bOR61RCqymyBnnVQ/KyR0DX4/U+jLx9wxS d5OLD0SSqOjdLTnI1gBpEphRuPo6705I+eM7cATyoL17GMgAQ1W4zLzq3ojNPCo3 U/P0tPvQi6hHoJv5Rj8EfgK7eID7kUqvCrG4Vvg+iKjC7m1ABweOjBXVpk7UsKin 97I/Gz0PGOwnsh3a3J/WNZu1DuPfw9UCAwEAAaMtMCswCQYDVR0TBAIwADAeBglg hkgBhvhCAQ0EERYPeGNhIGNlcnRpZmljYXRlMA0GCSqGSIb3DQEBCwUAA4IBAQDd v4iq13jCqRI6yeFlB8ouMVtuVpI+p7w6KBYyc+phbDuzqI4iFkMyhj0H+cx/760M ziQMuLR/pRrSPKPI03JgFI5dFh1txnNFkelQutZ+6qe4c1y9OhKhwg3n6jS2PevG Tvlrl1utoiNOVXhcvH0CxuD5AJEyQa9SH/vO3TRQC9g5zbfULTgOhpUmaVPYBkX/ tBnvnKFdmsLqwgrKvdqfJF3WqJuQSdHtyp4MVZN1d/T+HoQ5YfN5nGXpLLgLdGaq KvtAtFACkltO0A7R2WeLw1WNiXGHNxd3OFuVedapub1zXCSiYZNC+8MX7PkQnV9e p1JB/AWXg/Z7uQSua3+c -----END CERTIFICATE-----  </cert>  <key> -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAzXEaROXR9OB7eNpwSBKSsyg3fCAiv3hjW4PnvherEph0fXWE R2V1MtqDHwwYshhpc38dBMRi6HGmT4RfQyqez1NrMai68Tb+mg/gqI7yJIdU709p oo7Q4qpjty23hNUF2cPZSOIcKrkN9D9PpQa/hs5HrVEKrKbIGedVD8rJHQNfj9T6 MvH3DFJ3k4sPRJKo6N0tOcjWAGkSmFG4+jrvTkj54ztwBPKgvXsYyABDVbjMvOre iM08KjdT8/S0+9CLqEegm/lGPwR+Art4gPuRSq8KsbhW+D6IqMLubUAHB46MFdWm TtSwqKf3sj8bPQ8Y7CeyHdrcn9Y1m7UO49/D1QIDAQABAoIBAQC6dsyL+jf9VX5b 6497qvfhikAJ9jTzqjYsCuXcwCiygRNCB9ae4rRkCrZ2CImlo8iaXqYc/I51QSnd BF1eXiG0NZeWg/nhE7Q0avLSqqOWigqKBn7vX0ayZEqLKQBnnN1pkHv3zdoY4MuM g6YrN5vApBukcGkK2XnHIRMweTLek9/qAeDgcE4ZVXIgHkNjqAc9y/kd5Sx+fL+N k/dGQeTne2xgzJZsiu4uoS9jnBE7g1hQpfLpbyoREaRjWob/KP2IDFIjInjnHrb9 mO5Xuqsv8mHp4+67Ium8IN5jDldoObayEd8giE6x3r/3x60RSmV8IDHKPIs507qD 2hoCXz8hAoGBAObhKqowjp5TuqPt9Nrm+cVZKroDvz8bXb8ejOMn22Wj171cdNy3 gxbt5ksLXsHmjPWm9fK5ZL8m33U+uMwcgqIUbHILo40AQK9FtwkjyeTQne1OBjJa 2tjCc3ySo0icEswRFJrCu9Rcszehj56WlJzmvE0CiM2QGG3ExOxl8LNtAoGBAOPL Zv5nkG0RAuOg5w+tLi2H14BcD1ICpPcq232mXdqzEeeXSysvgpwDaOWPGXtgWvIK ScIw9xqW7tonk5EjKnsgPajV8OvG+vAqC2liHy00IxZ+YB+vzE66uUEpYXUpzI2n F+pb+rQDSQo3beyamjeL1wYEjntDyWqfRmQfQSkJAoGAMP1CIk6fVHULu1D4jaJJ CVj8OfAlmmxiHfWLi3+fjBeR5XpCybqetDTSksXc22PiMRW2RkSUXgMPkz810wmR pnaS9DgIAhk1oHs4dVYEtuqVOA9APVsN6MSJ4Lr0rql/S5GsP5JmbI8m7/z2Dn6B FjHXbrfE82lJ5bDE4CxZQJkCgYAvmtJrWDlWkbeI2pdvL0H3QexHZvXMrcDL5qj4 GUyD5+hV/cg3vjYNZKkHUGCC6CAZdQz1CEabx+8iqCKusiqukI5SOmOe4naOujqo S1k4mSy8Bq0P8i1ARsVwWLWFRrb443KcB5zdAdLBz9OpHqYb9Z16JHmiSQhOv/p1 8hIsAQKBgQCvHQu6NKsdNDogXCiwEt52jlqBRs4NEjspupOKzV+HlEfek6ijKMce P9o4U+vpiG5ZmIYPzgTfAlaWxoMi5ynRZhiMA8dFzX53uyJiYJetXm+zb71l9BW8 kmsch0B5z5yAjEA+CWIqDJ05O7QTLMLC69QU4UICswbyJy1MFUfrbg== -----END RSA PRIVATE KEY-----  </key> 

На этом создание файлов конфигурации клиента и сервера будем считать завершенным.

Настройка маршрутизатора предприятия

Т.к. наш персональный компьютер подключен не напрямую к линии с внешним белым IP, а через маршрутизатор предприятия, то для доступа к компьютеру с локальным IP-адресом из внешней сети необходимо пробросить порт, который мы указали в конфигурации сервера (50501).

В зависимости от модели маршрутизатора процедура проброса портов может отличаться.
На скриншоте ниже приведён пример по настройке маршрутизатора предприятия (не нашего KEENETIC 4G).

image

Запуск OpenVPN сервера на персональном компьютере

Наши файлы конфигурации готовы, осталось перейти к нюансам по настройке OpenVPN на системе под управлением Windows, для этого перейдём к настройке параметров адаптера и переименуем TAP-Windows Adapter V9 как MyTap (в соответствии с именем dev-node).

image

А также настроим локальный адрес нашему адаптеру (должен быть назначен на не занятый IP адрес нашей локальной сети контроллера, например 192.168.112.230)

image

Далее запускаем в работу сервер OpenVPN:

1. Запускаем приложение, расположенное по адресу C:\Program Files\OpenVPN\bin\openvpn-gui.exe (или нажимаем на ярлык на рабочем столе)

image

2. Переходим в трей, выбираем созданный файл конфигурации «TAP_Server» и нажимаем «подключиться»

image

3. Убедимся, что наш сервер работает и перейдём к настройке интернет-центра KEENETIC 4G

image

Настройка интернет-центра KEENETIC 4G

По-умолчанию в KEENETIC 4G не входит клиент OpenVPN, поэтому сначала нам следует его установить. Для этого подключаем KEENETIC 4G к интернету различным способом (по кабелю, по Wi-Fi или с помощью 4G модема), далее переходим в «Общие настройки» и нажимаем кнопку «Изменить набор компонентов».

image

Выбираем нужные нам компоненты (в данном случае Клиент OpenVPN уже был установлен, поэтому для примера показывается другой компонент) и нажимаем кнопку «Установить обновление».

image

Далее перейдём к настройке нашей сети, для этого выбираем «Домашняя сеть» и настраиваем IP-адрес нашего маршрутизатора, например 192.168.112.101 (так же должен быть свободным).

image

Далее нам следует настроить наше OpenVPN подключение, для этого выбираем «Другие подключения», нажимаем кнопку «добавить подключение».
Вводим имя подключения (произвольное, например, TAP_Client_PLC), выбираем тип подключения (OpenVPN), в конфигурацию OpenVPN копируем текст из нашего созданного файла для клиента (TAP_Client.ovpn) и нажимаем кнопку сохранить для применения изменений.

image

Далее нам следует включить интерфейс OpenVPN в основной мост, но прежде чем сделать данную процедуру нам придётся установить клиент telnet. Для этого перейдём в панель управления, далее «Включение или отключение компонентов Windows», выберем Telnet Client и нажмём «ОК».

image

После того, как telnet клиент будет установлен — подключаемся к нашему KEENETIC 4G: на клавиатуре жмём сочетание клавиш WIN+R, вводим cmd

image

Вводим команду telnet [IP_нашего_KEENETIC] (например, telnet 192.168.112.101)

image

Пройдём процесс авторизации (введём логин и пароль (если он был настроен)) и введём следующие команды:

interface Bridge0 include OpenVPN0 system configuration save 

Проверим правильность нашей конфигурации:

show running-config 

В итоге мы должны увидеть нечто подобное:

image

Отмечу, что интерфейс OpenVPN0 создаётся только после создания OpenVPN подключения.

Включаем в работу наш OpenVPN клиент.

image

Видим, что KEENETIC 4G осуществил подключение к нашему серверу и переходим к настройке нашего контроллера S7-1500.

image

Настройка программируемого логического контроллера S7-1500

В настройках нашего контроллера достаточно установить локальный адрес нашего маршрутизатора:

  1. Устанавливаем галочку «Use router»
  2. Вбиваем адрес домашней сети нашего KEENETIC 4G (192.168.112.101)

image

После прогрузки конфигурации, контроллер станет доступен для доступа по удалённому подключению.

image

На этом настройка нашего удалённого подключения завершена.

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


ссылка на оригинал статьи https://habr.com/ru/post/481028/


Комментарии

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

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