Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: После заворачивания в туннель ssh, OpenVPN не работает  (Прочитано 540490 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 776166

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Имеется работающий сервер OpenVPN (proto tcp-server). Настроен он как гейтвей, но некоторые ip открываются напрямую. Все настройки на стороне сервера и пушатся клиентам. Клиенты видят друг друга и всё такое. Какая-то работающая магия в iptables сервера. Короче, всё работает, как надо: чётко, красиво, автоматизированно.

Заворачиваю эту красоту в туннель ssh, который поднимается на клиенте.

ssh $OVPN_HOST -fnNT -L 1194:localhost:65310

Перенастраиваю remote клиента, чтобы ходил на локальный порт, который прокинут к openvpn.

Связка перестаёт работать. В логах сервера вижу, что коннект есть, но он через некоторе время отваливается и пересоединяется. Никакие интернеты не работают: ни дефолтные, ни кастомные, ни резолв ни пинг 8.8.8.8, ни вообще ничего.

В различных, разрозненных и невнятных мануалах и прочих серверфаултах иногда пишется про то, что на стороне клиента надо добавить маршрут:
Цитировать
…пробросить наружу IP адрес сервера OpenVPN и IP адрес ДНС…
, но я не понимаю, чего клиенту ещё надо, если я итак пушу гейтвей, через который надо ходить. Что я упускаю?

Что моя не понял сделать упустил важно?

(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Заворачиваю эту красоту в туннель ssh, который поднимается на клиенте.
Зачем?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн 776166

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Зачем?

Зачем спрашиваете?

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1118
    • Просмотр профиля
Думаю я что дело в следующем: openvpn-клиент меняет default gateway и через "старый" default gateway добавляет маршрут до openvpn-сервера. И тут ты попадаешь в ловушку: клиент считает сервером локалхост. А то что на самом деле сервер не на локалхосте он не в курсе.

Решение относительно простое: сразу после подключения добавлять маршрут командой вида:

ip route add IP_VPN_Сервер via Ваш_Gateway

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Зачем?

Зачем спрашиваете?
Еврея отключите. Если спрашиваю - значит, не понимаю исходной задачи.

Банхаммер включу. Не взирая на "заслуженность".
Первое и последнее предупреждение лично от меня.
+10%
--ALiEN175
« Последнее редактирование: 25 Сентября 2023, 02:18:06 от ALiEN175 »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AlexDem

  • Активист
  • *
  • Сообщений: 696
    • Просмотр профиля
Зачем?

Зачем спрашиваете?
Еврея отключите. Если спрашиваю - значит, не понимаю исходной задачи.
Могу предположить чтобы замаскировать VPN трафик под ssh. Но это не точно.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Я не гадалка. И бы хотел услышать ответ автора топика.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн 776166

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Я не гадалка. И бы хотел услышать ответ автора топика.

Мне нужно пропустить трафик OpenVPN через ssh-тоннель.

Пользователь добавил сообщение 05 Октября 2023, 18:04:39:
Думаю я что дело в следующем: openvpn-клиент меняет default gateway и через "старый" default gateway добавляет маршрут до openvpn-сервера. И тут ты попадаешь в ловушку: клиент считает сервером локалхост. А то что на самом деле сервер не на локалхосте он не в курсе.

Решение относительно простое: сразу после подключения добавлять маршрут командой вида:

ip route add IP_VPN_Сервер via Ваш_Gateway

Так сервер же формально как раз на локалхосте. Разве нет?
Я делаю запрос на локальный порт, на конце которого есть что-то ещё. OpenVPN вообще не должно волновать, где находится конечный сервер и куда этот порт ведёт. Я что-то упускаю в понимании?

По поводу решения: а можно это всё делать в рамках OpenVPN? Потому что ssh с iPhone я ещё сделаю, а вот роутинг вряд ли получится руками править.

может, push "route-gateway localhost"?
« Последнее редактирование: 05 Октября 2023, 18:07:39 от 776166 »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6757
  • 20% Cooler
    • Просмотр профиля
ssh с iPhone
На мобильных клиентах нельзя поднимать больше одного туннеля. (ovpn+ssh - уже два). Пишут, что можно через рут, но в подробности я не вникал.

Вопрос ваш про ubuntu или про поднятие двух туннелей на iOS?


Пользователь добавил сообщение 05 Октября 2023, 19:43:59:
про "заворачивание" траффика: на сервере и клиенте должны работать оба средства туннелирования одновременно . Касательно связки ovpn+ssh:
1. поднимаете туннель ssh. Убеждаетесь, что все работает.
2. запускаете ovpn, указывая в конфигах сервера и клиента локалхосты с соотвествующим портом, на которых, соответственно, работает ssh-туннель. 
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 05 Октября 2023, 19:58:47 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн 776166

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
ssh с iPhone
На мобильных клиентах нельзя поднимать больше одного туннеля. (ovpn+ssh - уже два). Пишут, что можно через рут, но в подробности я не вникал.

Вопрос ваш про ubuntu или про поднятие двух туннелей на iOS?


Пользователь добавил сообщение 05 Октября 2023, 19:43:59:
про "заворачивание" траффика: на сервере и клиенте должны работать оба средства туннелирования одновременно . Касательно связки ovpn+ssh:
1. поднимаете туннель ssh. Убеждаетесь, что все работает.
2. запускаете ovpn, указывая в конфигах сервера и клиента локалхосты с соотвествующим портом, на которых, соответственно, работает ssh-туннель. 
(Нажмите, чтобы показать/скрыть)

В мобильном клиенте точно можно использовать ssh. Я даже уже нашел платный клиент для этого. Он просто создаёт тоннель, т.е. устанавливает соединение и открывает порт. Возможно, всё сложнее. В крайнем случае, можно завести отдельное устройство типа роутера, который будет шарить тунеллированный трафик. А вот OpenVPN, это уже настоящий туннель, куда будет заворачиваться часть трафика. Но пока схема не работает в лабораторных условиях десктопа. У меня всё работает ровно так, как вы и описали. Но что-то идёт не так.
Написать в поддержку, это хорошая мысль. Я её уже хожу думаю, но хотел всё равно порешать технические вопросики. ОПСОСы периодически блочат, а городские, вроде нет. Если начнут, то вообще всё станет. Лишь бы не заставляли в VPN по заявке от официального работодателя ходить.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6757
  • 20% Cooler
    • Просмотр профиля
В мобильном клиенте точно можно использовать ssh. Я даже уже нашел платный клиент для этого.
Еще раз повторяю: на сервере и клиенте должны работать оба средства туннелирования одновременно.
Openvpn просто не поймёт, как расшифровать трафик ssh.
А ssh туннель - это просто socks5 proxy.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
А ssh туннель - это просто socks5 proxy.
Не надо путать тёплое с мягким. SSH туннель это TCP форвардинг.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6757
  • 20% Cooler
    • Просмотр профиля
SSH туннель это TCP форвардинг.
с шифрованием. Собственно, socks-proxy.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Не надо путать тёплое с мягким. Что бы там внутри не было, наружу у тебя торчит голый порт. Без всяких SOCKS5.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн 776166

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Еще раз повторяю: на сервере и клиенте должны работать оба средства туннелирования одновременно.
Openvpn просто не поймёт, как расшифровать трафик ssh.

SSH-туннель не так, вроде, работает. Есть локально порт, через который доступен нужный порт удалённого хоста. VPN не нужно ничего чужое расшифровывать, он вообще не знает, как, куда и через что идёт трафик. Транспортный (сеансовый?) уровень, или как там это в OSI называется. Для Postgres это прекрасно работает и postgres ничего не расшифровывает. :)

 

Страница сгенерирована за 0.036 секунд. Запросов: 22.