Докер и привязка локального адреса через OpenVpn

У меня две системы: одна - это vps, размещенная в центре обработки данных, а другая - это система, которая у меня локально в моей собственной домашней сети. Я развертываю некоторые вещи на vps через докер, и у меня есть несколько портов, например 80 443, которые я хочу получить с IP-адреса vps. Тем не менее, у меня есть такие вещи, как activemq, которые я не хочу публиковать, но я действительно хочу иметь доступ к нему из моей домашней системы, я думал сделать это через открытый VPN, а затем туннель, который я мог бы затем доступ из домашней системы, чтобы получить доступ к этим портам в удаленной системе, не открывая их для более широкого Интернета.

У меня проблемы с доступом к этим портам из домашней сети, я установил туннель openvpn, который имеет шлюз на IP 10.8.0.1 и интерфейс tun0. Я также использую конфигурацию (на локальном сервере ubuntu):

route-nopull
route 172.17.0.0 255.255.255.0

и команды докеров (на vps):

docker network create --subnet=172.17.0.1/24 activemq_net
docker run -d --memory=5g --ip 172.17.0.0 -p 172.17.0.1:61616:61616 -p 172.17.0.1:8161:8161 -p 172.17.0.1:1099:1099 --net activemq_net activemq

Однако я вижу, что при запуске nmap или ping 172.17.0.1 это обратная связь с локальным хостом ubuntu, поскольку время ping составляет менее миллисекунды, тогда как когда я пингую VPS, его больше около 30 мс, и я вижу, что открытые порты на nmap - это не то, что я ожидал от VPS.

Моя причина использования "route-nopull" заключается в том, что я использую ssh(ing) на локальном (домашнем) сервере ubuntu, если бы я не использовал "route-nopull", я бы отключился от локального сервера ubuntu, поскольку все было бы идёт через vps. Однако, если есть лучший способ сделать что-то здесь, например, настроить его так, чтобы все проходило через VPS, за исключением материала ssh, который также может работать, но я не мог понять, как это можно сделать?

(Извините, у меня нет представителя, чтобы фактически включить изображение)

Я не ищу идеального ответа со всеми командами и т. Д. Просто толчком в правильном направлении, это не кажется таким уж необычным, так есть ли какой-то грубый шаблон проектирования, которому я должен следовать? Я ошибаюсь, извиняюсь, если я что-то пропустил, но любая помощь будет очень признательна. Благодаря!

0 ответов

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