OZON видео с 1 февраля стал обязательным для ПВЗ, по информации от клиентов — штраф составляет 5тыс в неделю.
Конечно есть облачные IPYEY, но без использования облаков нужен белый IP адрес, который нельзя получить у большинства интернет провайдеров, например в малых населенных пунктах или просто LTE.
Сам сервис OZON видео требует подключение именно по белому IP в формате
rtsp://Логин:Пароль@БелыйIP:Порт/cam/realmonitor?channel=4&subtype=0
Причем в отличии от готовых облачных решений — данный подход варьируется от бесплатного сервера на домашнем MikroTik до хостинга за 5-20руб в сутки.
Wireguard является не дебагоспособным протоколом, в случае проблем его дольше всего диагностировать.
Сервер с белым IP
Покупка VDS
Мы же будем настраивать CHR на VDSina хостинге (по ссылке скидка 10%).

1 камера с потоком 0.5Мбит съедает около 160-165Гб трафика в месяц


Установка CHR


apt install unzip && mount -t tmpfs tmpfs /tmp/ && cd /tmp && wget https://download.mikrotik.com/routeros/7.20.8/chr-7.20.8.img.zip && unzip chr-7.20.8.img.zip && dd if=chr-7.20.8.img of=/dev/vda bs=4M oflag=sync && echo 1 > /proc/sys/kernel/sysrq && echo b > /proc/sysrq-trigger 
Настройка CHR



/ip address/add interface=ether1 address=94.103.83.157/24 
/ip route/add gateway=94.103.83.1 

И меняем пароль, а лучше добавляем нового администратора и удаляем старого

Отключаем всё, кроме WinBox

Отключаем сервис проверки скорости

Отключаем или удаляем

Отключаем обнаружение соседями

Отключаем всё

Указываем DNS чтобы активировать CHR и работал NTP

Активируем учетной записью от https://mikrotik.com/client/

Выставляем Time Zone вручную
/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow 
Указываем NTP сервера
/system ntp client
set enabled=yes
/system ntp client servers
add address=0.ru.pool.ntp.org
add address=1.ru.pool.ntp.org
add address=2.ru.pool.ntp.org
add address=3.ru.pool.ntp.org Interface List

Firewall
Filter Rules
Input

/ip firewall filter
add action=accept chain=forward comment=ERU connection-state=established,related,untracked
add action=accept chain=forward comment="ACL WAN" out-interface-list=WAN src-address-list=Access_WAN
add action=accept chain=forward comment="WAN DSTNATed" connection-nat-state=dstnat connection-state=new in-interface-list=WAN
add action=drop chain=forward comment="Drop all" Forward

/ip firewall filter
add action=accept chain=forward comment=ERU connection-state=established,related,untracked
add action=accept chain=forward comment="ACL WAN" out-interface-list=WAN src-address-list=Access_WAN
add action=accept chain=forward comment="WAN DSTNATed" connection-nat-state=dstnat connection-state=new in-interface-list=WAN
add action=drop chain=forward comment="Drop all" NAT

Пробросы портов рассмотрим позже
/ip firewall nat
add action=src-nat chain=srcnat comment="NAT WAN" ipsec-policy=out,none out-interface-list=WAN src-address-list=Access_WAN to-addresses=x.x.x.x Туннели
Использовать будем L2TP/PPTP/SSTP, выше мы открыли для них порты. Теперь настроим их пул адресов и профили.

