Когда видеорегистратор подключен к динамическому ip адресу (серый/за NATом), а очень хочется иметь удаленный доступ

Подразделы видеонаблюдения:


Бывают случаи, когда необходимо обеспечить доступ к видеорегистратору, но провайдер не может дать статический публичный ip адрес или же интернет возможно подключить только через беспроводные сети сотовых операторов и по другому нинкак. Есть конечно вариант включить функцию на видеорегистраторе P2P, но это не совсем безопасно, т.к. вы уже даёте доступ к своему видеорегистратору третьему лицу. Поэтому можно воспользоваться одним из видов VPN соединения - PPTP. Я рассмотрю вариант настройки PPTP сервера и PPTP клиента, но также по аналогии возможно настроить протоколы L2TP или OpenVPN с SSL сертификатом. L2TP или OpenVPN безопаснее, т.к. шифрование трафика более стойкое, чем у PPTP. В других статьях я обязательно приведу примеры их настройки, т.к. бывают случае, когда требуется максимально безопасным создавать тунельное соединение.

Определение PPTP протокола из википедии:

PPTP (англ. Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.

И описание безопасности протокола PPTP из википедии:

Безопасность протокола PPTP

PPTP был объектом множества анализов безопасности, в нём были обнаружены различные серьёзные уязвимости. Известные относятся к используемым протоколам аутентификации PPP, устройству протокола MPPE и интеграции между аутентификациями MPPE и PPP для установки сессионного ключа. Краткий обзор данных уязвимостей:

  • MSCHAP-v1 совершенно ненадёжен. Существуют утилиты для лёгкого извлечения хешей паролей из перехваченного обмена MSCHAP-v1.
  • MSCHAP-v2 уязвим к словарной атаке на перехваченные challenge response пакеты. Существуют программы, выполняющие данный процесс.
  • В 2012 году было показано, что сложность подбора ключа MSCHAP-v2 эквивалентна подбору ключа к шифрованию DES, и был представлен онлайн-сервис, который способен восстановить ключ за 23 часа.
  • При использовании MSCHAP-v1, MPPE использует одинаковый RC4 сессионный ключ для шифрования информационного потока в обоих направлениях. Поэтому стандартным методом является выполнение XOR’а потоков из разных направлений вместе, благодаря чему криптоаналитик может узнать ключ.
  • MPPE использует RC4 поток для шифрования. Не существует метода для аутентификации цифробуквенного потока и поэтому данный поток уязвим к атаке, делающей подмену битов. Злоумышленник легко может изменить поток при передаче и заменить некоторые биты, чтобы изменить исходящий поток без опасности своего обнаружения. Данная подмена битов может быть обнаружена с помощью протоколов, считающих контрольные суммы.

Пример настройки с помощью двух роутеров Mikrotik RB951 и модема Yota. Опишу конкретную ситуацию с указанием ip адресов двух локальных сетей и к одному из роутеров подключение проводной провайдер с публичным динамическим ip адресом, тоесь к данному роутеру возможно подключаться, но у него переодически меняется ip адрес.

На первом роутере у нас локальная сеть 192.168.44.0/24

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Первый роутер, к которому подключен проводной провайдер и настраиваем с помощью программы Winbox:

И так у нас уже настроен интернет и он работает. При необходимости напишу отдельную статью по настройки интернета на роутерах Mikrotik, но в любом случае в интернете инструкций масса. Первым делом заходим в настройки PPP. В Winbox слева нажимаем на PPP, в открывшемся окне нажимаем на кнопку PPTP Server и его включаем(ставим галку на Enabled).

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Далее открываем вкладку Profiles и выбираем профиль default-encryption - это профиль безопасности PPTP сервера. При желании можете почитать описания, если желаете тонко его настроить, если же это будете делать, то аналогично нужно будет настроить на стороне PPTP клиента! В данном случае я ничего не менял, оставил всё по умолчанию.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Потом нам нужно создать интерфейс PPTP сервера для pptp клиента, который будет подключаться, чтобы в дальнейшем возможно было сделать маршрутизацию, увы без неё никак. Идём в закладку Interface, нажимаем на плюс и выбираем PPTP Server Binding. В поле Name пишем к примеру имя юзера pptp клиента, например Vasya, в поле User - Vasya и нажимаем ОК.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Далее заходим в вкладку Secret для создание профиля пользователя(pptp клиента), который будет подключаться для создания тунеля. Нажимаем на плюс, в поле Name пишем Vasya, Password - задаем мегасложный пароль!!!!, Service - выбираем pptp, Profile - default - это профиль безопасности, Local Address - задаём 192.168.5.1 - это адрес нашего роутера в pptp тунеле, Remote Address пишем - 192.168.5.2 - это адрес, который получит наш второй роутер(pptp клиент), подключившись по протоколу pptp.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

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

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Т.к. у нас публичный динамический ip адрес, то нам нужен сервис DDNS, Mikrotik начиная с версии прошивки 6.XX(точно уже не помню номер) позаботился об этом и предоставил свой сервис. Поэтому выбираем IP-Cloud и галочками включаем и получаем dns имя нашему устройству.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

И так теперь настроим фаервол. Заходим в ip - firewall и выбираем вкладку NAT. Для того, чтобы можно было попадать снаружи(из инета) во внутреннюю сеть второго роутера надо сделать маскарадинг, подключающихся адресов из инета. Хм... надеюсь понятно написал. Нажимаем плюс, в Chain выбираем srcnat, в Out. Interface находим наш pptp интерфейс Vasya.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Переходим во вкладку Action, и ставим masquerade

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Данное правило должно быть приоритетнее, тоесть выше чем nat(маскарадинг) для выхода в инет

видеорегистратор, динамический ip адрес, удаленный доступ, серый

В моём случае нужно было пробросить порты к видеорегистратору RVi, а у них стандартно порты для подключения TCP 37777 и UDP 37778. Для пробраса портов нажимаем плюс выбираем в Chain - dstnat, protocol - tcp, Dst. port - 37777

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Переходим в закладку Action и в action выбираем netmap(зеркалирование портов ну или по простому проброс) и указываем ip адрес видеорегистратора, который подключен ко второму роутеру тоесть 192.168.89.250 и порт 37777. Нажимаем Ок. И для проброса порта UDP 37778 делаем аналогично, protocol - UPD, Dst. port - 37778.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Теперь в разделе Firewall переходим во вкладку Filter Rules и делаем разрешающие правила для подключение pptp клиента, тоесть нашего второго Mikrotik-a. Делаем три правила, нажимаем плюс и открываем протоколы gre, tcp порт 1723, udp 1701, 500,4500. В Chain выбираем input. Смотрим скриншот.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Должно получится так:

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Для безопасности можно разрешить подключаться к PPTP серверу только определенных ip адресов. Используя любого провайдера в интернете можно найти пул их ip адресов, у yota например очень быстро нашёл возможно даже у них на сайте, но точно уже не помню. И в Mikrotik можно сделать список адресов и разрешить только с них подключаться. Для этого заходим во вкладку Address Lists и создаём список адресов. Нажимаем плюс список к примеру называем по имени провайдера и копируем ip адрес с указанием маски.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

В итоге получится так:

видеорегистратор, динамический ip адрес, удаленный доступ, серый

И последнее, что нам осталось сделать на первом роутере это сделать маршрутизацию в локальную сеть второго роутера. Локальная сеть второго роутера - 192.168.89.0/24. Для этого заходим в IP-Routes, во вкладке Route нажимаеv плюс и в Dst. Address пишем локальную сеть второго роутера - 192.168.89.0/24. Шлюз, через который идти указываем Vasya, Gateway - Vasya и нажимаем ок.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

С первым роутером закончили и теперь приступаем к настройке второго роутера. На нём уже настроен интернет, подключен USB модем Yota и прописана локальная сеть 192.168.89.0/24

видеорегистратор, динамический ip адрес, удаленный доступ, серый

В Winbox-e нажимаем на PPP, чтобы настроить pptp клиент. Нажимаем плюс и выбираем PPTP Client, в Name пишем Vasya и переходим во вкладку Dial Out

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Тут в Dial out указываем, полученное dns имя первым роутером(там где включали в IP-Cloud). Имя пользователя и пароль пишем тот, который создавали на первом роутере, тоесть логин Vasya и мегасложный пароль. Profile - default-encryption, в разделе Allow везде ставим галки. И нажимаем ок.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

Переходим во вкладку Profiles и используем профиль безопасности default-encryption по дефолту. Параметры его такие:

видеорегистратор, динамический ip адрес, удаленный доступ, серый

С PPTP клиентом закончили теперь переходим в раздел Ip-Routes и делаем маршрутизацию во внутреннюю сеть первого роутера.

видеорегистратор, динамический ip адрес, удаленный доступ, серый

На этом настройка заканчивается. Теперь получается, что при подключении к видеорегистратору вы подключаетесь по dns имени к первому роутеру, а он уже маршрутизирует на второй роутер во внутреннюю сеть. Или проще говоря две внутренние сети между собой соединены виртуально, так как будто всё это оборудование находится в одном месте.

Удачной настройки!

видеорегистратор, динамический ip адрес, удаленный доступ, серый
Когда видеорегистратор подключен к динамическому ip адресу (серый/за NATом), а очень хочется иметь удаленный доступ Когда видеорегистратор подключен к динамическому ip адресу (серый/за NATом), а очень хочется иметь удаленный доступ

20 Апреля 2017


Интересно почитать

Комментарии (8)

  1. видеорегистратор, динамический ip адрес, удаленный доступ, серый Даниил 02 октября 2019, 12:15 # 0
    Спасибо за подробную статью.
    Предлагаю только добавить, что метод не работает, если провайдер держит ваш айпи за НАТом
    1. видеорегистратор, динамический ip адрес, удаленный доступ, серый Алексей 02 октября 2019, 12:25 # 0
      Добрый день, метод работает, т.к. в статье описан как раз случай, когда ваш айпи за НАТом.
    2. видеорегистратор, динамический ip адрес, удаленный доступ, серый Vasyl 22 мая 2020, 14:39 # 0
      Офигеть! Вы мегамозг )
      1. видеорегистратор, динамический ip адрес, удаленный доступ, серый Алексей 08 ноября 2023, 23:04 # 0
        Спасибо. Знание сетевых технологий помогает решать такие задачки)
      2. видеорегистратор, динамический ip адрес, удаленный доступ, серый Dimique 27 января 2021, 18:54 # 0
        Делаю все по Вашей инструкции, при добавлении шлюза «Vasya» в NAT пишет not ready и клиент не подключается к серверу. Как исправить это?
        1. видеорегистратор, динамический ip адрес, удаленный доступ, серый Алексей 08 ноября 2023, 22:59 # 0
          Добрый день, жаль что только сейчас увидел ваш вопрос) у вас так потому что впн тунель ещё не поднялся. Как только он поднимется между двумя роутерами, то все будет ок.
        2. видеорегистратор, динамический ip адрес, удаленный доступ, серый Геннадий 29 апреля 2021, 14:18 # 0
          Метод работать не будет!
          Вы не заметили в статье противоречие? Вот заголовок: «Когда видеорегистратор подключен к динамическому ip адресу (серый/за NATом)»
          А вот в середине статьи написано: «Т.к. у нас публичный динамический ip адрес, то нам нужен сервис DDNS, „
          Серый ip (за NATом) и публичный динамический ip адрес это не одно и тоже. Второе это белый ip, но динамический, то есть белый, но не постоянный, а серый который за натом вы никогда не привяжите к ddns.
          Поэтому не вводите людей в заблуждение. И измените заголовок статьи. Если есть публичный динамический адрес, то его достаточно привязать к ddns и заходить по ddns остальные манипуляции не нужны
          1. видеорегистратор, динамический ip адрес, удаленный доступ, серый Алексей 08 ноября 2023, 23:03 # 0
            Добрый вечер, ещё как работает. Если кратко, то смысл такой — между двумя роутерами поднимается тунель. Один роутер как сервер (у него белый айпи), другой роутер с серым айпи как клиент. Видеорегистратор находится за клиентским роутером. И после вышеописанных манипуляций получается со стороны приложения подключение идёт к роутеру с белым айпи и до регистратора вы достукиваетесь через впн тунель.