Прежде чем это заработает, сначала убедитесь, что ваш VPN-клиент имеет фиксированный IP-адрес VPN. Руководство по OpenVPN описывает, как это сделать. Убедитесь, что вы выбрали пару IP-адресов для клиента/сервера из таблицы в этом документе.
Теперь убедитесь, что ваш сервер Linode может получить доступ к вашему приложению на вашем клиенте. т.е.
telnet 8089
Чтобы затем подключиться к внешнему миру, предполагая, что ваше приложение основано на HTTP, я бы рекомендовал установить обратный прокси-сервер на машине Linode.
Установите на сервер Linode обратный прокси, который будет стоять между подключениями из внешнего мира, а затем перенаправлять на ваше приложение. Есть много доступных, таких как Nginx, Apache, HAProxy, TinyProxy. Если у вас простые требования, TinyProxy, вероятно, будет хорошей отправной точкой. После установки убедитесь, что в конфигурации есть следующие строки:
ConnectPort 8089
ReversePath "/" "http://:8089"
ReverseOnly yes
ReverseMagic yes
Вам необходимо убедиться, что брандмауэр на вашем сервере Linode принимает входящие соединения из внешнего мира. Чтобы разрешить неограниченный доступ, используйте UFW:
sudo ufw allow 8089/tcp
В качестве альтернативы, если вы хотите разрешить доступ к вашему приложению только определенным клиентам:
sudo ufw delete allow 8089/tcp
, а затем для каждого клиента, который должен иметь доступ:
sudo ufw allow from to 8089/tcp
Если вы также используете брандмауэр на своем компьютере с VPN-клиентом, вам также необходимо убедиться, что существует правило, разрешающее серверу Linode подключаться к порту 8089. Вам потребуется VPN IP вашего сервера. С фиксированными IP-адресами, согласно документу Open VPN, на который я ссылался, вы выбираете пару IP-адресов для использования VPN-сервером и клиентом :
.
sudo ufw allow from to 8089/tcp
Вы также можете настроить конфигурацию так, чтобы ваш сервер Linode прослушивал совершенно другой порт (, например. 80 ), изменив параметр «Подключиться» в обратном прокси-сервере и обновив правила брандмауэра сервера Linode, чтобы они соответствовали, в то время как ваше приложение остается на 8089.
Использование петли:
{
for i in $(seq 0 5); do echo "0.0.0.$i" ; done;
for j in $(seq 1 5); do echo "0.0.$j.$i" ; done;
for k in $(seq 1 5); do echo "0.$k.$j.$i" ; done;
for l in $(seq 1 5); do echo "$l.$k.$j.$i"; done;
}
Использование awk
и более гибкое для увеличения времени повторения, а также настраиваемое количество полей из однострочного ввода:
awk -F"." -v OFS="." -v repeat=5 '
{ print $0;
for(c=NF; c>=1; c--){
for (i=1; i<=repeat; i++) { $c=i ; print $0; };
};
}' <<<'0.0.0.0'