LINUX.ORG.RU
ФорумAdmin

соединить IP камеру и NVR, находящиеся в разных сетях

 , ,


0

1

Все привет!

Есть две локалки, каждая за роутером с серым IP, т.е. за NATом. В одной локалке находится IP-камера, в другой - NVR (регистратор). Необходимо подключить камеру к регистратору, который видит устройства только в пределах своей сети (192.168.1.0/24). Компы и OpenWrt-роутер умеют wireguard и находятся в сети 10.0.5.0/24, которую нужно использовать для соединения камеры и регистратора.

Есть идеи как это можно организовать? GPON роутер «тупой»(ZTE F670 от МГТС).

                              +----------------+                               
                              |                |                               
     +------------------+     |                |     +------------------+      
     |    10.0.5.11     |     |    INTERNET    |     |    GPON router   |      
     |  OpenWrt router  |     |                |     |                  |      
     |  192.168.1.1/24  |     |                |     |  192.168.2.1/24  |      
     +------------------+     +----------------+     +------------------+      
        |            |                                   |          |          
        |            |                                   |          |          
+-------- ---+   +------------+                 +------------+-  +------------+
|192.168.1.10|   |192.168.1.20|                 |192.168.2.11|   |192.168.2.21|
| linux PC-1 |   |    NVR     |                 | linux PC-2 |   |  IP camera |
| 10.0.5.12  |   |            |                 | 10.0.5.13  |   |            |
+------------+   +------------+                 +------------+   +------------+
                                                                               


Последнее исправление: Drew0 (всего исправлений: 2)

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

Khnazile ★★★★★
()
Ответ на: комментарий от gruy

Внешний VPN есть - wireguard. Linux PC-1, Linux PC-2 и OpenWrt-роутер видят друг друга в сети 10.0.5.0/24. Поверх нее нужно соединить камеру и регистратор, которые не умеют ничего.

Drew0
() автор топика
Ответ на: комментарий от Drew0

У меня схема плывет из-за того, что экран маленький, но по идее, дальше нужно просто прописать маршруты через wireguard, с обоих сторон. Ну и правила для фаервола, если он есть.

Khnazile ★★★★★
()
Ответ на: комментарий от Drew0

Видимо, интерфейс камеры должен быть в виртуальной сети vpn, вариант - сделать прокси для камеры, чтобы проксировал из vpn интерфейса на внутренний ip, а это должно быть устройство с двумя интерфейсами сетевыми - один для vpn, второй для внутренней, короче, это скорее всего, твой роутер, за которым стоит камера

menangen ★★★★★
()
Ответ на: комментарий от Drew0

В текущем конифиге получится только связь через комп, либо же надо, чтобы оба роутера могли поддерживать wireguard-туннель друг с другом.
Суть в том, что тебе нужно объяснить маршрутизаторами, как именно им отправлять трафик в другую сеть. Это делается через таблицу маршрутизации. Мне сейчас реально неудобно это расписывать, т.к. сижу с мобилки, мб позже отвечу

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Да я с маршрутизацией разберусь, мне построчный конфиг/скрипт не нужен, просто направление куда копать: ipip, gre, просто роутинг?

Если на PC-1 (или на «умном» роутере) навесить на внутренний интерфейс еще один IP из подсети регистратора (192.168.1.221) и в тоннеле ipip поверх wireguard гнать его на PC-2, который будет разворачивать его на камеру (192.168.2.21) - вариант?

Drew0
() автор топика
Ответ на: комментарий от Drew0

Тебе не надо навешивать адрес, просто пропиши, что-то типа 192.168.2.0/24 via 10.0.5.13 на OpenWRT, 192.168.1.0/24 via 10.0.5.11 на PC-2, 192.168.1.0/24 via 192.168.2.11 на GPON.
На PC-2 нужно ещё включить ip forward и настроить фаерволы везде, чтобы они пропускали трафик из этих сетей. Если не нравится пускать сеть целиком, разреши отдельные ip. Или камера настолько тупая, что может работать только бродкастом по L2?

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Регистратор, находясь в сети 192.168.1.0/24 не увидит камеру 192.168.2.0/24, даже если она в соседний порт свитча будет воткнута - поэтому и хочу создать на OpenWrt адрес из сети регистратора.

Сети целиком не нужно объединять, только камеру из правой локалки «перетащить» в левую.

Drew0
() автор топика
Ответ на: комментарий от Drew0

Он её так и не увидит, т.к. не знает, к какой сети принадлежит данный адрес. Если точнее, то т.к. этой сети нет в таблице маршрутизации самого видака, то он отправляет пакет на роутер, а уже роутер не знает, куда его переслать дальше.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Ну вроде запилил, @Khnazile, спасибо за помощь!

Создаем и поднимаем GRE тоннель между PC1 и PC2 поверх wireguard, прописываем маршрут для сторонней локалки через этот тоннель.

PC-1

sudo ip link add name gre1 type gre local 10.0.5.12 remote 10.0.5.13
sudo ip link set dev gre1 up
sudo ip route add 192.168.2.0/24 dev gre1

PC-2

sudo ip link add name gre1 type gre local 10.0.5.13 remote 10.0.5.12
sudo ip link set dev gre1 up
sudo ip route add 192.168.1.0/24 dev gre1

После этого начинают ходить пинги между PC1 и PC2 по адресам локалки, т.е. появляется связность 192.168.1.10 <-> 192.168.2.11.

Чтобы проходили пинги с PC1 192.168.1.10 на камеру (192.168.2.21) нужно сделать банальный SNAT на PC2:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

А вот это не взлетело:

что-то типа 192.168.2.0/24 via 10.0.5.13 на OpenWRT, 192.168.1.0/24 via 10.0.5.11 на PC-2, 192.168.1.0/24 via 192.168.2.11 на GPON

Потому что via можно указывать только на существующий gateway.

Drew0
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.