Пересылка портов от клиента OpenVPN к общему интернету

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

Мне нужно перенаправить порт 44444 моего VPN-клиента на публичный интернет с моим публичным IP на порту 44444. Как я могу это сделать?

VPN-сервер мой, и у меня есть root-доступ.

Пример, как я могу это сделать? WANIP:44444 -> 172.27.224.2:44444 (ЛОКАЛЬНЫЙ IP VPN)?

Я пробую это, но безуспешно:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -d WANIP -p tcp --dport 44444 -j DNAT --to-destination 172.27.224.2:44444
iptables -t nat -A POSTROUTING -d 172.27.224.2 -p tcp --dport 44444 -j SNAT --to-source WANIP

Интерфейс WAN IP – eth0. Интерфейс ЛОКАЛЬНОГО IP VPN – as0t0.

Пример, как я могу это сделать? 213.205.12.32:8080 (WAN IP) -> 172.27.232.2:8080 (ЛОКАЛЬНЫЙ IP VPN)?

Предполагая, что это сервер Linux, фактическое правило NAT для перенаправления будет примерно следующим.

iptables -A PREROUTING -t nat -d 213.205.12.32 -p tcp -m tcp –dport 8080 -j DNAT –to-destination 172.27.232.2:8080

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

  1. Если у вас есть правила фильтрации, они должны позволять проходить трафику.
  2. Ответы на трафик, который проходит через NAT, должны возвращаться через тот же NAT.

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

Для перенаправления порта 44444 с клиента OpenVPN на публичный интернет, следуйте следующим шагам, принимая во внимание, что у вас есть полный доступ к VPN-серверу.

Подготовка

  1. Проверьте доступ к конфигурации VPN-сервера. Убедитесь, что у вас есть все необходимые права и доступ к конфигурационным файлам OpenVPN.

  2. Убедитесь, что маршрутизация включена. Выполните следующую команду для проверки:

    sysctl net.ipv4.ip_forward

    Значение должно быть 1. Если оно равно 0, активируйте маршрутизацию командой:

    sysctl -w net.ipv4.ip_forward=1

    Чтобы сделать это изменение постоянным, отредактируйте файл /etc/sysctl.conf и добавьте или измените строку:

    net.ipv4.ip_forward=1

Настройка iptables

Теперь, когда маршрутизация включена, необходимо настроить правила iptables для перенаправления трафика. Ваша цель — перенаправить трафик с WAN IP (например, 213.205.12.32) на локальный IP клиента OpenVPN (например, 172.27.224.2).

Пример правил iptables

Выполните следующие команды, чтобы настроить необходимое перенаправление трафика:

# Перенаправление входящего трафика
iptables -t nat -A PREROUTING -d 213.205.12.32 -p tcp --dport 44444 -j DNAT --to-destination 172.27.224.2:44444

# Замена исходящего IP-адреса на публичный адрес
iptables -t nat -A POSTROUTING -s 172.27.224.2 -p tcp --dport 44444 -j SNAT --to-source 213.205.12.32

Дополнительные настройки

  1. Фильтрация трафика. Убедитесь, что правила фильтрации (например, в цепочке INPUT и FORWARD) позволяют проходить трафику. Например:

    iptables -A FORWARD -i as0t0 -o eth0 -j ACCEPT
    iptables -A FORWARD -i eth0 -o as0t0 -m state --state ESTABLISHED,RELATED -j ACCEPT
  2. Проверка работы. После настройки правил выполните следующие тесты:

    • Проверьте, доступен ли порт 44444 с публичного IP.
    • Используйте утилиты, такие как telnet или curl, для проверки соединений.
  3. Проблемы с NAT. Если клиент не отвечает, убедитесь, что все требуемые маршруты и NAT определены правильно. Трафик должен возвращаться через тот же интерфейс, через который он пришел на сервер.

Заключение

Настройка перенаправления портов с клиента OpenVPN на публичный интернет требует внимательного подхода к маршрутизации и правилам iptables. Помните о необходимости управления фильтрацией и проверке доступа, что может повлиять на успешность ваших попыток. Если все шаги выполнены правильно, ваш VPN-клиент будет доступен через ваш публичный IP на заданном порту.

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

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