Назад | Перейти на главную страницу

Доступ к сервису в контейнере Docker, подключенном к VPN

Я установил Linux-сервер (на данный момент VirtualBox VM)

На этом сервере я запускаю Docker container содержащий две вещи:

Я могу получить доступ к этому приложению (с моего хост-компьютера, поскольку Linux является гостевой виртуальной машиной), и все работает нормально, пока я не подключу VPN.

VPN работает - трафик проходит через него, но я больше не могу подключиться к своему приложению (ERR_CONNECTION_TIMED_OUT).

Итак, моя цель:

Как я могу этого добиться?

Так выглядит мой .ovpn файл

client
auth-user-pass
ping 5
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
verb 3
route-metric 1
proto udp
ping-exit 30
cipher AES-256-CBC

// cetrificate here

remote <remote-host-ip>

Вы пробовали создать маршрутизацию внутри докера?

Попробуйте добавить их через командную строку:

ip rule add from X.X.X.X table 128
ip route add table 128 to y.y.y.0/24 dev eth0
ip route add table 128 default via Z.Z.Z.Z

Где: X.X.X.X - это LAN-адрес докера

Y.Y.Y.0 - это сетевой адрес LAN докера, например 192.168.1.0/24

ETH0 - это ваш сетевой интерфейс

Z.Z.Z.Z - это шлюз Lan, то есть IP вашего маршрутизатора, скорее всего

Обратите внимание, что эти команды не сохраняются после перезагрузки. Так что, если вы хотите сохранить их, поместите их в /etc/rc.local с помощью команды "sleep 30".