Jump to content

Recommended Posts

Posted

Уважаемые знатоки, доброго Вам времени суток.

 

Хотелось бы услышать мнение телеком’овцев, касательно следующего вопроса:

 

Через публичный Интернет, межу несколькими маршрутизаторами построенными на базе ОС FreeBSD и Linux,

необходимо построить «Site-to-Site VPN». Выбор пал между двумя решениями - OpenVPN и L2TP.

 

Шифрование и конвергентность (совместимость с CISCO и т.п.) практического значения не имеет.

Проходящий по VPN соединению трафик, исключительно L3 (без всяческих извращений).

 

Собственно вопросы:

1. Средствами, какого VPN соединения, можно обеспечить «прозрачное» транзитное прохождение L3

с MTU=1500, без дополнительных костылей в виде «обрезания» MSS на интерфейсе тоннеля?

 

2. Кто из вышеперечисленных работает «быстрее»? OpenVPN в режиме (TCP/UDP?) или L2TP?

 

 

Буду благодарен, за реальную рекомендацию, основанную на Вашем опыте эксплуатации.

Posted

Посмотрите еще tinc

 

P.S. openvpn и tinc будут использовать только 1 ядро процессора . L2TP не проверял.

MMM, доброго Вам времени суток.

 

Насколько я понял из беглого просмотра, Tinc VPN очень похож на OpenVPN,только конфигурируется немножечко проще,

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

 

В отдельном примере было бы хорошо сравнить производительность Tinc VPN и OpenVPN (конфигурация PSK),

но к сожалению у меня сейчас нет возможности собрать тестовый стенд.

Posted

Уважаемые знатоки, благодарю Вас за ответы.

 

Склоняюсь к решению на основе L2TP (без IPSec), хотя с OpenVPN знаком достаточно хорошо,

а вот L2TP на FreeBSD и Linux конфигурировать не доводилось.

 

Всегда стоит попробовать что-то новенькое, ещё раз спасибо за ответы! :)

Posted

Дело не в ядре процессора.

OpenVPN работает в юзерспейсе, для каждого пакета идут неоднократные переключения контекста.

Для l2tp же есть ядерные реализации. На фряхе это net/mpd5, например.

Posted

Через публичный Интернет, межу несколькими маршрутизаторами построенными на базе ОС FreeBSD и Linux,

необходимо построить «Site-to-Site VPN». Выбор пал между двумя решениями - OpenVPN и L2TP.

 

Из предложенного - однозначно L2TPv2. Относительно L3MTU=1500 - теоретически это возможно и over Internet, за счёт frag/defrag, но в целом идея плохая, никогда это к добру не приводит. Я ещё ни разу не видел чтобы mss adjust что-то ломал.

 

Ну а если это у вас внутри вашей сети и все линки ваши или на аренде можно поднять MTU, то просто поднимайте MTU и гоняйте честный L3MTU=1500 для полезных данных внутри l2tpv2

 

А вообще, судя по задаче, я бы вам рекомендовал IPIP-тунель или даже дефолтный GRE, если это построение l3vpn over public

Posted
Относительно L3MTU=1500 - теоретически это возможно и over Internet, за счёт frag/defrag, но в целом идея плохая, никогда это к добру не приводит.
Практика показала, что никаких сколь-нибудь существенных проблем это не вызывает.

 

Я ещё ни разу не видел чтобы mss adjust что-то ломал.
Он не ломает, просто не всегда от него есть толк.

Например, если в туннеле бегает трафик с ещё какими-нибудь шифрованными абонентскими туннелями, в которых mss уже не расковыряешь.

Посему я применяю такую тактику - для tcp делаю mss adjust, но если уж пролезли большие пакеты прочих протоколов - пропускаю как есть.

 

я бы вам рекомендовал IPIP-тунель или даже дефолтный GRE, если это построение l3vpn over public
l2tp имеет жирный плюс - работает на динамике и через нат.
Posted

