Настройка L2TP\IPSec VPN на Mikrotik
Трудно найти взрослого человека, который бы не ощутил бы на своей шкуре перемен, произошедших во время пандемии. Вот и в нашей небольшой конторе привычный ритм работы был совершенно сбит ограничительными мерами. В конце концов руководство поручило мне обеспечить переход всех сотрудников на удаленку. Пришлось засучив рукава браться за организацию связи домашних компьютеров и офиса.
Моей первоочередной задачей стало обеспечение безопасности соединения – конкуренты не дремлют, да и коммерческая тайна подчас становится понятием куда более серьезным, нежели может показаться рядовому работнику. Поэтому передо мной встала реальная необходимость выбора надежного протокола VPN.
Дано: выделенка на 100мбит и MikroTik Hex S в офисе и 4G модем + Hex S в распоряжении отдельного сотрудника, в среднем. В таких условиях я принялся за рассмотрение возможных вариантов.
Прежде всего на ум пришел PPTP – разработка корпорации Microsoft, относящаяся к числу старейших протоколов. С одной стороны, что немаловажно, PPTP обеспечивает достаточно высокую скорость и поддерживается любой версией Windows, а с другой – этот протокол из-за недостаточной надежности и конфиденциальности уже не рекомендуется самим разработчиком, да и при разрыве соединения восстанавливается довольно медленно, что может добавить лишней нервозности и без того непростым рабочим моментам.
Гораздо лучше с безопасностью дела обстоят в случае L2TP/IPSec, пришедшего в 1999 году на замену майкрософтовскому PPTP и L2F от Cisco. Стандартизация, поддержка большинства операционных систем, шифрование, простота настройки общепризнаны в качестве сильных сторон протокола. Однако безопасность, обеспечиваемая двойной инкапсуляцией данных, не лучшим образом сказывается на скорости передачи. Вторым минусом стала систематическая брандмауэрная блокировка используемого протоколом по умолчанию UDP порта 500.
Нельзя было обойти вниманием и OpenVPN, недаром пользующийся огромной популярностью. Востребованность его возникла не на ровном месте – ее подкрепляют многочисленные пройденные независимые проверки, высокая стабильность и скорость, а также способность работы не только с операционкой от Microsoft, но и с «яблочными» iOS и Mac Os, с Android и даже с Linux. Однако ситуацию несколько осложняет необходимость использования специализированного клиентского ПО.
Наконец, в качестве запасного варианта я добавил к своему списку SSTP, который слывет достаточно надежным при совместимости с Windows, а также с операционными системами Router и Linux. При всей своей стабильности и безопасности SSTP этот протокол вызвал у меня существенные опасения ограничением сферы использования – далеко не каждый VPN провайдер берется его поддерживать.
Прикинув все «за» и «против», решил опробовать L2TP/IPSec. Дело стало за малым – настроить протокол на микротике. Для начала создал отдельную подсеть для подключения клиентов через L2TP. IP-адреса персонально не назначал, автоматизировав выдачу из диапазона свободных, присвоив пулу само за себя говорящее название.
Пулы для локалки и клиентов L2TP, соответственно:
Настроил профиль сервера, указав имя, начало диапазона адресов и название пула, а также поставив галочку в соответствующей ячейке:
Настроил вкладку протоколов:
Потом создал юзера:
В графе профиля указал имя сервера.
Включил сервер и выбрал следующие настройки:
Чтобы фаерволл пропускал входящие соединения, настроил соответствующее правило открыв порты 1701, 500, 4500:
Создаю правило, позволяющее выйти в интернет при подключении к серверу L2TP:
Далее провел настройку подключения в Windows, чтобы соединение пошло сразу по нужному протоколу:
Для проверки подлинности вписал общий ключ, указанный при создании сервера.
Чтобы не нагружать роутер выбрал минимальные настройки шифрования в меню IP – IPSec:
Решил проверить результат, замерив скорость соединения, и тут меня ждал сюрприз! Если без VPN счетчик выдавал уверенные 30-40 Мбит/с, то через VPN скорость оказалась всего 100-200 кбит/с! Да как так то? Посмотрел нагрузку на процессоре - нулевая.
Нерадостный результат навел на мысли что МТС режет VPN соединения и это побудило меня испытать еще один вариант, настроить сервер на протоколе SSTP, но об этом в следующем посте.