VPN и локальная переадресация портов Apache

У меня есть следующая конфигурация, веб-хост Apache, который работает на моем локальном компьютере через порт 4444.

Я зарегистрировался на noip.com для DDNS и правильно выполнил настройку.

Было интересно, так как я немного параноидален для того, чтобы выставлять свой IP публичному пользователю, когда представляю веб-приложение клиентам, поэтому могу ли я запускать VPN локально, поэтому, когда DDNS разрешает IP, он будет указывать на мое VPN-соединение?

У меня есть только базовые знания по iptables, которых недостаточно для этой задачи. В настоящее время используется Debian 8.

Спасибо за вашу помощь!

1 ответ

Если вы хотите скрыть порт вашего веб-сервера, используя VPN (openvpn) на хосте веб-сервера

В этом случае вы могли бы

  • настройте сервер vpn, например, openvpn, для прослушивания ip вашего хоста, например, 192.168.1.1, порт 1194
  • настроить ваш веб-сервер для прослушивания только 192.168.1.1, порт 4444
  • остановите переадресацию портов в маршрутизаторе, который перенаправляет трафик из Интернета на веб-сервер
  • настроить переадресацию портов в маршрутизаторе, который перенаправляет трафик из Интернета на сервер vpn через порт 1194 (я лично использую другой порт снаружи, так что маршрутизатор будет пересылать, например, порт 11945 на порт 1194 на хосте)
  • подключиться к вашему VPN через интернет
  • направьте ваш браузер на веб-приложение по адресу 192.168.1.1, порт 4444

В этом случае вам, вероятно, даже не нужны iptables. Ваш маршрутизатор знает только, что перенаправить этот один порт (1194) на ваш хост, и этот один порт может быть установлен или подключен только с правильными ключами и сертификатами. Все остальные порты не нужно закрывать, потому что они не могут быть доступны через ваш маршрутизатор.

Если вы хотите, чтобы ваш веб-сервер подключался только с IP-адреса VPN

Однако из ваших комментариев я предполагаю, что вы используете VPN на своем ноутбуке и что ваш веб-сервер подключен к "обычному" Интернету. В этом случае вы открываете свой брандмауэр / iptables только для вашего VPN IP, например, 3.2.2.2

iptables -A INPUT -s 3.2.2.2/32 -j ACCEPT

или, более мелкий гранулированныйiptables -A INPUT -p tcp -s 3.2.2.2/32 --dport 4444 -j ACCEPT

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

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

Также вы хотите разрешить локальный трафик:

iptables -A INPUT -i lo -j ACCEPT

После этого вы можете закрыть все остальные входящие порты:

iptables -P INPUT DROP

Обязательно тщательно проверьте это по своему диапазону IP-адресов и собственному IP-адресу VPN.

Кроме того, вам необходимо настроить маршрутизатор / модем для переадресации любого порта, например 4444 или 44444, на порт 4444 вашего веб-сервера.

Если вы хотите запустить службу VPN (частный доступ в Интернет) и веб-сервер на одном хосте

Посмотрев на privateinternetaccess.com, я понял, что

  • есть клиентские программы для различных операционных систем, среди них Linux. (посмотреть здесь)
  • Однако PIA рекомендует использовать openVPN, если вы всегда хотите иметь один и тот же IP-адрес VPN (см. Здесь)

Так чтобы

запускать VPN локально, поэтому, когда DDNS разрешает IP, он будет указывать на ваше VPN-соединение

ты бы

  • установить openVPN
  • отредактируйте файл ovpn, предоставленный PIA для подключения к одному и тому же VPN-серверу
  • начать соединение openVPN с PIA
  • настройте клиент DDNS так, чтобы он искал и обновлял IP-адрес только после установления VPN-соединения. Теперь клиент DDNS должен найти 3.2.2.2 как ваш IP-адрес, обновите его на сервере DDNS, и ваши клиенты могут разрешить yourhost.yourddns.com в 3.2.2.2,
  • Хотя PIA не рекомендует это делать ( см. Здесь), вы должны иметь возможность включить переадресацию портов в PIA, как описано здесь для порта 4444.
Другие вопросы по тегам