LINUX.ORG.RU
ФорумAdmin

Opensource/free VPN решение для конечных устройств

 ,


0

3

Что посоветует ЛОР в 2021м году?

Задача: на внутренние сервисы пускать через vpn - с мобильных девайсов (ios, android и др.) (почта), с десктопов: web, почта и т.п.

Можно разные решения для десктопа и мобильных устройств.

Что сейчас наиболее допиленно?

★★★★★

Буду неоригинален: OpenVPN.

Потому что есть 'push'. Без этого функционала ынтерпрайз VPN нормально не построить. И нет, если клиент умеет либо маршрут по умолчанию в VPN, либо никак - это не ынтерпрайз. Обмазывать клиента дополнительно RIP/OSPF/BGP/whatever - это тоже не ок...

Wireguard неплох, но с автоконфигурацией конечных точек у него хреново(в managed-среде, когда есть ПОЛНЫЙ контроль как над клиентом, так и над сервером он вполне себе хорош).

IPSEC - сразу нет. site-to-site строить на нём - вполне себе ок, roadwarrior-ов поддерживать - адЪ.

tinc - хз, не щупал. Звучит красиво, но с автоконфигурацией там тоже не всё гладко(удаление ноды - дело нетрививальное). Плюс это уже mesh - а ты вроде спрашиваешь про классический клиент-серверный вариант...

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от anonymous

И в чем же ад?

В отправке разных маршрутных/DNS-параметров разным клиентам.

Ну и VPN «новой волны»(хотя какой OpenVPN новый?) подкупают тем, что используют стандартный TCP/UDP, который пролезет даже через провайдеров-мудаков. Да, я лично сталкивался с провайдером, который пропускал только TCP, ICMP и UDP, считая эти ваши GRE и ESP бесовской технологией...

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Ты точно про чистый ipsec говоришь? Может ты имеешь ввиду связку из *tp+ipsec? В чистом ipsec маршрутизация не нужна, т.к. можно использовать уже существующий пул локальной сети для предоставления адресов клиентам. Отсюда прямой доступ к любым локальным ресурсам. 👍

Про днс это спорно. Если серьезный Энтерпрайз у вас по-любому есть внешний сервак или по крайней мере форвардинг на нужный внутренний ресурс с внешнего адреса. Ну а если не серьезный, то ставь любой публичный и управлять ничем не надо. Как-то так. 🤷

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

В чистом ipsec маршрутизация не нужна, т.к. можно использовать уже существующий пул локальной сети для предоставления адресов клиентам.

Я вживую такую конфигурацию видел 3,5 раза и все эти 3,5 раза она нормально ВЕЗДЕ не работала, хотя просили как ТС - мобилы и прочую лабуду. Венда и линукс что характерно жевали подобное и не дудели, а вот там где начиналась макось и андроид(вот те раз, android!=linux) - начиналась жопа.

Если серьезный Энтерпрайз у вас по-любому есть внешний сервак

Конечно есть. Только с него нет доступа на ВНУТРЕННЮЮ DNS-зону. Которая есть только на ВНУТРЕННИХ серверах, кои, в свою очередь НЕ ИМЕЮТ доступа в Интернет.

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

Только с него нет доступа на ВНУТРЕННЮЮ DNS-зону. Которая есть только на ВНУТРЕННИХ серверах, кои, в свою очередь НЕ ИМЕЮТ доступа в Интернет.

Это какой-то частный случай, тс вряд ли из этих вот раз такие вопросы задает 🧐

Кстати, на маке ikev2 хорошо работает со времени эль капитана. Это вообще дефолтный рекомендованный впн. На айос тоже. 😎

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

Тут не помогу. А что ты там хочешь увидеть? Мы по старинке конфиги вручную правим - чуть меньше семидесяти клиентов, полет нормальный.

Хотя да, от какого-нибудь простенького веб-дашборда(со списком текущих подключенных клиентов) я бы может и не отказался, но пока хватает консольного management port.

Update: быстрый гуглинг показывать вот такое(осторожно, хабр). Выглядит норм, как оно на самом деле - хз.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от pekmop1024

Да, в статье на хабре о нём упоминали, но если ставить его только для VPN оно возможно немного overkill. Хотя может и нет, тут я не берусь утверждать, pfSense видел вживую очень давно и там он был в роли «жнец, швец и на дуде игрец»

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

У тебя openvpn на udp или tcp?

udp. Плюс исторически у нас tap(была еще инсталляция на tun в другой конторе, но я там уже не работаю), поэтому нерутованный Android в пролете(сразу предупреждаю - не делай так!)

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

Что там с iOS/MacOS сейчас - я хз

