VPS: Как перенаправить трафик на устройства с публичного IP

Вопрос или проблема

Моя цель — настроить публичный IP для смартфона Android, на котором запущено программное обеспечение “IP Камера”. Интерфейс доступен в локальной сети на (пример) 192.168.0.2:8080, но у него нет публичного IP, так как он также должен работать в сети 3G.

Я знаю, что существуют сервисы, которые предлагают VPN с статическими выделенными адресами; бесплатный, который я нашёл, предлагает только PPTP с IPv6 (не работал).

Остальные предлагают IPv4 по гораздо более высокой стоимости, чем актуальный VPS от Host1Plus с минимальными характеристиками, поэтому я выбрал последнее. По крайней мере, я могу попрактиковаться и/или использовать VPS для других проектов. Я следовал этому руководству.

Сейчас я на этапе, где создал нового пользователя, присвоил статический VPN Адрес в панели администрирования OpenVPN учетной записи и вошел в систему с устройства.

Всё работает до сих пор. Мое Android устройство получает публичный IP VPS при просмотре.

Я могу пинговать приватный VPN IP устройства в SSH терминале VPS.
Каков следующий шаг?

Я попробовал это, но это особо не работает. Я в потерянности на этом этапе. Я никогда не работал с маршрутами или перенаправлением.

Если я сейчас введу публичный IP VPS, я получу форму входа в openVPN, как и раньше. Если я введу [PublicVPSIP]:8080, я получаю ошибку “Сервер недоступен и т. д.”

В конце это должно работать так.

Android (работает какое-то сервис на порту 8080) (VPN IP: 1.2.3.4)



подключается через openVPN к моему VPS



VPS (запускает openVPN Server) (Публичный IP: 123.123.123.123)



Трафик от посетителя на 123.123.123.123:8080 должен быть перенаправлен/переслан на мое устройство Android. (1.2.3.4:8080)

Я решил это. Для других людей с такой же проблемой.

Эта статья помогла мне: Перенаправление TCP порта на другой IP или порт с использованием NAT с помощью Iptables

Кроме того (так как у меня нет идеи, достаточно ли этого из-за атак)
я следовал этому: Как заблокировать все порты, кроме …

Просто чтобы заблокировать все оставшиеся порты, которые могут быть открыты и которые мне не нужны.
Конечно, не забудьте добавить ваш SSH порт в исключение, иначе вы заблокируете себя из SSH терминала.

Хотя я не уверен, достаточно ли этого для реального усиления Вашего VPS против атак и т. д. Поэтому я буду рад дальнейшим предложениям

Ответ или решение

Настройка VPS для перенаправления трафика на устройства с публичного IP может быть несколько сложной, особенно если вы новичок в работе с сетями и маршрутизацией. В данной ситуации, ваша цель — настроить доступ к Android-смартфону, который работает в режиме IP-камеры, через публичный IP-адрес, получаемый вашим VPS. Ваша основная задача — это правильно настроить VPN и использовать механизмы маршрутизации, такие как iptables, чтобы обеспечить нужную переадресацию трафика.

Теория

Перенаправление трафика через VPS включает несколько ключевых понятий: VPN, статическое маршрутизирование и iptables.

  1. VPN (Virtual Private Network): Позволяет устройствам безопасно подключаться к удаленной сети через Интернет. Ваша задача — настроить OpenVPN на вашем VPS, что уже было сделано. Это дает вашему Android-смартфону возможность использовать IP-адрес вашего сервера как его внешний адрес.

  2. Статическое маршрутизирование: Необходимо для направления трафика, полученного вашим VPS, на соответствующие устройства внутри вашей сети.

  3. iptables: Это утилита для настройки правил брандмауэра Linux. Она позволяет контролировать входящие и исходящие сетевые пакеты и, в вашем случае, перенаправлять пакеты с определенного порта на вашем VPS к вашему Android-устройству.

Пример

Первым шагом станет правильная настройка OpenVPN. У вас уже настроено рабочее соединение, которое дает вашему Android-устройству возможность выходить в Интернет под IP вашего VPS. Далее нужно выполнить перенаправление трафика.

Ваша задача — реализовать механизмы NAT (Network Address Translation) и DNAT (Destination NAT) для перенаправления трафика на внутренняя сеть, связанная с вашим Android-устройством с использованием iptables. Предположим, у вас есть следующие данные на руках:

  • Публичный IP вашего VPS: 123.123.123.123
  • Внутренний VPN IP вашего Android-устройства: 1.2.3.4
  • Порт: 8080

Применение

  1. Настройка iptables:

    Войдите в терминал вашего VPS через SSH и выполните следующую команду для включения NAT:

    sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 1.2.3.4:8080

    Эта команда говорит iptables перенаправлять все входящие TCP-пакеты на порт 8080 вашего VPS на порт 8080 вашего Android-устройства.

  2. Разрешение передачи данных:

    Убедитесь, что IP-переадресация включена на вашем VPS. Это можно сделать, добавив или отредактировав файл /etc/sysctl.conf и добавив/изменив следующую строку:

    net.ipv4.ip_forward = 1

    После чего, примените изменения:

    sudo sysctl -p
  3. Защита вашего сервера:

    Чтобы минимизировать риски безопасности, убедитесь, что у вас настроены строгие правила брандмауэра, которые блокируют все ненужные порты, кроме тех, которые вы используете.

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -A INPUT -j DROP

    Эти команды разрешают входящие подключения только через SSH (порт 22), HTTP (порт 80), HTTPS (порт 443) и на порт 8080 для вашей IP-камеры.

Заключение

Вся вышеописанная конфигурация должна обеспечить нужную функциональность, а именно доступ по публичному IP с вашего VPS к сервису на вашем Android-устройстве. Несмотря на быстрое функционирование данной схемы, безопасность вашего сервера остается приоритетом. Рекомендуется регулярно проверять логи, настраивать дополнительные средства защиты (например, fail2ban), а также использовать сложные пароли и SSH-ключи для входа на VPS. Надеюсь, это руководство поможет вам достичь ваших целей в настройке VPS для перенаправления трафика.

Оцените материал
Добавить комментарий

Капча загружается...