Создаем пул для выдачи PPP клиентам
/ip pool
add name=poolTUNNEL ranges=172.31.254.2-172.31.254.254 
Добавляем новый профиль с указанием ранее созданного pool адресов и Interface List
/ppp profile
add change-tcp-mss=yes interface-list=TUNNEL local-address=poolTUNNEL name=profileTUNNEL only-one=yes remote-address=poolTUNNEL use-compression=no use-ipv6=no use-mpls=no use-upnp=no 
Активируем PPTP/L2TP/SSTP Server с указанием созданного профиля (не обаятельно)
/interface l2tp-server server
set accept-proto-version=l2tpv2 authentication=mschap2 default-profile=profileTUNNEL enabled=yes max-mru=1400 max-mtu=1400 use-ipsec=yes
/interface pptp-server server
set default-profile=profileTUNNEL enabled=yes max-mru=1400 max-mtu=1400
/interface sstp-server server
set authentication=mschap2 default-profile=profileTUNNEL enabled=yes max-mru=1400 max-mtu=1400 
Создаем учетные записи для ПВЗ из расчета роста в формате тип_туннеля_pvz_номер
/ppp secret
add name=l2tp_pvz001 password=yugYJla$%iwket profile=profileTUNNEL service=l2tp
add name=pptp_pvz001 password=yugYJla$%iwket profile=profileTUNNEL service=pptp
add name=sstp_pvz001 password=yugYJla$%iwket profile=profileTUNNEL service=sstp 
Под них создаем статичные интерфейсы
/interface pptp-server
add name=pptp_pvz001 user=pptp_pvz001
/interface sstp-server
add name=sstp_pvz001 user=sstp_pvz001
/interface l2tp-server
add name=l2tp_pvz001 user=l2tp_pvz001 Маршрутизация OSPF
В нашем примере будет подключаться 1 ПВЗ, в котором сеть 192.168.1.0/24, по этому OSPF будет Backhone без деления на Area. Но при увеличении количество ПВЗ — деление на Area необходимо.

Создаем инстанс, где указываем Router ID и что мы анонсируем маршрут по умолчанию Originate Default: always
/routing ospf instance
add disabled=no name=ospf-instance originate-default=always router-id=192.168.0.1 
Создаем backhone
/routing ospf area
add disabled=no instance=ospf-instance name=ospf-area 
Добавляем созданные туннельные интерфейсы
l2tp — cost10
pptp — cost20
sstp — cost30
/routing ospf interface-template
add area=ospf-area cost=10 disabled=no interfaces=l2tp_pvz001 type=ptp
add area=ospf-area cost=20 disabled=no interfaces=pptp_pvz001 type=ptp
add area=ospf-area cost=30 disabled=no interfaces=sstp_pvz001 type=ptp Проброс портов
Мы заранее знаем, что на ПВЗ сеть 192.168.1.0/24, где 192.168.1.1 это сам MikroTik, а 192.168.1.200 — регистратор видеокамер или сама камера.

Слушаем tcp:81 на интерфейсе WAN





Подключение ПВЗ
Туннели

/interface list
add name=TUNNEL 

Аналогично используем PPTP — он не безопасный, но нам нечего скрывать.

Таблица маршрутизации

/routing table
add disabled=no fib name=TUNNEL Маркировка соединения и маршрута

Случаем в prerouting новый не маркированный трафик от туннелей, собранных в интерфейс лист TUNNEL

/ip firewall mangle
add action=mark-connection chain=prerouting comment="Mark Connection TUNNEL" connection-mark=no-mark connection-state=new in-interface-list=TUNNEL new-connection-mark=con-TUNNEL 

/ip firewall mangle
add action=mark-routing chain=output comment="Mark Roution Out TUNNEL" connection-mark=con-TUNNEL new-routing-mark=TUNNEL 

/ip firewall mangle
add action=mark-routing chain=prerouting comment="Mark Routing !TUNNEL" connection-mark=con-TUNNEL in-interface-list=!TUNNEL new-routing-mark=TUNNEL Динамическая маршрутизация OSPF

Создаем Instanse, где Router ID указываем шлюз на ПВЗ и ранее созданную таблицу маршрутизации
/routing ospf instance
add disabled=no name=ospf-instance router-id=192.168.1.1 routing-table=TUNNEL 
/routing ospf area
add disabled=no instance=ospf-instance name=ospf-area 
l2tp — cost10
pptp — cost20
sstp — cost30
bridge делаем Passive для анонса сети до CHR
/routing ospf interface-template
add area=ospf-area cost=20 disabled=no interfaces=pptp-out-chr type=ptp
add area=ospf-area cost=30 disabled=no interfaces=sstp-out-chr type=ptp
add area=ospf-area cost=10 disabled=no interfaces=l2tp-out-chr type=ptp
add area=ospf-area disabled=no interfaces=bridge passive 
Подключение камеры OZON Видео