iOS - полёт нормальный. macOS - за 11 лет использования были случаи (больше одного) когда после обновления системы в клиенте ( Tunnelblink ) приходилось менять способы установки dns.

anc ★★★★★ ()

Кроме всего вышеописанного для небольших сторонних клиентов использую zerotier. Интересное решение, богатый функционал, удобство менеждмента.

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

Два разных демона держишь?

Ага.

Но смотрят в одинаковую папку с основными конфигами?

Не совсем, серты/ключи и каталог ccd с его содержимым одинаковые, конфиги разные. Можно было бы общую часть оставить в конфиге, а различающиеся параметры передавать в качестве параметров при запуске, но мне удобнее два конфига, один фиг править их нужно почти никогда.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от DALDON

Как пользователей аутотентифицируешь?

Развернут CA(на базе EJBCA) - там выписываю сертификаты и вставляю их в конфиг(который можно распространять одним файлом, что приятно)

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

И в чем же ад? 👿

В том что реализации в разных ОС совместимы только частично, и то что работает в случае одного RW - совершенно не работает в другом

zgen ★★★★★ ()

Если всеядность это основной критерий, то буду неоригинален - L2TP. Искаропки везде и штабилен. На второе место ставлю OpenVPN, который уже обсудили, только потому что надо ставить клиенты, они чудили на свежих мажорных версиях макоси (по словам пони), да и юзерспейс не люблю.

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

Что скажешь про ikev2, как анонимус советует..? :)

Сферически и практически работает. Из плюшек, то что он ядрючий и возможность «роутить» не только по ip, но и по портам. Из минусов, очень большая вариативность, именно из минусов. Но собственно это минус не конкретно ikev2, а ipsec в целом. Если по всяким десктопным/мобильным ОС информации полно, то вот с сохо начинаются пляски с бубном под названием «догадайся/выкури-из-логов, что же там захаркодили». Крайне «интересное» и «увлекательное» занятие, отдельно доставляет в условиях ограничения по времени, типа через N часов должно работать и не имеет. И вот спокойно настраиваешь, 1,2,3...N всё идет хорошо и тут фигак под завершение попадается чуть более другой...и понеслась...мозги пухнут, часики тикают...и вот ты внезапно обнаруживаешь, что вернуть «всё как было» уже не успеешь...

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

Понял! У меня аналогичная ситуация, только нужно в целом внедрить VPN :)

Спасибо за дельные советы! Особенно, про то, что openvpn + tcp, ровно мозготрах на мобильных. Сколько живу и юзаю - не думал что это так, так-как привык только на десктопе юзать…

DALDON ★★★★★ ()
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Не успел исправить свой пост. Дополню.
С выяснением «что хочет клиент» в macOS удобно. Там под капотом racoon, перед стартом соединения генерят конфиг в /private/var/run/racoon , открываем, смотрим :)

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

Огонь… Я полагал, что racoon это лютейшая древность из FreeBSD. В общем, попробую связку: ikev2 + LE + localdb.

Локальную базу, что бы были гарантировано разные пароли от корпоративных учеток и от VPN. Ибо соц. инженерия… Дело страшное.

Норм идея, если мне надо защитить корп. ресурсы?

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

Насколько опасно хранить пароли в файле, и пользовать eap-mschapv2?

Что-то типа такого:

rightauth=eap-mschapv2 # users are stored in /etc/ipsec.secrets
eap_identity=%any
DALDON ★★★★★ ()
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

ikev2

Советую сразу разные варианты настраивать.

+ LE

А LE зачем?

Локальную базу, что бы были гарантировано разные пароли от корпоративных учеток и от VPN.

Это однозначно.

Норм идея, если мне надо защитить корп. ресурсы?

Я ещё логи обрабатываю, ибо если юзер Вася соединился из ДС, а через полчаса из Владика, при этом Васе не давали доступ к кабине телепорта, то что-то тут не так. :)

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

Насколько опасно хранить пароли в файле

Не уверен, что распарсил вопрос правильно. Вы про логины с паролями пользователей в варианте хранения в ipsec.secrets? Опасно настолько, насколько вы не доверяете людям которые заходят под рутом на этот сервер.

и пользовать eap-mschapv2?

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

eap_identity=%any

Почему any ?

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

Спасибо!

Почему any ?

Пока это первый попавшийся how-to, собственно. ipsec это весьма сложно, мне пока в минимальном режиме понять куда там коней запрягать, собственно. https://draculaservers.com/tutorials/ikev2-vpn-strongswan-letsencrypt/

А LE зачем? Что бы клиенту не передавать сертификаты

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