Можно ли получить доступ к хосту, на котором запущен сервер OpenVPN, через сам туннель на Linux (openSUSE)?
Например, если мой хост OpenVPN* VPN IP — , 10.125.0.1
а его публичный IP — 1.2.3.4
, я бы хотел, чтобы трафик, отправляемый на , 1.2.3.4
проходил через туннель (я пытаюсь обойти ограничивающий SSH брандмауэр). Однако SSH-подключение к обоим 10.125.0.1
и 1.2.3.4
не удается даже при включенном VPN.
Я предполагаю, что SSH-подключения просто блокируются из интерфейсов tun
/ tap
( 10.125.0.1
) на хосте OpenVPN, что нормально, но подключения к 1.2.3.4
должны по-прежнему проходить наверняка.
Я проверил таблицу маршрутизации на моем клиентском компьютере SSH*, и маршрут по умолчанию на самом деле — это интерфейс VPN, но соединения по-прежнему 1.2.3.4
проходят через маршрут шлюза LAN:
// Route to VPN Server
user@host:~> sudo ip route get <OpenVPN Host IP>
<OpenVPN Host IP> via <LAN Gateway IP> dev wlan0 src <LAN Host IP> uid 0
cache
// Route to Google's DNS
user@host:~> sudo ip route get 8.8.8.8
8.8.8.8 via <VPN Gateway IP> dev vpn src <VPN Host IP> uid 0
cache
(Для ясности, VPN-интерфейс на моем клиентском компьютере называется vpn
)
Я знаю, что это можно сделать на телефоне (Android), потому что он работает (SSH) с приложением OpenVPN, но возможно ли это и если да, то как это сделать на настольном компьютере?
Я думаю, в некотором смысле мой вопрос заключается в следующем:В чем разница между мобильным приложением OpenVPN и версией для ПК (Linux)?
*Дополнительная информация
OpenVPN-сервер:
- Машина с Ubuntu 18.04
- Технически работает
SoftEther
VPN-сервер, но с эмуляцией OpenVPN. Это не может быть источником проблемы, так как желаемые результаты достижимы на мобильных устройствах с приложением OpenVPN - Публичный IP
1.2.3.4
и частный (VPN) IP10.125.0.1
- Является ли VPN-шлюз
OpenVPN-клиент:
- Машина openSUSE Leap 15.1
- Успешное подключение к серверу OpenVPN
- Весь трафик, кроме
OpenVPN Server
IP, проходит через VPN. - Соединение создается и управляется через NetworkManager
- Можно выполнить ping хоста сервера OpenVPN (оба IP-адреса), но это происходит по маршруту локальной сети, а не VPN.
Мне кажется, что моя формулировка вопроса слишком сложна, поэтому, если необходимо, попросите разъяснений в комментариях.
заранее спасибо
решение1
Технически да, но это не сработает.
Ваше предложение поместит трафик, генерируемый OpenVPN, в сам туннель, создавая змею, пожирающую свой хвост.
VPN-IP-адрес хоста OpenVPN* — 10.125.0.1, а его публичный IP — 1.2.3.4. Я хотел бы, чтобы трафик отправлялся на 1.2.3.4.
Если вы хотите отправить пакет на 10.125.0.1, вы в конечном итоге обернете его в другой, адресованный на 1.2.3.4. Если вы сделаете то, что хотите, чтобы отправить пакет на 1.2.3.4, вам нужно будет направить этот пакет на 10.125.0.1, что потребует отправки пакета на 1.2.3.4, и круг замкнется и будет повторяться вечно.
На Android трафик, генерируемый приложением, захватывается до того, как он фактически маршрутизируется ОС телефона, но здесь нет слоя между приложениями и ОС.