OpenVPN работает в юзерспейсе, для каждого пакета идут неоднократные переключения контекста.

Для l2tp же есть ядерные реализации. На фряхе это net/mpd5, например.

rdc, доброго Вам времени суток.

 

Спасибо за информацию, я как раз читал пару статей, про работу сетевых приложений в "user space"

и "kernel space" режимах, собственно отсюда и возникло желание вместо OpenVPN использовать L2TPv2.

Но перед изменением чего либо, хотелось услышать авторитетное мнение людей, которые уже столкнулись

с данным вопросом на практике. :)

 

Со стороны FreeBSD, с демоном net/mpd5 доводилось сталкиваться (для организации PPTP VPN), а вот что

используется со стороны Linux (работающее с L2TPv2 в "kernel space" режиме) пока не изучил, но это

вопрос чтения разнообразных статей.

 

Относительно L3MTU=1500 - теоретически это возможно и over Internet, за счёт frag/defrag, но в целом идея плохая, никогда это к добру не приводит.

s.lobanov, доброго Вам времени суток.

 

Да, действительно VPN соединение строятся через публичный Интернет. Хотел бы понять,

в чём возможны «подводные камни» (в целом идея плохая), при фрагментации и последующей

дефрагментации инкапсулированного VPN трафика через публичный Интернет?

 

Насколько я понимаю, данная операция приводит к дополнительной нагрузке на маршрутизатор.

Или имеется в виду, что происходит "сильная задержка", из-за увеличения накладных расходов,

что может быть критичным для определённого вида трафика?

Posted
Хотел бы понять,

в чём возможны «подводные камни» (в целом идея плохая), при фрагментации и последующей

дефрагментации инкапсулированного VPN трафика через публичный Интернет?

 

Потеря одного пакета приравнивается к потере двух, кроме того, роутер будет какое-то время ждать остатки пакета хоть они и уже потерялись где-то.

Буфер фрагментаций тоже не бесконечный.

Posted

l2tp имеет жирный плюс - работает на динамике и через нат.

 

Ну я всё понимаю конечно, но строить site-to-site VPN over NAT провайдеру это уж совсем какой-то позор. Я понимаю, когда клиенты так делают, но для ISP это печаль.

Posted

Да, действительно VPN соединение строятся через публичный Интернет. Хотел бы понять,

в чём возможны «подводные камни» (в целом идея плохая), при фрагментации и последующей

дефрагментации инкапсулированного VPN трафика через публичный Интернет?

 

Насколько я понимаю, данная операция приводит к дополнительной нагрузке на маршрутизатор.

Или имеется в виду, что происходит "сильная задержка", из-за увеличения накладных расходов,

что может быть критичным для определённого вида трафика?

 

В целом, см. пост ShyLion. Но ещё могу добавить, что с операциями frag/defrag просто часто бывают баги у различных вендоров. Насколько оно стабильно у linux и freebsd я хз, но у всяких Cisco и прочего частенько оно глючит

