Как через openvpn linux клиента иметь доступ во всю подсеть?

Есть объект, на котором установлена Linux (Debian 12), на нём я установил OpenVPN клиент и появилось соединение с моим OpenVPN сервером.
Как иметь доступ ко всей подсети клиента через этот туннель, если эта машина не является шлюзом/роутером, а является просто одним из DHCP клиентов?
В Микротике я делаю это вот так:
6654564ec751c465328296.png
Где 10.99.87.172 - удалённый микротик с OpenVPN клиентом, через который я имею доступ ко всей подсети, как будто она у меня соседняя в моём компьютере, который находится в другом городе
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
1. В конфиге OpenVPN ВПН сервера добавить соответствующую опцию push route
2. На всех компах в сети (кроме ВПН сервера), к которым должен быть доступ из ВПН, добавить маршрут до ВПН подсети через ВПН сервер.
Ответ написан
@rPman
Делаешь тип сетевого подключения, создаваемого openvpn, tap (настраивается на сервере в конфиг файле строчка "dev tap").

Отключаешь все dhcp и вообще настройки ip адрес, достаточно комментировать строки ifconfig, server-bridge и push route.
spoiler
можно и с ним но у меня когда то давно win7 странно глючил, являясь сервером (к нему подключался удаленный клиент), причем не регулярно, он выдавал ip адрес сетевому устройству которое часть сетевого моста, и сеть переставала работать пока в проводнике, в списке сетевых устройств, не нажать f5, как так можно было проглючить я хз, но глюк был

Объединяешь виртуальное tap устройство на сервере и на клиенте с сетевым адаптером, который подключен к локальной сети соответственно на стороне сервера и на стороне клиента (если на клиенте нет сети то не надо).

И да, это работает в обе стороны, т.е. так можно дать доступ к локальной сети клиента пользователям локальной сети сервера.

В результате, после поднятия openvpn подключения, клиентский компьютер будет подключен в удаленную локальную сеть, точно так же как это бы произошло, если бы он был подключен физически к ней (по ethernet или wifi), и если роутер а точнее dhcp сервер не запрещает этого, то клиентской машине будет выдан ip адрес из удаленной локальной сети и все будет работать. ip адрес можно выдать вручную, если адрес не будет конфликтовать с ip адресами этой сети (иначе можно нарушить ее работу). Осторожно с двумя одновременно работающими dhcp серверами в сетях сервера и клиента, если желаешь объеденить их в одну, они могут конфликтовать и машинам выдавать ip адреса из своих диапазонов, и если они будут пересекаться, будут глюки. К сожалению нет красивого решения, как разграничить доступ к dhcp в разных подсетях, нужно ставить нормальный фаервол на обоих машинах (не уверен, сможет ли фаервол напрямую влиять на пакеты в сетевом мосту,. как минимум на windows нет).

Умные маршрутизаторы в локальной сети могут ограничить пакеты от устройств с 'неправильным' mac адресом, т.е. админстратор удаленной сети может запретить такое подключение. Не очень изучал, до какой степени эта защита работает, так как mac адрес можно изменить на клиенте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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