Всех приветствую на нашем ламповом портале WiFiGid. Сегодня я расскажу вам, как настроить OpenVPN на роутерах Keenetic. Я рассмотрю два варианта. Первый – когда вы хотите организовать свою собственную сеть VPN между двумя Keenetic. Второй – когда вы хотите подключиться к выделенной VPN.
Сразу предупрежу, что делается все очень неудобно. Вся претензия к разработчикам ОС Keenetic. На том же самом ASUS все делается куда проще, но тут все не так. Также напомню, что у Keenetic есть и другие способы использования VPN: PPTP, L2TP и WireGuard. Последняя штука была добавлена в новой версии прошивки (3.3). О настройках этих вариантов можно почитать тут.
Они конфигурируются куда проще чем OpenVPN. В общем я вас предупредил. Я постарался описать все максимально подробно, но если что-то пойдет не так или возникнут вопросы – пишите в комментариях.
Содержание
- Хочу организовать сеть OpenVPN между двумя Keenetic
- ШАГ 1: Запуск DDNS и проверка внешнего IP адреса
- ШАГ 2: Настройка сервера
- ШАГ 3: Настройка клиента
- Хочу подключиться к OpenVPN сети
- Задать вопрос автору статьи
ШАГ 1: Запуск DDNS и проверка внешнего IP адреса
ПРИМЕЧАНИЕ! Если у вас белый и статический IP адрес, то пропустите эту главу.
Все службы, которые работают с интернетом, и внешний IP могут работать, только если у пользователя белый IP адрес. Поэтому в первую очередь вам нужно проверить, какой именно IP у вас – белый или серый. О том, что же такое белый и серый IP, а также как это проверить читаем тут.
Кто-то сейчас может возразить – ведь мы будем использовать KeenDNS, который может связываться с роутером по облаку в обход серого IP. Да это так, но на официальном сайте сказано, что OpenVPN может работать с KeenDNS только в режиме «Прямого доступа» (когда IP белый), а не через «Облако» (когда IP серый). Дело в том, что с KeenDNS к роутеру можно иметь доступ только через HTTP и HTTPS. Даже TELNET не работает по KeenDNS, не говоря уже о VPN.
В общем вы проверили и узнали, что ваш IP белый. Если он серый, то просто ищем другого провайдера. Если он у вас динамический, то вам нужно также подключить DDNS. Мы будем использовать встроенный сервис KeenDNS, который заменяет IP адрес роутера на доменное имя.
- Перейдите в раздел «Доменное имя».
- На первой вкладке введите любое наименование латинскими буквами.
- Система автоматом подберет вам поддомен, выберите любой.
- Помните, я говорил про два режима работы? В общем, если у вас белый IP, то выбираем «Прямой доступ». Режим «Через облако» работать с VPN не будет.
- Чтобы проверить, что служба работает – запустите браузер и в адресной строке введите DDNS, который вы придумали.
ШАГ 2: Настройка сервера
Прежде чем мы начнем, давайте я покажу пример, на основе которого мы будем работать. В общем ничего сложного, у нас есть два роутера Keenetic, которые мы хотим подключить друг к другу по VPN тоннелю. Задача в том, чтобы устройства этих сетей видели друг друга и были в одной (виртуальной) локальной сети. Туннель у нас будет иметь два конца: 10.1.0.1 и 10.1.0.2 (это не внешние IP адрес, а именно адреса туннеля).
- В первую очередь нужно установить нужный нам компонент. Идем в «Общие настройки» – «Обновления и компоненты» кликаем по кнопке «Изменить набор компонентов» и в списке находим «Клиент OpenVPN». Пусть вас не вводит в заблуждение название, этот компонент работает как сервер и как клиент.
- Нам нужно скачать программу OpenVPN с официального сайта.
- Инсталлируем программу к себе на комп.
- Перезагружаем компьютер.
- Запускаем командную строку с правами админа.
- Прописываем две команды:
cd C:\Program Files\OpenVPN\bin (команда перехода в папку, с установленной программой)
openvpn.exe –genkey –secret static.key (команда генерирует секретный ключ)
ПРИМЕЧАНИЕ! Если у вас 64-битная система, и вы скачали OpenVPN для 32-х битной ОС, то программа будет лежать по пути: C:\Program Files (x86)\OpenVPN\bin
- Теперь смотрите, идем в папку «bin» в установочной папке. Ищем там файлик «static.key» и открываем его через блокнот. Копируйте все содержимое – это и есть ключ.
- Скачайте файл static-server, откройте его блокнотом. И между тэгами «secret» содержимое замените на свой ключ. Сохраните файл.
- Теперь идем обратно в настройки роутера. Идем по пути «Другие подключения» – «VPN-подключения». Кликаем по кнопке добавления. В первую очередь вводим имя – можно указать любое. Далее указываем «Тип (протокол)» – «OpenVPN». Теперь копируем содержимое файлика «static-server» в поле «Конфигурация OpenVPN». Обязательно проверьте, чтобы в поле «Подключаться через» стоял параметр «Любое интернет-подключение» – иначе подключение может не произойти. Сохраняем параметр.
ШАГ 3: Настройка клиента
- Опять же нам нужно установить компонент «Клиент OpenVPN» – повторяем 1 шаг из прошлого шага.
- Скачиваем другой файлик static-client и открываем его в блокноте, вставляем ключ.
- Находим строку, которая начинается со слова «remote», и после нее заменяем значение на свой DDNS или IP.
- Добавляем OpenVPN подключение уже на клиенте. Все делается аналогично. Настройки файлика вставляем в «Конфигурацию OpenVPN».
- А теперь нам нужно установить Telnet к себе в систему. Если у вас Windows Vista, 7, 8 или 10, то делаем следующие шаги. Я предупреждал, что настройка тут геморная.
- Открываем «Панель управления».
- Кликаем по разделу «Программы и компоненты».
- Слева выбираем ссылку «Включение или отключение компонентов Windows».
- Устанавливаем галочки напротив клиентов Telnet и TFTP.
- Открываем консоль со стороны нашего роутера-сервера и прописываем команду, чтобы через телнет попасть внутрь настроек.
telnet 192.168.1.1
- Далее вводим сначала логин (admin), а потом пароль от конфигуратора.
- Прописываем поочередно команды:
interface OpenVPN0 no ip global
interface OpenVPN0 security-level private
no isolate-private
ip nat 10.1.0.2 255.255.255.255 (Для того, чтобы устройства этой сети имели доступ к интернету)
system configuration save
- Также нужно открыть UDP порт под номером 1194 (на серверном роутере). Переходим в «Межсетевой экран» и создаем правило, при создании вам нужно выбрать выше в строке «Интерфейс» подключение, которое вы используете для интернета (смотрите по названию).
- Установите настройки как на картинке ниже.
Хочу подключиться к OpenVPN сети
- «Общие настройки» – «Обновления и компоненты» – «Изменить набор компонентов» – добавляем компонент, указанный на картинке ниже.
- Нам нужен OpenVPN файл, который нужен для подключения к VPN-сети. Если он уже у вас есть, или вам его выдал провайдер или системный администратор – хорошо. Вы также можете попробовать бесплатные сервера от проекта «VPNGate». Я буду показывать на их примере. Переходим на сайт. Пролистываем вниз до таблицы и оставляем галочку только с параметром «OpenVPN», далее нажимаем по кнопке «Refresh Servers List». Останутся сервера, которые используют эти подключения. Далее из нужного нам столбца скачиваем конфиг-файл.
- Ниже вы увидите два файла, в скобках указан протокол и порт, через который мы будем подключаться.
- Скачайте файлик, откройте его в блокноте, выделите все и скопируйте в буфер с помощью клавиш (Ctrl + C).
- В Web-интерфейсе роутера идем в «Другие подключения» – «VPN-подключения» добавляем новый коннект.
- Указываем любое имя подключения и ниже указываем тип. В конфигурацию нужно будет скопировать содержимое файла.
- Если помимо файла также выдается логин и пароль, то его нужно будет добавить в файл. Для этого находим строку «auth-user-pass».
- И заменяем её на:
<auth-user-pass>
login
password
</auth-user-pass>
- Между тегами вставляем сначала логин, а потом пароль.
- Если же вам дали сертификаты, который обычно идет в отдельных файликах, то нужно найти строки:
ca ca.crt
cert xxxxxxxxxx.crt
key xxxxxxxxxx.crt
- И закомментировать, для этого в начале ставим значок решетки (#), так чтобы получилось:
#ca ca.crt
#cert xxxxxxxxxx.crt
#key xxxxxxxxxx.crt
- Далее в самом конце файлика вставляем строки с сертификатами. В нужных полях вставляем содержимые файла.
<ca>
—–BEGIN CERTIFICATE—–
Копируем содержимое из ca.crt
—–END CERTIFICATE—–
</ca>
<cert>
—–BEGIN CERTIFICATE—–
Копируем содержимое из xxxx.crt
—–END CERTIFICATE—–
</cert>
<key>
—–BEGIN RSA PRIVATE KEY—–
Копируем содержимое из xxxx.key
—–END RSA PRIVATE KEY—–
</key>
- Включаем бегунок.
- Сохраняем настройки.
На этом все, дорогие друзья. Обращаю ваше внимание, что вы всегда можете обратиться ко мне, или кому-то из нашей команды в комментариях. Всем добра!
Устанавливаем и настраиваем личный сервер с ВПН на роутере Кинетик. Подключаемся к собственному роутеру с сервером в любой точке мира.
Настраиваем свой VPN-сервер на Keenetic
Сервер позволяет подключить к другой сети, роутеру (все лучшие VPN для роутеров любой фирмы), или маршрутизатору Keenetic. Это обеспечивает возможность удаленного доступа через смартфон, планшет или с любого другого устройства, даже если пользователь находится не дома.
Вход в настройки и включение DDNS
Подключить к локальной сети Keenetic можно двумя способами:
- Кабелем через локальный порт;
- По Wi-Fi.
Для использования интерфейса в браузере нужно ввести IP-адрес роутера (192.168.1.1) или адрес сайта — my.keenetic.net. Остается авторизоваться в системе, используя логин и пароль (если не были изменены, то их можно найти на коробке с устройством).
Смысл сервера – в доступе к нему извне. Подключение производится через внешний адрес маршрутизатора. Однако есть нюансы. Провайдеры выдают два адреса:
- Белый динамический;
- Серый статический.
Обязательно, чтобы провайдер выдал внешний фиксированный (белый) адрес. Если нет – на новых прошивках KeenDNS есть возможность подключиться к статистическому IP. Создается облачный DDNS, работающую напрямую или через облако. При взаимодействии с последними сборками прошивки:
- Перейдите в параметр «Доменное имя» и вводим любое название, нажимаем «Зарегистрировать».
- Если имя не занято – роутер уведомит об этом и выдаст 3 поддомена (можно выбрать любой).
- Для серого IP перейдите в «Общие настройки» и активируйте «Keenetic Cloud».
- На экране появится диалоговое окно – дождитесь, пока оборудование загрузит SSL-сертификаты. Затем выберите «Режим работы»: через облако – для серого IP, прямой доступ – для белого адреса.
Если на роутере старая прошивка, то с серым IP ничего не сделать. Можно только подключиться к другому провайдеру или купить новую модель Keenetic. Для пользователей с белым IP – нужно аналогично настроить DDNS:
- Зайдите в параметр «Интернет», затем в «DDNS».
- Изучите список серверов. В стандартном варианте доступны: Dyn, No-Ip и DNS-Master.
- Зайдите на сайт этих серверов, зарегистрируйте и сформируете DDNS.
- Зайдите обратно в настройки и введите параметры DDNS.
Настройка WireGuard-сервера
Из-за особенностей протокола обозначения «клиент» и «сервер» становятся условными. Возможность организовать WireGuard-туннель появилась в версии ПО KeeneticOS 3.3 — функция работает только на новых устройствах. Подключение работает в формате «Site-To-Site VPN». Если у одного из интернет-центров есть белый IP — лучше настроить его как сервер. WireGuard можно использовать только для связи двух сетей (обычно роутеров) в одну локальную.
Другой важный нюанс – настройка производится на обоих устройствах сразу. К примеру, параметры сервера обозначены с компьютера, а клиента – со смартфона (лучшие VPN для телефона смотрите отдельно). При этом можно организовать туннель между роутерами в разных точках мира. Например, если подключается связь к серверу VPN-сервиса.Для настройки зайдите в компоненты и добавьте WireGuard. Затем:
- В названии укажите имя английскими буквами. Для примера: на одном устройстве (сервере) – Sev, на другом (клиенте) – CL. Оба должны быть открыты.
- Кликните на «Генерацию пары ключей».
- В строке с адресом впишите IP-туннель с bitmask (допускается указание любого спектра из частного диапазона). Если проще, частные адреса – это те, что действуют внутри локальной сети и не доступны в интернете. Для примера возьмем 172.16.82.1/24, номер порта – 16632 (через него и будет оформляться подключение устройств, роутер сам его откроет). Нажмите на «Добавить».
- В роутере CL добавьте подключение с названием Sev и кликните на «Генерация пары ключей», затем сразу на «Сохранить публичный ключ в буфер обмена».
- Вернитесь в параметре сервера, где появится страница с настройкой пиров. Введите туда данные (при этом нельзя закрывать настройки клиента): имя пира (как в клиенте), публичный ключ – из буфера обмена; разрешенные подсети (спектр локальных адресов клиента – в данном случае 172.16.82.2), настройка маски — /32. При этом нужно не забыть указать о спектре локальных клиентских сетей (192.168.100.0/24). В периодичности проверке аёктивности подключения выберите 15 секунд.
Теперь остается настроить межсетевой экран. Откройте параметр подключение и сформулируйте правило для доступа извне. Далее:
- Разрешайте все настройки.
- Пропишите статический адрес для туннеля в разделе с маршрутизацией: тип маршрута – до сети, адрес – пул маршрутизатора CL, маска подсети — 255.255.255.0, в интерфейсе выберите подключение Sev.
- Вернитесь в созданное подключение и сохраните ключ – он понадобится для клиента.
- Перейдите в настройки CL и в параметре адреса укажите туннель 172.16.82.2 и маску /24.
- Добавьте пир с именем как на сервере, вставьте ключ из буфера обмена, укажите внешний адрес или тот, что создан с DDNS, затем после знака «:» введите порт сервера. В разрешенных подсетях вбейте туннель 172.16.82.1/32 и укажите спектр локальных устройств. Проверка активности – аналогично на 15 секунд.
- В межсетевом экране добавьте те же настройки, что и на сервере.
- Создайте статистический маршрут как на сервере, но в адреса введите изначальный пул Sev, а в интерфейсе CL.
Если конфигурация проделана правильно, то в разделе «WireGuard» на роутерах в графе «Пир» будет зеленый кружек и указано название второго устройства.
Читайте также:
Настройка OpenVPN-сервера
Вначале нужно установить компоненты OpenVPN (приведено в инструкции по настройки сервера PPTP/SSTP). Режим работы протокола определяется его файлом конфигурации. Рассмотрим самый простой вариант соединения двух роутеров с использованием общего секретного ключа.
- Создайте секретный ключ (нужно скачать и установить OpenVPN с сайта). В примере используется сборка 2.4.6-I602 для Win.
- Перезагрузите ПК. В директории, в которую установлен OpenVPN, найдите файл командной строки bin – откройте его от имени администратора и введите команду: Openvpn.exe —genkey —secret static.key.
- Откройте файл с ключом в Блокноте и скопируйте из него текст, вставив его в места настройки файлов конфигурации обоих устройств.
- Перейдите к параметрам первого роутера. Нажмите «Другие подключения» и добавьте соединение с протоколом «OpenVPN».
- В графе с именем введите название подключения, а в строке конфигурации вставьте содержимое файла конфигурации и сохраните настройки.
- Аналогично проделайте настройку второго роутера, но используйте конфигурацию клиента.
Также на стороне устройства-сервера в веб-интерфейсе нужно выполнить команду:
- Interface OpenVPN0 no ip global
- Interface OpenVPN0 security-level private
Для разрешения трафика между двумя роутерами с приватной безопасностью используется команда no isolate-private. Если сервер будет использован для доступа к Интернету, то понадобится использовать Ip nat 10.1.0.2 255.255.255.255. Проделанные настройки сохраняются командой system configuration save.
Остается открыть порт для соединения по протоколу: сформулируйте правило в Межсетевом экране для параметра «Провайдер» или для того, которое используется для выхода в интернет.
В правиле фильтрации, в графе «Действие» нужно выдать разрешение, а в строке «Протокол», значении «UDP» и «Номер порта назначение» выбрать 1194. На этом простейший вариант настройки соединения по OpenVPN. Для проверки сети можно провести диагностику через системный журнал.
Настройка PPTP/SSTP-сервера
Для работы сервера потребуются дополнение «PPTP VPN-сервер». Зайдите на страницу «Общие настройки» в графе «Обновление и компоненты», затем кликните на «Изменить набор компонентов». В окне «Приложения» найдите строку «VPN-сервер PPTP» и кликните по ссылке. Настройте сервер:
- Графа «Множественный вход» позволяет организовать несколько одновременных подключения при использовании одинаковых данных. Это влияет на безопасность и усложняет мониторинг, но упрощает использование.
- Пункт «Только с шифрованием» — оставьте галочку, иначе трафик не будет защищен;
- «NAT для клиентов» — настройка доступа сервера в Интернет.
- «Доступ к сети» — выбрать «Домашнюю сеть», если к ней подразумевается подключение.
- «Начальный IP-адрес» — стандартный пул адресов для клиентов (не должны пересекаться с сервером, потому лучше изменить параметр);
- Спектр адресов — до 10;
- «Пользователи» — допускается создание разных учетных записей.
Подключить к серверу в качестве клиента можно через другой роутер, смартфон на базе Android (список лучших VPN для Андроид) или компьютер на базе Windows (смотрите все лучшие VPN для ПК с Windows).
Для настройки SSTP-сервера используется аналогичное дополнение — «SSTP VPN-сервер». В этом случае кроме активной службы KeenDNS, нужно выбрать имя в домене keenetic: .link, .pro или .name и выдать доступ извне при помощи протокола HTTPS:
- Зайти в «Пользователи и доступ».
- Открыть «Удаленный доступ» и разрешить настройку по протоколам «HTTP и HTTP» или «Только HTTPS».
В остальном настройка SSTP-сервера производится по аналогии с PPTP-сервером. Для подключения роутера к VPN-сервису:
- Перейдите на страницу «Другие подключения».
- Откройте раздел «VPN-подключения» и выберите «Добавить подключение».
- В «Параметры VPN» найдите графу «Тип» и выберите значение «PPTP».
- В «Имя подключения» впишите название соединения, а в качестве имени укажите доменное имя или IP-адрес сервера.
- В разделе «Имя пользователя» и «Пароль» введите информацию об открытом профиле.
Необходимую информацию для доступа к серверу в качестве клиентов можно запросить у поставщика VPN услуг, если используется премиум-сервис. Подробнее о подключении роутера к VPN можно прочитать в нашей статье.
Настройка L2TP/IPsec-сервера и клиентский сервис
Установите компонент «VPN-сервер L2TP/IPsec» по инструкции выше. При регистрации сервера в параметре «Общий ключ IPsec» введите ключ безопасности. Настройте параметры соединения по аналогии с PPTP/SSTP-сервером. Подключение клиентов также производится по стандартному алгоритму: единственное, в «Параметры VPN» в поле «Тип» нужно выбрать «L2TP/IPsec».
Проверка работоспособности VPN на Keenetic
Для проверки VPN зайдите в настройки маршрутизатора, откройте параметр «Пользователя» — там есть вся информация о подключениях, клиентах и обмене трафика. В случае с OpenVPN выполните пинг обоих концов туннеля. Для сервера используйте команду:
- ping 10.1.0.1
- ping 10.1.0.2
Для клиента:
- ping 192.168.1.1
- ping 192.168.2.1
Если вы подключили Keenetic в качестве клиента к серверу VPN, то проверить работоспособность соединения вы можете на сайте ExpressVPN или NordVPN — система автоматически укажет, если защита трафика отсутствует. Также встроенные технологии укажут на утечку DNS.
Пошаговая инструкция по подключению к VPN BlancVPN на роутерах Keenetic
Обновлено больше недели назад
Вам потребуется файл конфигурации .ovpn, логин и пароль. Вы получите их в боте BlancVPN после выбора локации или в личном кабинете BlancVPN.
Настройка состоит из трех этапов – установка клиента OpenVPN, получение и редактирование файла конфигурации и загрузка его в настройки роутера Keenetic.
Для настройки OpenVPN обязательно нужно установить компонент системы «Клиент и сервер OpenVPN«.
-
Откройте веб-интерфейс вашего роутера. По умолчанию для этого в браузере нужно перейти по адресу
192.168.1.1
илиmy.keenetic.net
. Введите логин и пароль от веб-интерфейса роутера (они могут быть написаны на наклейке на нижней части устройства). -
Перейдите в раздел «Общие настройки», нажмите кнопку «Изменить набор компонентов».
-
Найдите компонент «Клиент и сервер OpenVPN» и установите его. В процессе установки интернет-соединение может временно пропасть.
Настройка файла конфигурации
-
Скачайте из личного кабинета или бота BlancVPN файл конфигурации .ovpn для любой нужной вам локации.
-
Откройте файл конфигурации любым текстовым редактором. Например, Блокнотом, Text или Notepad++ (кликните на файле правой кнопкой мыши и выберите «Открыть с помощью»).
-
Найдите в тексте строку
auth-user-pass
и удалите её. -
Вместо неё впишите блок с логином и паролем, который предоставляется вам вместе файлом конфигурации:
<auth-user-pass>
blancvpn
4815162342
</auth-user-pass>
Первая строчка – в нашем примере это blancvpn – это логин. Вторая строчка – в нашем примере это 4815162342 – это пароль.
Файл сохранять не обязательно. Но пока не закрывайте.
Настройка VPN на роутере Keenetic
-
Откройте веб-интерфейс вашего роутера. По умолчанию для этого в браузере нужно перейти по адресу
192.168.1.1
илиmy.keenetic.net
. Введите логин и пароль от веб-интерфейса роутера (они могут быть написаны на наклейке на нижней части устройства). -
Перейдите в раздел «Другие подключения», в подразделе «VPN-подключения» нажмите кнопку «Добавить подключение».
-
В открывшемся окне «Параметры VPN-подключения» в поле «Тип (протокол)» выберите «OpenVPN».
-
Откройте изменённый файл конфигурации подключения, в который вы вписали ваш логин и пароль, выберите весь текст (например, нажав
Ctrl+A
) и копируйте его (например, нажавCtrl+C
). -
Вернитесь в настройки «Параметры VPN-подключения», перейдите в поле ввода «Конфигурация OpenVPN» и вставьте туда скопированный текст (например, нажав
Ctrl+V
). -
По желанию вы можете изменить имя подключения, чтобы было понятнее. Например, указав регион.
-
По желанию вы также можете настроить расписание работы или определение интерфейса. Для этого нажмите «Показать дополнительные настройки».
-
Если больше ничего менять не нужно, сохраните подключение, нажав соответствующую кнопку.
-
Установите этому соединению самый высокий приоритет – тогда весь трафик будет защищён VPN-соединением. Перейдите в раздел «Приоритеты подключений», переместите VPN-подключение так, чтобы оно было над подключением провайдера, и сохраните изменения.
-
В этом же разделе нажмите кнопку «+ Добавить политику».
Дайте ей любое название и нажмите ОК
Включите в эту политику подключений только ваше VPN подключение и сохраните.
-
Затем в этом же разделе перейдите к подразделу «Применение политик». Перенесите в вашу недавно созданную политику доступа ваши устройства (Домашняя сеть).
В вашей политике доступа должна содержаться как минимум «Домашняя сеть», если вы не настраивали этот пункт отдельно.
-
Теперь вы можете включать и выключать VPN-подключение на роутере, просто переводя переключатель в разделе «Другие подключения» → «VPN-подключения» в соответствующее положение.
После подключения проверьте, изменился ли ваш IP-адрес. Для этого откройте наш сайт blancvpn.com и посмотрите на панель наверху страницы: там будет указан ваш новый IP-адрес и локация.
Если возникли сложности или что-то пошло не так – напишите нам в Telegram-бот https://t.me/FCK_RKN_bot, поможем!
-
Совет: можно настроить раздельное туннелирование трафика через политику приоритетов подключений, если требуется направлять через VPN только трафик определённых устройств. Например, игровые приставки и смартфоны – через VPN, а остальные (компьютер или NAS, качающий торренты) — через основной провайдерский Интернет. Кроме того, это открывает возможности балансировки нагрузки при использовании 3G/4G-модемов с лимитированным трафиком. Инструкция по настройке раздельного туннелирования указана в разделе «Приоритеты подключений» на сайте Keenetic.
-
Совет: если весь ваш трафик перенаправляется через VPN на роутере, не нужно включать VPN на отдельных устройствах, которые подключены к роутеру.
-
Совет: если после настройки VPN на роутере у вас не загружаются некоторые заблокированные сайта, поменяйте DNS подключений на 8.8.8.8. Для этого перейдите в раздел Другие подключения, Показать дополнительные настройки и нажмите на нужное VPN подключение, отредактируйте поле «DNS 1» и сохраните.
Типовые ошибки и пути решения:
-
Сильно снижается скорость при использовании VPN на роутере
Протокол OpenVPN очень требователен к ресурсам. MIPS-процессор роутера при активном подключении к VPN «нагружается» постоянным шифрованием и дешифрованием трафика. Кроме того, в силу своей специфики OpenVPN – значительно более «тяжёлый» протокол, чем WireGuard, поэтому даже на флагманских моделях роутеров (включая Keenetic Giga и Ultra) он может ощутимо снижать скорость интернета.Если замедление критично, рекомендуем подключить протокол WireGuard – его также можно настроить на роутерах Keenetic (инструкция).
-
Ошибка auth-user-pass without inline credentials data is not supported
Эта ошибка возникает, если в файле конфигурации осталась строка для ввода логина или пароля. В журнале Keenetic она отображается следующим образом:OpenVPN0 auth-user-pass without inline credentials data is not supported
OpenVPN0 Exiting due to fatal errorДля решения удалите или закомментируйте все строки вида:
auth-user-pass
Другие статьи по теме
Как настроить OpenVPN на Android
Как настроить OpenVPN на Windows
Как настроить OpenVPN на роутере ASUS
Как настроить OpenVPN на iOS (iPhone, iPad)
Как настроить WireGuard на роутере Keenetic
Нашли ответ на свой вопрос?
Время на прочтение
14 мин
Количество просмотров 29K
В этой статье я хочу рассказать о полученном опыте организации удалённого доступа к промышленному программируемому логическому контроллеру (далее — ПЛК) посредством бюджетного решения на базе интернет-центра KEENETIC 4G.
Данная статья будет особенно интересна специалистам в области АСУТП, которые задались вопросом организации удалённого доступа, но не знали с чего начать.
Итак, начнём!
В данном примере рассмотрим наиболее часто встречающийся вариант, а именно:
- Локальный компьютер, который будет являться OpenVPN сервером с установленным пакетом TIA Portal для программирования ПЛК. (локальная сеть 192.168.1.0)
- Маршрутизатор предприятия с внешним белым IP — адресом (например, 217.196.58.128).
- Интернет-центр KEENETIC 4G с установленным клиентом OpenVPN подключенный к мобильной связи.
- Программируемый логический контроллер SIMATIC S7-1500 (локальная сеть 192.168.112.0).
Наличие внешнего белого IP — адреса на одной из сторон является необходимым условием работы OpenVPN сервера (сервер OpenVPN должен быть расположен на стороне белого IP — адреса).
Для организации VPN соединения между Интернет-центром KEENETIC и рабочем местом нам необходимо установить следующее ПО:
- OpenVPN — программа для создания безопасных виртуальных частных сетей, удаленного подключения к серверу
- XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
- Notepad++ — текстовый редактор (необязательно)
Установка пакета OpenVPN на Windows.
Устанавливаем компонент EasyRSA (для создания сертификатов встроенными средствами (необязательно).
В случае вывода сообщения об установке драйвера, нажимаем «установить».
В случае, если требуется установить несколько виртуальных адаптеров или если виртуальный адаптер был некорректно установлен, то переходим по нижеприведённому адресу и запускаем «addtab.bat» скрипт:
C:\Program Files\TAP-Windows\bin
Создание X.509 сертификатов
1. Устанавливаем XCA
XCA — программа для лёгкого создания сертификатов с графическим интерфейсом
2. Создаём БД
«Файл» -> «Новая база данных», далее программа запросит ввод пароля, вводим пароль или оставляем поля пустыми и нажимаем «ОК».
3. Создаём сертификат удостоверяющего центра (CA)
Для этого переключаемся на вкладку «Сертификаты» и нажимаем на кнопку «Новый сертификат»
Далее переключаемся на вкладку «Субъект» и заполняем необходимые поля (то, что выделено красным должно иметь уникальное имя).
Нажимаем «Сгенерировать новый ключ» и подтверждаем действие нажатием кнопки «создать».
Переключаемся на вкладку «Расширения», выбираем тип сертификата «Центр Сертификации» и настраиваем срок действия сертификата (сертификат CA должен иметь более длительный срок действия, чем сертификаты компьютера, которые будут созданы позже.)
Нажимаем «ОК» и теперь мы можем приступить к настройке сертификатов компьютера.
4. Создание шаблонов сертификатов компьютера
Для упрощения создания машинных сертификатов будем использовать заранее приготовленный шаблон. Переключаемся на вкладку «Шаблоны» и нажимаем на кнопку «Новый шаблон».
Выбираем «Пустой шаблон» и переходим к редактированию нашего шаблона, имена в угловых скобках в будущем должны быть уникальными.
Переходим на вкладку «Расширения», задаём тип «Конечный субъект» и настраиваем период действия сертификата компьютера (должен быть не больше чем у сертификата удостоверяющего центра).
Нажимаем «Ок» для создания шаблона.
Данный шаблон теперь может быть использован как базовый в качестве создания машинных сертификатов, подписанных нашим удостоверяющим центром.
5. Создания сертификатов компьютера с использованием шаблона
Переключаемся на вкладку «сертификаты» и нажимаем на кнопку «Новый сертификат», выбираем опцию «Использовать этот сертификат для подписи», в качестве шаблона выбираем наш шаблон <My_Machine> и нажимаем на кнопку «Применить всё».
Далее переходим на вкладку «Субъект» вводим уникальное имя, например, «My_Server», генерируем ключ.
Таким образом мы создали сертификат сервера. Проделываем туже самую процедуру для сертификата клиента (My_Client).
6. Экспорт машинных сертификатов и ключей
Для создания конфигурационного файла OpenVPN клиента (KEENETIC) и сервера (ПК Windows) нам потребуется экспортировать сертификат удостоверяющего центра, сертификат сервера, сертификат клиента, закрытый ключ сервера, закрытый ключ клиента.
Для этого переходим на вкладку «Сертификаты» выбираем сертификат удостоверяющего центра My_CA нажимаем на кнопку «Экспорт» и выгружаем в заранее созданную папку, например My_Keys, расположенную на рабочем столе.
Проделываем тоже самое для сертификата клиента (My_Client) и сертификата сервера (My_Server).
Переключаемся на вкладку «Закрытые ключи» выбираем ключ My_Client, нажимаем экспорт и выгружаем в нашу папку.
Проделываем туже самую процедуру для ключа сервера.
7. Создания параметра Диффи-Хэллмана
Для конфигурации параметров сервера нам также потребуется параметр Диффи-Хэллмана
Для создания параметра нажимаем на вкладку «Дополнительно» и выбираем пункт «Сгенерировать параметры Дифии-Хэллмана».
Далее выбираем длину параметра, например, 2048. Далее выгружаем наш параметр в папку с ключами.
В итоге в нашей папке должны находиться следующее файлы:
- Сертификат удостоверяющего центра My_CA.crt
- Сертификат клиента My_Client.crt
- Сертификат сервера My_Server.crt
- Закрытый ключ клиента My_Client.pem
- Закрытый ключ сервера My_Server.pem
- Параметр Дифии-Хэллмана dh2048.pem
Создание файлов конфигурации клиента и сервера
Т.к. протоколом промышленной связи S7-1500 является Profinet, то для установления соединения с ПЛК нам потребуется организовать L2 соединение, которым в данном случае является TAP-интерфейс.
Настройка конфигурации OpenVPN сервера
Для создания файла конфигурации сервера перейдите в папку с конфигурационными файлами OpenVPN [ C:\Program Files\OpenVPN\config ] и создайте файл TAP_Server с расширением .ovpn
Откройте файл 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 в <ca> </ca>
My_Server.crt в <cert> </cert>
My_Server.pem в <key> </key>
dh2048.pem в <dh> </dh>
в результате получим следующее:
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 в <ca> </ca>
My_Client.crt в <cert> </cert>
My_Client.pem в <key> </key>
в результате получим следующее:
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).
Запуск OpenVPN сервера на персональном компьютере
Наши файлы конфигурации готовы, осталось перейти к нюансам по настройке OpenVPN на системе под управлением Windows, для этого перейдём к настройке параметров адаптера и переименуем TAP-Windows Adapter V9 как MyTap (в соответствии с именем dev-node).
А также настроим локальный адрес нашему адаптеру (должен быть назначен на
не занятый IP адрес
нашей локальной сети контроллера, например 192.168.112.230)
Далее запускаем в работу сервер OpenVPN:
1. Запускаем приложение, расположенное по адресу C:\Program Files\OpenVPN\bin\openvpn-gui.exe (или нажимаем на ярлык на рабочем столе)
2. Переходим в трей, выбираем созданный файл конфигурации «TAP_Server» и нажимаем «подключиться»
3. Убедимся, что наш сервер работает и перейдём к настройке интернет-центра KEENETIC 4G
Настройка интернет-центра KEENETIC 4G
По-умолчанию в KEENETIC 4G не входит клиент OpenVPN, поэтому сначала нам следует его установить. Для этого подключаем KEENETIC 4G к интернету различным способом (по кабелю, по Wi-Fi или с помощью 4G модема), далее переходим в «Общие настройки» и нажимаем кнопку «Изменить набор компонентов».
Выбираем нужные нам компоненты (в данном случае Клиент OpenVPN уже был установлен, поэтому для примера показывается другой компонент) и нажимаем кнопку «Установить обновление».
Далее перейдём к настройке нашей сети, для этого выбираем «Домашняя сеть» и настраиваем IP-адрес нашего маршрутизатора, например 192.168.112.101 (так же должен быть свободным).
Далее нам следует настроить наше OpenVPN подключение, для этого выбираем «Другие подключения», нажимаем кнопку «добавить подключение».
Вводим имя подключения (произвольное, например, TAP_Client_PLC), выбираем тип подключения (OpenVPN), в конфигурацию OpenVPN копируем текст из нашего созданного файла для клиента (TAP_Client.ovpn) и нажимаем кнопку сохранить для применения изменений.
Далее нам следует включить интерфейс OpenVPN в основной мост, но прежде чем сделать данную процедуру нам придётся установить клиент telnet. Для этого перейдём в панель управления, далее «Включение или отключение компонентов Windows», выберем Telnet Client и нажмём «ОК».
После того, как telnet клиент будет установлен — подключаемся к нашему KEENETIC 4G: на клавиатуре жмём сочетание клавиш WIN+R, вводим cmd
Вводим команду telnet [IP_нашего_KEENETIC] (например, telnet 192.168.112.101)
Пройдём процесс авторизации (введём логин и пароль (если он был настроен)) и введём следующие команды:
interface Bridge0
include OpenVPN0
system configuration save
Проверим правильность нашей конфигурации:
show
running-config
В итоге мы должны увидеть нечто подобное:
Отмечу, что интерфейс OpenVPN0 создаётся только после создания OpenVPN подключения.
Включаем в работу наш OpenVPN клиент.
Видим, что KEENETIC 4G осуществил подключение к нашему серверу и переходим к настройке нашего контроллера S7-1500.
Настройка программируемого логического контроллера S7-1500
В настройках нашего контроллера достаточно установить локальный адрес нашего маршрутизатора:
- Устанавливаем галочку «Use router»
- Вбиваем адрес домашней сети нашего KEENETIC 4G (192.168.112.101)
После прогрузки конфигурации, контроллер станет доступен для доступа по удалённому подключению.
На этом настройка нашего удалённого подключения завершена.
Благодарю за внимание!
11 июня 2015 г.
Zyxel
OpenVPN
VPN
Linux
Хотите получить из роутера практически полноценный Linux сервер с некоторым набором базовых программ на базе NDMS? В свое время, мой выбор пал на «Zyxel Keenetic Giga», он бюджетный и простой в настройке, да и в целом я в нем не разочаровался.
Однако, два года назад я так и не написал статью о том как получить из него полноценный Linux. Теперь же, мы купили себе вторую версию этого роутера «Zyxel Keenetic Giga II» и я всетаки заставил себя написать о настройке статью, поехали!
О прошивке
Сразу скажу, я усердно пробовал работать с прошивкой V2 (конкретно 2.04), но как бы я не пытался, так и не смог завести dropbear.
Почитав в интернетах о прошивке «V2», я понял что она сырая и не годится для расширения. В итоге я наткнулся на комментарий на 4pda и установил себе на Giga II прошивку «V1.11» (брал от сюда, ставил «Firmware-KEENETIC_GIGA_II-V1.11.RU.NDMS_140108210221.bin»), если файл уже не доступен, то пишите и я расшарю. Некоторые подробности о работе V1 на Giga II можно подчерпунть тут. Прошивку можно поменять в разделе «Система > Конфигурация», подробнее можно ознакомится тут.
Из-за того что мы установили прошивку V1.11 — дальнейшие инструкции также корректны и для первой версии Giga.
Расширяем Keenetic, добавляем sshd и opkg
Берем флешку от 1Гб, форматируем её в ext3 (например в GParted). Можете ознакомится с официальными требованиями к USB носителю.
Далее, идем на страницу документации о системе opkg, действуем по их инструкциям и скачиваем нужный архив тут, у меня это был «ext_init.sh-r2.tar.gz».
Теперь создаем каталоги и копируем содержимое архива:
cd </path/to/you/flash/drive> mkdir -p system/bin cd system/bin wget https://zyxel-keenetic-packages.googlecode.com/files/ext_init.sh-r2.tar.gz tar -xzf ext_init.sh-r2.tar.gz chmod +x ext_init.sh
Проверяем права на файл «ext_init.sh», главное чтобы он был исполняемым (это мы сделали в последней строчке).
Теперь вставляем флешку в первый USB-слот (определится как «DISK_A1»), на главной странице панели администрирования Zyxel, в разделе «USB-накопитель» должна появится наша флешка. Переходим в раздел «Система > Журнал» и ожидаем примерно такую запись:
root Starting opkg/linux install root All errors are logged in a file /media/DISK_A1/tmpinstall/err.log root Extracting busybox root Unpacking busybox root Extracting system root Unpacking system root Generating rsa/dss keys for dropbear root Starting dropbear dropbear[2428] Running in background root Connect to keenetic using ssh and run finish_install.sh to finish installation
Теперь вы можете подключится по SSH.
Завершаем установку
Подключаемся по ssh:
ssh root@192.168.1.1 пароль "zyxel"
Теперь перво-наперво сменим пароль:
# passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Запускаем finish_install.sh для завершения установки:
# finish_install.sh Creating swap file. Please wait... 128+0 records in 128+0 records out Setting up swapspace version 1, size = 134213633 bytes Loading current packages list Downloading http://zyxel-keenetic-packages.googlecode.com/svn/binary-packages-r2/Packages.gz. Inflating http://zyxel-keenetic-packages.googlecode.com/svn/binary-packages-r2/Packages.gz. Updated list of available packages in /media/DISK_A1/system/var/opkg-lists/packages.
Обновление системы и установка нужных приложений
Обновляем установленные пакеты:
# opkg update # opkg upgrade
И доустановливаем нужные:
# opkg list | grep <нужный пакет> # opkg install mc screen nano htop openvpn-openssl
Теперь настроим OpenVPN
Создадим файл /media/DISK_A1/system/etc/firewall.d/fw.sh с правилами для iptables со следующим содержимым:
#!/bin/sh iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -p tcp -j ACCEPT iptables -A INPUT -p udp -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -t nat -F iptables -I FORWARD 1 -i br0 -o tun0 -j ACCEPT iptables -I FORWARD 2 -i tun0 -o br0 -j ACCEPT iptables -I FORWARD 3 -s 192.168.1.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Чтобы вы могли зайти на свой сервер из под VPN, добавьте перед последней строчкой:
iptables -t nat -A POSTROUTING -o eth2.2 -d "АДРЕС_VPN_СЕРВЕРА" -j MASQUERADE
Сделаем этот файл исполняемым:
# chmod +x /media/DISK_A1/system/etc/firewall.d/fw.sh
В каталоге /media/DISK_A1/system/etc/openvpn надо создать конфиг клиента openvpn.conf и положить туда предварительно сгенерированные (или полученные от какого-либо сервиса) ключи. Вот пример возможного конфига:
client remote <IP-адрес OpenVPN-сервера> port 1194 dev tun proto udp resolv-retry infinite nobind pull user nobody group nogroup persist-key persist-tun ca /media/DISK_A1/system/etc/openvpn/ca.crt cert /media/DISK_A1/system/etc/openvpn/example.crt key /media/DISK_A1/system/etc/openvpn/example.key tls-client tls-auth /media/DISK_A1/system/etc/openvpn/ta.key 1 cipher DES-EDE3-CBC comp-lzo mute 10 verb 0 log openvpn.log
Подробности опций и как сгенерировать нужные ключи можно почитать в моей статье о OpenVPN.
Если вы захотите запустить openvpn без init-скрипта, то столнетесь с проблемой с устройством tun:
Wed Jun 10 12:41:09 2015 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Эту проблему я быстро решил при помощи этой статьи, для этого надо создать каталог /dev/net и создать там файл устройства:
# mkdir /dev/net # mknod /dev/net/tun c 10 200
Но после этого произошла новая проблема:
Wed Jun 10 12:41:50 2015 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
Я проверил через lsmod наличие модуля «tun» и не обнаружил его:
# lsmod | grep tun
Значит надо его подгрузить, т.к. modprobe не идет в поставку с нашим Linux, то я воспользовался insmod. Я нашел подходящий модуль и загрузил его:
# find / -name "*tun*.ko" /lib/modules/2.6.22-tc/tun.ko /media/DISK_A1/system/lib/modules/2.6.23-rt/tun.ko # insmod /lib/modules/2.6.22-tc/tun.ko
Теперь все впорядке, lsmod говорит что модуль подгружен.
Запускаем OpenVPN
Для того, чтобы после перезапуска системы у нас запускался демон OpenVPN самостоятельно, надо переименовать его init-скрипт из K11openvpn в S11openvpn:
# cd /media/DISK_A1/system/etc/init.d/ # mv K11openvpn S11openvpn
Добавлять вызов /media/DISK_A1/system/etc/firewall.d/fw.sh никуда не надо, он запустится автоматически.
Я столкнулся с проблемой запуска модуля tun.ko в init-скрипте. Тот что был там указан выдавал следующее:
insmod: cannot insert '/media/DISK_A1/system/lib/modules/2.6.23-rt/tun.ko': invalid module format (-1): Exec format error
в результате я нашел альтернативный и он корретно заработал:
# find / -name "*tun*.ko" /lib/modules/2.6.22-tc/tun.ko /media/DISK_A1/system/lib/modules/2.6.23-rt/tun.ko # insmod /lib/modules/2.6.22-tc/tun.ko
после чего я поменял в файле S11openvpn на альтернативный модуль:
#insmod $MOUNT/lib/modules/2.6.23-rt/tun.ko insmod /lib/modules/2.6.22-tc/tun.ko ... #rmmod $MOUNT/lib/modules/2.6.23-rt/tun.ko rmmod /lib/modules/2.6.22-tc/tun.ko
Впринципе всё, перезапустите роутер и должно все заработать как надо!
Обновление с zyxware на entware
Не особо рекомендую обновляться до entware, т.к. при запуске OpenVPN через init-скрипт я получал Segmentation Fault (правда если просто запускать openvpn openvpn.conf, то проблемы не наблюдалось), разбираться с этим мне не хотелось, т.к. для себя особого смысла обновляться я не видел. Главное отличие entware это большее количество пакетов чем в zyxware, так что если хочется, то попробовать всетаки можно. Ниже расскажу как это сделать:
Для этого вынем нашу флешку из роутера и запишем туда архив, который можно взять отсюда. Снова подключите флешку в первый USB-слот. В сети рекомендуют обновлятся через telnet, но я обновлялся по ssh:
# cd /media/DISK_A1 # wget http://keenetic.zyxmon.org/entware/entware_keenetic.tgz # tar -xzf entware_keenetic.tgz # chmod +x ./entware_keenetic_install.sh # ./entware_keenetic_install.sh
После чего перезапустите роутер из веб-панели Zyxel. На вашей флешке, помимо каталога /system появится еще /opt. Все, теперь вы счастливый обладатель entware!