Iptables перенаправление портов в сети VPN на Debian

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

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

подведем итог:

  1. шлюз-модем у меня дома
  2. RPI1 - VPN-сервер связи для модема в моем доме (ИС: интерфейс 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. камера-Планета ICA-4150 (с веб-интерфейсом active-x) - подключен к модему в другом доме
    (ИНТЕЛЛЕКТУАЛЬНАЯ СОБСТВЕННОСТЬ: 192.168.0.10)

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

Я хочу иметь возможность открыть веб-интерфейс камеры такой:
пример.для DDNS.объем: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?

3
задан Staszek
01.03.2023 23:22 Количество просмотров материала 3116
Распечатать страницу

1 ответ

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

0
отвечен Kalyana Sundaram 2023-03-03 07:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх