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

Как организовать VPN для удаленных сотрудников без маршрутизации лишнего трафика?

Добрый день!
Такая ситуация.
Есть сервер с FreeBSD в качестве маршрутизатора. За ним сеть, в которой есть сервер терминалов под Windows.
До недавнего времени на FreeBSD был проброшен порт на сервер терминалов, чтобы сотрудники работающие вне офиса (дома, например), могли подключаться к серверу терминалов.
Пришли к тому, что это не безопасно.
Решили поднять VPN и убрать проброс порта.

Сделали так.
1. На FreeBSD подняли IKEv2-сервер net/strongswan с авторизацией через RADIUS.
2. Каждому сотруднику на домашнем компьютере настроили VPN-подключение встроенными средствами Windows (от 7 и выше, так как ниже нет поддержки IKEv2). В настройках подключения поставили галочку "использовать шлюз в удаленной сети".

Вопрос: как без граблей уйти от маршрутизации лишнего трафика сервером FreeBSD?
Уточню: хочу чтобы юзер с подключенным VPNом мог спокойно качать торренты через его канал интернета, минуя рабочий VPN-сервер, но при этом доступ к ресурсам внутренней сети предприятия (например, к серверу терминалов) должен осуществляться через VPN.

Понимаю, что смотреть нужно в сторону маршрутизации. Знаю, что можно вручную прописать маршруты на клиентских компьютерах, но не считаю, что это красивое решение. Может быть, возможно передать маршруты с сервера? На любую ли ОС?
Может быть, мы изначально выбрали некорректный путь?

Спасибо.
  • Вопрос задан
  • 1217 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 6
athacker
@athacker
В IPsec есть политики -- какой трафик заворачивать в туннель. Пропишите на серверной стороне IP-подсеть, в которых находятся ваши корпоративные ресурсы, и этот трафик автоматом у клиентов будет заворачиваться в туннель. Всё остальное будет идти мимо туннеля, напрямую через канал клиента.

Копать в сторону параметров leftsubnet/rightsubnet в конфиге strongswan.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
До недавнего времени на FreeBSD был проброшен порт на сервер терминалов, чтобы сотрудники работающие вне офиса (дома, например), могли подключаться к серверу терминалов.
Пришли к тому, что это не безопасно.
Решили поднять VPN и убрать проброс порта.
Зачем VPN для подключения к серверу терминалов?!5b6d8bf58116f249716219.jpegЧитайте
Ответ написан
@nevzorofff
Сетевик
Про галку вам написали.
А далее, чтобы был маршрут до севера терминалов на клиентском устройстве
1. создавать у них соединение через CMAK ( https://habr.com/post/186674/ ), и в нём настроить любые статические маршруты.
2. Включить у всех клиентов слушателя RIP а на фряхе запустить демона рип, чтобы раздавал маршруты.
Плюс второго решения - клиентам ничего не надо будет делать если у вас что-то поменялось.
Ответ написан
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
athacker написал правильную мысль, но, к сожалению, винда это винда.
windows клиент для VPN(кроме W10, судя по документации) по умолчанию направляет весь (0.0.0.0/0) трафик в туннель и это может привести к некоторым неработоспособным ситуациям.
По факту, с Windows единственное гарантированное работающее(без сюрпризов) решение - это использовать powershell коммандлет add-vpnconnectionroute который при поднятии VPN соединения подцепит правильный роут к нему.
Ну и соответственно создавать VPN соединение не руками а powershell скриптом.
Подробнее - в доках стронгсван https://wiki.strongswan.org/projects/strongswan/wi...
Ответ написан
Комментировать
fzfx
@fzfx
18,5 дм
у клиентов в свойствах подключения есть галка "использовать основной шлюз в удалённой сети". она должна быть снята. соответствующая команда в netsh тоже вроде как имеется. ну и совершенно точно имеется параметр для PS: -splittunneling.
5b6b0ad22f6e5687514473.png
Ответ написан
@soldrag
Press any key
А зачем вы поставили галочку "использовать шлюз в удаленной сети"? Если вам нужен доступ только к одному серверу терминалов или определенной подсети, то проще прописать один маршрут, а не использовать шлюз впн. В Windows это делается как "route add" и далее синтаксис команды можно почитать.
У меня правда была проблема, если добавлять статический маршрут, и впн обрывается по какой-то причине, то после восстановления соединения маршрут не работал. Я решил это просто планировщиком. На событие подключения впн в журнале событий, запускался скрипт, который удалял старые маршруты и прописывал новые.
Но это было давно. Может сейчас такой проблемы и нет.

Еще некоторые впн серверы сами могут пушить маршруты. Но не знаю как это будет работать со стандартным впн подключением Windows. Вроде OpenVPN такое умеет.

PS. Можно еще port knocking использовать. Если доступ нужен только к терминальному серверу.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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