Если вы хотите скрыть порт вашего веб-сервера, используя 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.