У меня проблема с настройкой моей сети. Это почти работает ... но не полностью :)

Я хочу иметь доступ к камере в здании в сельской местности. У меня есть доступ к Интернету без публичного IP, поэтому я решил создать VPN. В сельской местности у меня есть один RaspberryPI (VPN-клиент) и LTE-маршрутизатор (Huawei B315), соединенные вместе с IP-камерой. В моем доме, где у меня есть модем с публичным IP, у меня есть другой RPI (VPN-сервер). VPN находится в режиме маршрутизации (RPI создает отдельную сеть).

Итак, подведем итог:

  1. Шлюз - модем у меня дома
  2. RPI1 - VPN-сервер, подключенный к модему у меня дома (IP: eth0-192.168.0.6 (локальная сеть), tun0-10.8.0.1 (сеть VPN))
  3. PRI2 - VPN-клиент, подключенный к модему в другом доме (IP: eth0-192.168.0.100, tun0-10.8.0.2)
  4. Камера - Planet ICA-4150 (с веб-интерфейсом active-x) - подключена к модему в другом доме (IP: 192.168.0.10)

VPN работает - я могу пропинговать оба RPI друг от друга, и я могу ssh из моего дома к RPI1, а затем к RPI2.

Я хочу иметь возможность открыть веб-интерфейс камеры следующим образом: example.ddns.net:9000. DDNS настроен, и он работает.

На модеме моего дома я перенаправил порт 9000 извне на локальный IP 192.168.0.6:9000 (RPI1).

Мои настройки iptables: RPI1:

iptables -A PREROUTING -t nat -p tcp --dport 9000 -j DNAT --to-destination 10.8.0.2:9000
iptables -A PREROUTING -t nat -p udp --dport 9000 -j DNAT --to-destination 10.8.0.2:9000
iptables -A FORWARD -p tcp -d 10.8.0.2 --dport 9000 -j ACCEPT
iptables -A FORWARD -p udp -d 10.8.0.2 --dport 9000 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

RPI2:

iptables -A PREROUTING -t nat -p tcp --dport 9000 -j DNAT --to-destination 192.168.0.10:80
iptables -A PREROUTING -t nat -p udp --dport 9000 -j DNAT --to-destination 192.168.0.10:80
iptables -A FORWARD -p tcp -d 192.168.0.10 --dport 80 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.0.10 --dport 80 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

Когда я набираю правильный адрес в браузере, я вижу веб-интерфейс, но не могу войти. Конечно, я могу войти, когда мой ноутбук подключен локально к камере. И я также провел эксперимент, в котором я подключил камеру к локальной сети в своем доме и экспортировал один порт в модеме моего дома непосредственно в камеру, и это также работает, но только если я перенаправляю порты TCP и UDP. Я также не могу войти, когда я набираю 192.168.0.6:9000 в браузере из моей домашней локальной сети.

Я также попробовал изменить порт 9000 на 24000, но не повезло.

Кто-нибудь имеет представление о том, что я делаю неправильно? Может я что то пропустил в iptables?

1 ответ1

0

Я думаю, это потому, что вы ПОЛУЧАЕТЕ веб-страницу через порт 9000 в своем браузере, но камера, на которой размещен сервер, видит запрос на порту 80. Таким образом, действие post, если оно помещает абсолютный URL, будет отправлено на порт 80. Вы можете проверить это на вкладке сети вашего браузера. Если это так, добавьте iptable dnat для IP-адреса назначения и dport 80.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .