Как использовать namespaced-openvpn для VPN для каждого приложения?

Вероятно, это вопрос новичка, но ...

Я использую Ubuntu 18.04.3 LTS, и у меня есть VPN , который я хочу использовать. для нескольких приложений. Я проверил namespaced-openvpn , и он работает! Предостережение: я не могу подключиться к этому приложению локально (в целях управления).

Есть ли способ перенаправить определенный порт внутри VPN-туннеля на локальный хост без использования VPN-туннеля для каких-либо других целей и, таким образом, утечки слишком большого количества информации?

Что я уже умею сделать:

  • запустить namespaced-openvpn -script: sudo./ namespaced-openvpn --namespace vpn --config /etc/openvpn/vpn-xxxxx.ovpn
  • выполняет приложение внутри сетевого пространства имен: sudo ip netns exec vpn application

Чего я хочу достичь:

  • подключиться к приложению, запущенному внутри VPN-туннеля (например, на порт 1234 ) с реального локального хоста ( enp3s0 Ethernet-адаптер)
  • перенаправить этот порт таким образом, чтобы мне, чтобы получить к нему доступ с других моих компьютеров в моей локальной сети
0
задан 28 December 2019 в 15:26

1 ответ

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

Как бы то ни было: я работал над этим в течение другого дня и решил, что, поскольку меня интересует только один порт для веб-интерфейса приложения, я также могу использовать socat . Так я и сделал.

После создания соединения namespaced-openvpn и запуска приложения внутри этого сетевого пространства имен я выполнил следующую команду в выделенном терминале:

sudo socat tcp-listen:PORT-TO-FORWARD-TO,fork,reuseaddr exec:'ip netns exec vpn socat STDIO tcp-connect\:127.0.0.1\:PORT-TO-LISTEN-TO',nofork

Примечания:

  • PORT-TO-FORWARD-TO - это порт что я хочу, чтобы порт был перенаправлен (в корневом сетевом пространстве имен)
  • PORT-TO-LISTEN-TO - это порт приложения, которое я хочу разместить в корневом пространстве имен
  • 127.0. 0.1 Мне пришлось использовать фактический IP-адрес localhost (а не localhost или имя, потому что оно, похоже, не разрешается должным образом)
  • не забудьте экранировать символ двойной точки ( : ) внутри одинарных кавычек
  • Я не уверен, вызывает ли это утечку DNS; из того, что я проверил, это не так, но я не могу быть уверен, поскольку не знаю, как это проверить

Что осталось сделать:

  • автоматизировать все команды, чтобы запустить приложение и перенаправить порт при запуске : Мне это сейчас не нужно, но если / когда я узнаю, как это сделать, я добавлю его сюда
1
ответ дан 2 January 2020 в 23:15

Другие вопросы по тегам:

Похожие вопросы: