LINUX.ORG.RU
ФорумAdmin

OpenVPN сервер на TCP/UDP одновременно

 , ,


0

1

Добрый день. Есть сервер с openvpn, есть проблема подключения к нему одного из офисов по UDP (не открываются некоторые сайты). По TCP все нормально работает у всех, но и по UDP у всех, кроме этого офиса все работает как надо. Подозреваю, что в этом офисе управляемые коммутаторы блокируют/модифицируют часть пакетов или даже не они, а маршрутизаторы. Но не суть, подключение по TCP для этого офиса меня вполне устраивает.

Не хотелось бы садить из-за этого остальных клиентов на TCP, т. к. у них и с UDP все норм.

Вопрос: как запускать openvpn сервер, чтобы он висел сразу и на TCP:1111 и на UDP:1111, т. е. чтоб у клиента номер порта не менять?



Последнее исправление: stiflerwen (всего исправлений: 1)

Надо запускать две инстанции сервера, т.к. каждая сможет либо только tcp, либо только udp

anonymous
()
Ответ на: комментарий от anonymous

Вот в скрипте запуска, который лежит в init.d, указана директория с конфигами, далее следует значение enable all, я правильно понимаю, что если я создам там точно такой же конфиг, только заменю tcp на udp, то openvpn будет запускаться в двух экземплярах?

И такой вопрос: клиенты, подключенные по tcp и udp смогут общаться между собой, или вышеобозначенный офис будет изолирован от остальных?

stiflerwen
() автор топика
Ответ на: комментарий от stiflerwen


И такой вопрос: клиенты, подключенные по tcp и udp смогут общаться между собой

Поскольку будет два интерфейса - то это как настроите сами маршрутизацию и фильтрацию на сервере.

zgen ★★★★★
()

ТС если нет конкретной привязки к openvpn то глянь в сторону SEVPN.

MikeDM ★★★★★
()
Ответ на: комментарий от anc

Вынеси в конфиг для tcp роутинг для этого офиса. Да и сети самого внп раздели.

Таак, с настройкой маршрутизации у меня все не очень хорошо, реквестирую пример, как в конфиг для tcp сделать роутинг для проблемного офиса (перед этим нужно создать отдельную сеть для этого офиса на стороне сервера, я так понимаю?)

Сейчас в обоих конфигах сеть стандартная для openvpn 10.8.0.0 255.255.255.0, то есть для tcp я делаю подсеть 10.8.1.0 255.255.255.0, настраиваю маршруты в обе стороны между этими сетями, с теорией все в порядке, хромает реализация на практике в части маршрутов.

ТС если нет конкретной привязки к openvpn то глянь в сторону SEVPN

К сожалению, нет, ибо все остальное уже настроено на использование openvpn'а.

stiflerwen
() автор топика
Ответ на: комментарий от stiflerwen

Сейчас в обоих конфигах сеть стандартная для openvpn 10.8.0.0 255.255.255.0, то есть для tcp я делаю подсеть 10.8.1.0 255.255.255.0

Ага. Так как твоих конфигов мы не знаем, самое простое посмотри в текущем конфиге упоминания о сети офиса и перенеси в конфиг для tcp
если в fw никаких особых правил нет то вроде должно работать.

anc ★★★★★
()
Ответ на: комментарий от stiflerwen

Создаешь второй конфиг с TCP и скрипт запуска его подхватит и запустит два openvpn. Клиенты смогут общаться друг с другом без проблем, так как тут определяется только по какому протоколу будет работать само соединение клиент-сервер, а не VPN сеть.

smserg
()
Ответ на: комментарий от smserg

То есть по сути 2 сервера будут обслуживать одну впн сеть? Мне кажется, создается 2 сети с одинаковой адресацией и между собой они не взаимодействуют (по крайней мере у меня)

stiflerwen
() автор топика

А может попробовать поиграться с параметрами MTU? Нужно задать на сервере и клиенте:

tun-mtu 1460
mssfix 1420 

Цифры - примерные, важно, что mssfix=tun-mtu - 40. На клиенте можно задать mtu-test, но тогда клиент будет долго подключаться.

Из очевидных минусов - придется перенастраивать все клиенты, так что, быть может, действительно проще сделать отдельный сервер и повозиться с маршрутизацией.

tekuchev
()
Ответ на: комментарий от tekuchev

Кстати да, только поправлю, параметры tun-mtu и mssfix достаточно прописать на клиенте.
ТС обрати внимание, возможно этого вполне хватит.

anc ★★★★★
()
Ответ на: комментарий от tekuchev

Я уже играл с этими параметрами, пакеты либо пропадают вовсе, либо ничего не меняется. В нормальной сети при помощи mtu-test опенвпн сам, конечно, в состоянии определить оптимальное значение mtu, однако, если режется часть ICMP пакетов (что по-моему в данном случае и происходит), параметры нужно подбирать в ручную, при этом делать это рекомендовано как на клиенте, так и на сервере.

И да, сервер начинает шатать, если две одинаковые подсети (с одинаковым адресным пространством) обслуживаются как по TCP, так и по UDP, видимо, он хочет, чтобы адреса таки были разные у сетей.

Посему буду вкуривать, как заставить сети 10.8.0.0 и 10.8.1.0 видеть друг друга.

stiflerwen
() автор топика
Ответ на: комментарий от stiflerwen

Посему буду вкуривать, как заставить сети 10.8.0.0 и 10.8.1.0 видеть друг друга.

Я уже выше писал, если fw не запрещено, то работать будет.
А вообще я так понимаю тебе же в основном не эти сети нужны, а сети самих офисов.

anc ★★★★★
()
Ответ на: комментарий от stiflerwen

Предположим что подсеть в интересующем офисе 192.168.0.0/24
Из существующего конфига выпили упоминание о ней, а в конфиге второй копии наоборот только ее и оставь, а остальные офисы выпили. Вроде все.

anc ★★★★★
()
Ответ на: комментарий от stiflerwen

если режется часть ICMP пакетов

Внутри VPN-канала режется часть пакетов? Какая прелесть! Может там добрый провайдер часть UDP-пакетов, выкидывает как низкоприоритетный трафик? Ну это уже фантазии)

Посему буду вкуривать, как заставить сети 10.8.0.0 и 10.8.1.0 видеть друг друга.

Надеюсь, что уже получилось) Мне кажется, что должно быть как-то так:

Для сервера, который держит сеть 10.8.0.0/24

route 10.8.0.0 255.255.255.0
push «route 10.8.1.0 255.255.255.0»
push «route 10.8.0.0 255.255.255.0»

А для сервера, который держит сеть 10.8.0.1/24

route 10.8.1.0 255.255.255.0
push «route 10.8.1.0 255.255.255.0»
push «route 10.8.0.0 255.255.255.0»

Это если нет NAT или еще каких-фильтров, иначе надо и их подкрутить.

tekuchev
()
28 сентября 2015 г.
Ответ на: комментарий от stiflerwen

решение рабочее, если нужно-таки объединение в одну подсеть и есть статические ip для каждого клиента. находил более изощрённые варианты роутинга, но мне подошло это решение

http://thomas.gouverneur.name/2014/02/openvpn-listen-on-tcp-and-udp-with-tun/

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.