Задать вопрос

Как сделать маршрут между клиентами OpenVPN на Ubuntu?

Настроил на Ubuntu OpenVPN сервер с сетью 10.8.0.0/24. Клиенты подключаются к этому vpn. Но есть один особенный клиент с адресом 10.8.0.5, который имеет выход в интернет. Нужно, чтобы все запросы от клиентов vpn сервера направлялись к этому особенному клиенту 10.8.0.5.
Я пытался прописывать в конфиге push "route 10.8.0.5 255.255.255.0", пытался и на клиентских устройствах вручную указывать default gateway 10.8.0.5, но все без толку, на клиент 10.8.0.5 не приходит ничего (вижу это через мониторинг на этом клиенте). Хотя если зайти с других клиентов на адрес 10.8.0.5, то открывается в браузере веб-интерфейс этого клиента Т.е. если обратиться именно к нему, то запрос доходит до него, а если обращаться к другим адресам, то запросы не идут к этому клиенту (хотя должны).
Как сделать, чтобы вообще все запросы направлялись к клиенту 10.8.0.5?
  • Вопрос задан
  • 717 просмотров
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
в самом линухе пропиши что-то навроде

route add 0.0.0.0 10.8.0.5

смотри тут разные примеры синтаксиса
https://ru.linux-console.net/?p=14292
Ответ написан
Комментировать
Bermut
@Bermut
Жертва домашней лаборатории
Прошу не слушать ответ Dimonchik, это работает немного иначе.

Если нам требуется маршрутизировать подсеть через одного из клиентов, то делается это следующим образом -
В конфиге ovpn сервера задается ccd папка, в этот папке должен быть файл с названием клиента(или названием сертификата, если выпускался при помощи easyrsa), следующего содержания -
iroute <subnet address> <netmask>
example: iroute 192.168.0.0 255.255.255.0

После уже пишем маршрут в таблицу -
ip r a 192.168.0.0/24 dev tun0

В случае данного вопроса, требуется сделать default gateway, что немного сложнее, и я вообще неуверен, что через openvpn это можно сделать, но можно попробовать так:
В ccd создаем файл клиента такого содержания: iroute 0.0.0.0 0.0.0.0
Дальше создаем таблицу маршрутизации: ip ru a table 1 fwmark 1
Пишем в нее маршрут: ip r a default dev tun0 t 1
Создаем правила iptables -
iptables -t mangle -A PREROUTING -s 10.8.0.0/24 -m conntrack --ctstate new -j CONNMARK --set-xmark 1
iptables -t mangle -A PREROUTING -m connmark --mark 1 -j MARK --set-mark 1

Так же должен быть разрешен трафик между клиентами.

Возможно я упустил что-то, так как писал на память, но, повторюсь, скорее всего из ovpn клиента на сервере невозможно сделать default gateway.
Ответ написан
Ваш ответ на вопрос

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

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