Posted
что используется со стороны Linux (работающее с L2TPv2 в "kernel space" режиме
http://accel-ppp.org/

 

Но ещё могу добавить, что с операциями frag/defrag просто часто бывают баги у различных вендоров. Насколько оно стабильно у linux и freebsd я хз
Вполне стабильно.

 

Ещё есть такое решение - включить multilink и делать фрагментацию на уровне ppp.

При этом пакеты в инет уйдут без фрагментов - просто будет два l2tp пакета, а не один.

 

Ну я всё понимаю конечно, но строить site-to-site VPN over NAT провайдеру это уж совсем какой-то позор.
Во-первых, всякое бывает.

 

Пример - туннель кидается через интернет GPON-провайдера.

Эти коробки имеют аппаратный нат, но если переключать их в мост - трафик обрабатывается программно и никакого гигабита уже не получить.

А ещё бывает, что инженерный пароль от коробки неизвестен, а провайдер включать мост просто отказывается и всё.

 

Ещё пример - резервирование через LTE.

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

 

А во-вторых, кроме ната, есть ещё динамика.

И это не только отсутствие услуги статического ипа (опять же возвращаясь к резерву через LTE), но и возможность смены провайдера на удалённой точке без перенастройки. Удобно.

Posted

По опыту эксплуатации L2TP через разные LTE на микротиках (думаю актуально и для других софт решений):

Мегафон: - MTU 1500 работает нормально, мегафоновский нат нормально переваривает фрагментированные пакеты, но есть проблемы со стабильностью самого L2TP (видимо что-то опять где-то в нат-е залипает). PPTP стабильнее, но там MTU1450. Со статикой очевидно проблем не будет как и со стабильностью, так и с фрагментацией.

МТС: - NAT не отрабатывает фрагментацию и дропает пакеты.

Билайн: - где как, то пролезает, то дропает.

 

Вывод - получить MTU1500 - вещь сугубо индивидуальная.

Posted

Повторюсь - фрагментацию можно делать с помощью multilink ppp, и подобных проблем не будет.

Фрагменты один хрен нужно будет собирать кому-то.

Posted

Я уже приводил пример - клиенты гоняют свои шифрованные туннели, к трафику внутри которых mss adjust не применить.

В условиях, когда какой-нибудь долбоящер в интернете мог зарезать icmp, при этом ломается path mtu discovery и некоторые сайты перестают открываться.

 

Да и просто требовательный клиент может высказать претензию, что 1500 не пролезает.

 

Отсутствие фрагментации в ipv6 обходится с помощью multilink.

Posted

а какая производительность нужна?

 

первая ссылка в гугле по "openvpn pps":

https://forums.openvpn.net/viewtopic.php?t=12318

тут правда нет упоминания процессора, но в 2013 году 200k+ получалось в лабораторных условиях

edo, доброго Вам времени суток.

 

В моём случае, высокой производительности не требуется, каналы доступа в публичный Интернет,

поверх которых строится VPN, не превышают 50Мбит/с. Изначально соединяя софт-маршрутизаторы,

я использовал OpenVPN (режим Ethernet Bridging), руководствуясь возможностью прохождения L3MTU=1500

через тоннель и единообразной конфигурацией данного VPN на разных ОС.

 

Столкнувшись с достаточно высокой загрузкой CPU софт-маршрутизаторов, возникло желание перенастроить

OpenVPN в режим routing, изменив конфигурацию с RSA на PSK, что должно привести к снижению нагрузки.

Правда я не уверен, что в режиме routing OpenVPN позволяет прохождения L3MTU=1500 через тоннель.

 

Небольшой обзор различных форумов, подтолкнул меня к мысли в качестве альтернативы использовать L2TPv2,

благодаря форуму nag.ru я понял, что выбрал интересное и правильное направление для решения своей задачи. :)

Posted
Хотел бы понять,

в чём возможны «подводные камни» (в целом идея плохая), при фрагментации и последующей

дефрагментации инкапсулированного VPN трафика через публичный Интернет?

 

Потеря одного пакета приравнивается к потере двух, кроме того, роутер будет какое-то время ждать остатки пакета хоть они и уже потерялись где-то.

Буфер фрагментаций тоже не бесконечный.

ShyLion, доброго Вам времени суток.

 

Благодарю за прямой и простой ответ.

Posted

Во-первых, всякое бывает.

 

Пример - туннель кидается через интернет GPON-провайдера.

Эти коробки имеют аппаратный нат, но если переключать их в мост - трафик обрабатывается программно и никакого гигабита уже не получить.

А ещё бывает, что инженерный пароль от коробки неизвестен, а провайдер включать мост просто отказывается и всё.

rdc, доброго Вам времени суток.

 

Вы практически видите корень проблемы, именно из-за подобного и нет возможности использовать

классические IP-IP тоннели и т.п.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.