Как настроить vpn между двумя роутерами

Обновлено: 06.07.2024

Безопасный удаленный доступ к сервисам в локальной сети.

VPN (англ. Virtual Private Network, «виртуальная частная сеть») — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например Интернет).

Наиболее популярные решения с открытым исходным кодом для построения виртуальных частных сетей — «OpenVPN» и «IPSec». В релиз ядра Linux 5.6, который состоялся 30 марта 2020 года, вошла еще одна реализация технологии VPN — «WireGuard». Это молодой набирающий популярность проект.

Основные преимущества «WireGuard»:

  • Высокая производительность (бенчмарки можно посмотреть тут)
  • Простая настройка
  • Современная криптография
  • Качественный код

В этой инструкции мы настроим VPN-туннель в локальную сеть с помощью «WireGuard» и обеспечим доступ из интернета к узлам LAN с различных устройств.

Адресация в LAN - 192.168.100.0/24, VPN-сети назначим диапазон 10.0.0.0/24.

Для размещения сервера потребуется VPS. При выборе необходимо обратить внимание на технологию виртуализации: предпочтительно KVM, можно XEN, а вот OpenVZ следует избегать. Дело в том, что в WireGuard реализован как модуль ядра, а в OpenVZ ядро очень старое. Я буду использовать самый дешевый виртуальный сервер c операционной системой Ubuntu 20.04 (KVM 512 МБ RAM 20 ГБ SSD 1 CPU - такая конфигурация вполне подойдет).

Залогинимся на сервер с правами пользователя root и выполним следующие команды:

Создадим конфигурационный файл /etc/wireguard/wg0.conf со следующим содержимым:

[Interface] Address = 10.0.0.1/24 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 51820 PrivateKey = <SERVER_PRIVATE_KEY>

Параметры PostUp/PostDown содержат правила iptables, которые будут применены при запуске/остановке сервиса. Обратите внимание на название сетевого интерфейса — оно должно соответствовать общедоступному сетевому адаптеру, в моем случае это eth0. Вывести список адаптеров можно командой:

Выберите из списка тот, которому соответствует внешний IP-адрес. <SERVER_PRIVATE_KEY> - заменяем содержимым файла /etc/wireguard/privatekey.

Запустим VPN-сервис и добавим его в автозагрузку:

Убедимся, что служба запустилась корректно:

Если ваш роутер поддерживает WireGuard (Zyxel KeeneticOS >=3.3, Mikrotik RouterOS >=7.1beta2, OpenWRT) — можно настроить VPN-клиент прямо на нем. Я буду использовать для этой цели сервер Ubuntu 20.04 (локальный адрес 192.168.100.7).

Первый этап настройки аналогичен конфигурации серверной части. Выполняем с правами root-пользователя:

[Interface] PrivateKey = <PEER_LAN_PRIVATE_KEY> Address = 10.0.0.2/32 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wlp2s0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wlp2s0 -j MASQUERADE [Peer] PublicKey = <SERVER_PUBLIC_KEY> Endpoint = <SERVER_IP>:51820 AllowedIPs = 10.0.0.0/24 PersistentKeepalive = 20

<PEER_LAN_PRIVATE_KEY> — заменяем содержимым /etc/wireguard/privatekey, <SERVER_PUBLIC_KEY> — /etc/wireguard/publickey с сервера, <SERVER_IP> — внешний IP-адрес сервера. Правила iptables в PostUp/PostDown необходимы для того, чтобы наш клиент выступал в роли шлюза в LAN. Указываем в правилах тот сетевой интерфейс, на который назначен локальный адрес (192.168.100.7, в моем случае это wlp2s0). Уточните его путем исполнения команды:

В параметре AllowedIPs задаются адреса, маршрутизация к которым будет осуществляться через VPN-интерфейс. В поле PersistentKeepalive — периодичность проверки доступности соединения в секундах. Запускаем службу и добавляем в автозагрузку:

На сервере добавляем в файл /etc/wireguard/wg0.conf блок:

Где <PEER_LAN_PUBLIC_KEY> — /etc/wireguard/publickey клиента. Перезапустим службу и убедимся, что все настроено корректно:

Проверим теперь с клиента:

Сборки WireGuard доступны для основных платформ: Linux, Windows, Mac, Android, FreeBSD, OpenWRT и др. Рассмотрим настройку VPN-клиента на десктопах под управлением Linux и Windows, а так же на Android-смартфоне.

На клиенте выполняем с правами root:

Конфигурационный файл /etc/wireguard/wg0.conf:

<PEER_1_PRIVATE_KEY> — заменяем содержимым /etc/wireguard/peer_1_privatekey, <SERVER_PUBLIC_KEY> — /etc/wireguard/publickey с сервера.

Обратите внимание на строку «AllowedIPs = 0.0.0.0/0» - в данной конфигурации весь трафик будет маршрутизироваться через VPN-адаптер. Это может понадобиться для сокрытия реального IP при работе в интернет или для защиты трафика при подключении к недоверенным сетям (например публичные Wi-Fi точки доступа). В этом случае указываем «DNS = 8.8.8.8» (8.8.8.8 - DNS-сервер Google), чтобы DNS-запросы выполнялись через защищенное VPN-соединение.

Если VPN-туннель необходим только для доступа к LAN 192.168.100.0/24 - убираем строчку «DNS = 8.8.8.8» и в параметре AllowedIPs меняем «0.0.0.0/0» на «10.0.0.0/24, 192.168.100.0/24».

На сервере в конфигурационный файл /etc/wireguard/wg0.conf добавляем блок:

. [Peer] PublicKey = <PEER_1_PUBLIC_KEY> AllowedIPs = 10.0.0.3/32

Где <PEER_1_PUBLIC_KEY> — содержимое файла /etc/wireguard/peer_1_publickey клиента и перезапускаем службу:

Возвращаемся на клиент и проверяем доступность узлов в LAN через VPN-туннель:

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

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

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

Ситуация: Санкт-Петербург, офис и дом.

Офис: очень маленький бизнес-центр (всего 7 офисов), интернет берет у Матрикса (провайдер такой, вроде у них есть внешний статический IP, но уточнить не у кого (!). Также не у кого узнать, как Матрикс дает интернет – через VPN или нет. Кабель от Матрикса воткнут в неизвестный роутер (доступа к нему у меня нет), ЗА НИМ мой IP шлюз (по-моему LynkSys SPA 3102, не помню, могу уточнить), ЗА НИМ мой роутер Dlink DI 524 (да, вот такой раритет – но не глючит и свою работу выполняет). От неизвестного роутера кабель воткнут в WAN порт IP шлюза, затем из IP шлюза, из порта LAN кабель воткнут в WAN порт моего роутера. Роутер раздает интернет компьютерам в сети по проводам и через WiFi (6 компьютеров). Роутер находится в DMZ у IP шлюза.
Дом: интернет от InterZet (не через VPN), роутер TP-LINK WR841ND. Роутер раздает по WiFi интернет ноутам и планшетам и объединяет их в сеть. Внешнего IP нет.
То есть сейчас есть 2 нормально работающие сети, в каждой сети компьютеры без ограничения пользуются расшаренными папками и сетевыми принтерами друг друга.
Осознаю, что без внешнего IP адреса VPN поднять сложно или никак, поэтому дома собираюсь купить внешний статический IP. Также уже купил для дома новый роутер, который умеет работать VPN сервером – ASUS RT-N66U. Все оборудование принадлежит мне, могу переносить его в офис и обратно и ставить где хочу.
Передо мной стоит задача: объединить дом и офис VPN туннелем так, чтобы:
1. Все компьютеры дома и в офисе были в одной сети и могли без ограничений пользоваться расшаренными папками и другими сетевыми ресурсами друг друга.
2. Каждая физическая сеть пользовалась своим интернетом (то есть интернет через VPN не нужен).
3. VPN туннель должен быть именно между роутерами.
4. К объединенной VPN туннелем сети можно было подключаться с любого windows компьютера без установки дополнительных клиентов.
5. В USB порт домашнего роутера будет воткнут USB HDD, он должен работать как NAS и быть виден из обеих физических сетей как сетевой диск (я осознаю, что скорость доступа будет невысокой).
Есть ли возможность на имеющемся оборудовании решить поставленную задачу? Если нет – какое оборудование еще нужно докупить? VOip шлюз выкидывать нельзя.
И, если можно, как настроить роутеры и по какому протоколу поднимать туннель?
Буду в высшей степени благодарен за любую ценную информацию, критику и все, что поможет решить задачу.

Как настроить VPN на роутере: интернет без ограничений

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

Что такое VPN и зачем он нужен

VPN (Virtual Private Network, виртуальная частная сеть) — технология, позволяющая организовать локальную сеть поверх другой сети (чаще всего интернета). Чтобы пояснить, приведем такой пример. Допустим, вы военнослужащий срочной службы и хотите написать письмо девушке. Вы не собираетесь выдавать каких-либо секретов, но вам наверняка будет неприятно, что вашу переписку будут читать военные цензоры. Поэтому вы идете к прапорщику Семенову и договариваетесь с ним, что он будет отправлять ваши письма с городского почтового ящика. Семенов предлагает также, чтобы девушка писала ответы на адрес его городской квартиры, а он будет носить эти письма вам. Таким образом, прапорщик организовал виртуальную частную почту поверх обычной почты.


VPN-сервисы делают то же самое, подменяя ваш IP-адрес адресом своего сервера, зачастую расположенного в другой стране. Трафик между вами и VPN-сервером зашифрован, поэтому никто, даже ваш провайдер, не сможет определить, на какие сайты вы ходили и что там делали. Минус такой схемы в том, что бесплатные VPN-сервисы не отличаются высокой скоростью, да и уровень предоставляемой ими конфиденциальности зачастую сомнителен. А надежные и высокоскоростные VPN-сервисы требуют хоть и небольшой, но регулярной оплаты — в среднем, 2-5 долларов в месяц. Ну, так ведь и прапорщик Семенов вряд ли будет носить чужие письма «за спасибо».

Зачем подключать роутер к VPN

Подключить компьютер к VPN несложно. Вам не нужно разбираться, «как все устроено», достаточно скачать с сайта провайдера VPN-сервиса специальную утилиту, запустить ее, ввести полученные при регистрации логин/пароль — и все. Но при этом «свободный Интернет» будет только на этом компьютере. Все остальные устройства — пусть даже и подключенные к тому же роутеру — будут по-прежнему «под колпаком». Можно, конечно, установить ту же утилиту на все остальные компьютеры, а на смартфоны — аналогичные мобильные приложения (которые тоже можно скачать с сайта провайдера сервиса). Но это слишком хлопотно, намного удобнее подключить через VPN сам роутер. Правда, тут уже потребуется немного разобраться.


Во-первых, не всякий роутер в принципе может работать VPN-клиентом. Если настроить подключение не удается, то вполне возможно, что прошивка вашего роутера просто не позволяет подключаться к VPN-серверу поверх обычного интернета. В этом случае можно воспользоваться альтернативной прошивкой для роутеров DD-wrt или Tomato, но это потребует определенных знаний и навыков.

Во-вторых, многие, способные подключаться к VPN, роутеры предлагают небольшой выбор протоколов для подключения (OpenVPN, PPTP, L2TP и т.д.), а иногда выбора нет вообще и доступный протокол только один. Если вы подсоединяетесь к определенному VPN-серверу, убедитесь, что у него найдется хотя бы один общий протокол с вашим роутером.

Как подключить роутер к VPN

Зайдите в веб-интерфейс роутера, как это описано в руководстве по эксплуатации (обычно он находится по адресу 192.168.0.1 или 192.168.1.1). Если в меню найдется раздел «VPN-клиент», воспользоваться следует именно им — ваш роутер подготовлен для работы с VPN, и никаких проблем не предвидится.


Если такого раздела нет, попробуйте создать новое WAN-подключение. Для этого надо найти пункт меню «WAN» или «Internet». Иногда этот пункт расположен в корневом меню, иногда — в разделах «Connections», «Network» или «Settings». На открывшейся странице следует создать новое подключение и выбрать необходимый протокол.


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

При выборе PPTP и L2TP вам потребуется ввести данные, полученные от VPN-сервиса при регистрации: адрес сервера, пароль и логин. Иногда также требуется ввести IP-адреса DNS-серверов. Также следует задать получение IP-адреса от сервера (Dynamic IP).


Поищите на сайте VPN-сервиса описание настроек роутеров — даже если вашей модели там нет, посмотрите какие именно параметры требуется ввести.

При выборе OpenVPN вам может потребоваться загрузить конфигурационный файл с расширением .ovpn — он содержит настройки, относящиеся к конкретному серверу. Этот файл также можно загрузить с сайта VPN-сервиса.


Сохраните настройки и дождитесь подключения к WAN (возможно, потребуется перезагрузка роутера). Если подключения не происходит, попробуйте отключить в настройках роутера IPv6, найти опцию VPN Passthrough и убедиться, что она включена или отключить NAT для клиентов.

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

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

В прошлых материалах мы уже коротко рассматривали типы VPN и обращали внимание на неоднозначность используемой терминологии, традиционно термином VPN называют клиент-серверные соединения, где кроме туннельного протокола применяются вспомогательные технологии для установления соединения и контроля его состояния, аутентификации пользователя, согласования параметров подключения и т.д. и т.п. Одним из таких протоколов является PPP.

В рамках данной статьи мы будем рассматривать варианты настройки Mikrotik именно в качестве клиента для поддерживаемых типов VPN-серверов, оставив за кадром туннельные подключения (GRE, IP-IP, EoIP и т.д.). Для работы с этим типом соединений используется специальный раздел PPP, на закладке Interfaces которого можно добавить сетевой интерфейс для нужного типа VPN-клиента. Поддерживаются PPTP, L2TP, SSTP и OpenVPN подключения. Также в списке присутствуют устаревший PPP и PPPoE, который используется для организации доступа в интернет, в данном контексте эти протоколы интереса не представляют.

mikrotik-vpn-client-002.jpg

Также аналогичные действия можно выполнить и в разделе Interfaces, никакой разницы откуда вы будете добавлять сетевой интерфейс нет. Но не будем спешить и перейдем на закладку Profiles, где находятся профили используемые при коммутируемых подключениях. По умолчанию созданы два профиля: default и default-encryption, в которых содержатся некоторые настройки для подключения. Почему некоторые? Потому что большинство опций подключения задаются сервером и клиент должен применять именно их, иначе подключение будет невозможным. Поэтому если вы заглянете в эти профили, то увидите, что большинство настроек там не активно.

mikrotik-vpn-client-003.jpg

Единственным различием двух профилей является опция Use Encryption, которая в default-encryption установлена в положение yes и требует обязательного шифрования подключения. Данная опция игнорируется протоколами SSTP и OpenVPN, которые всегда используют шифрованные подключения.

Означает ли это, что если мы выберем профиль default, то ваше соединение не будет шифроваться? Нет, если сервер использует шифрование и не допускает небезопасных подключений, то ваше соединение также будет зашифровано. Но вот если сервер разрешает небезопасные подключения, то клиент вполне может подключиться без шифрования, таким образом можно осуществить атаку с подменой сервера, когда вы получите незашифрованное подключение и не будете знать об этом. Поэтому если вам явно требуется шифрование канала всегда выбирайте профиль default-encryption.

Мы не советуем менять настройки в стандартных профилях, если вам нужно явно задать иные настройки подключения, то создайте собственный профиль. Также учтите, что опция Use Compression игнорируется для OpenVPN соединений, которые в реализации от Mikrotik не могут использовать сжатие трафика.

PPTP-клиент

Пожалуй, это самый простой в настройке тип соединений. Несмотря на то, что используемое в PPTP шифрование не является надежным, этот протокол продолжает широко использоваться благодаря низким накладным расходам и высокой скорости работы, например, для доступа в интернет.

Для настройки PPTP клиента добавьте интерфейс типа PPTP Client и перейдите на закладку Dial Out, где расположены сетевые настройки.

mikrotik-vpn-client-004.jpg

Настроек немного, и они просты. В поле Connect To укажите FQDN или IP-адрес VPN-сервера, в поля User и Password - имя пользователя и пароль. В Profile выбирается в зависимости от необходимости шифрования нужный профиль. В самом низу рядом с опцией Allow (разрешить) указаны допустимые к использованию протоколы аутентификации, на сегодня безопасным считается только MS-CHAP v2 и следует использовать по возможности только его. Однако помните, что используемый протокол аутентификации должен поддерживаться сервером, в противном случае установить связь вы не сможете.

Опция Keepalive Timeout указывает время переподключения соединения в случае обрыва связи. Бытует мнение, что лучше делать это значение поменьше, мол быстрее будет переподключаться туннель. Но это не так, во-первых, при неполадках на сервере вы будете активно забивать канал и нагружать сервер служебным трафиком, а во-вторых, при кратковременных перебоях связи короткое время будет вызывать переподключение с обрывом всех соединений в канале, а большее значение позволит сохранить туннель. Особенно это актуально для мобильного интернета или беспроводных каналов.

Опция Add Default Route создаст маршрут по умолчанию через туннель, т.е. направит туда весь исходящий трафик, указывайте ее только в том случае, если данный туннель основной способ доступа в интернет.

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

L2TP-клиент

Говоря про L2TP, обычно подразумевают L2TP/IPsec, потому как без шифрования данный протокол в корпоративной среде не используется. Но есть и исключения, некоторые провайдеры, например, Билайн, используют чистый L2TP без шифрования. В этом случае настройки подключения будут выглядеть так:

mikrotik-vpn-client-005.jpg

Обратите внимание на используемый профиль - default, так как соединение не зашифрованное, с профилем default-encryption вы не сможете подключиться к серверу провайдера. Add Default Route ставим только если это основное соединение с интернет. Также имеет смысл использовать опцию Allow Fast Path, для разгрузки CPU, особенно на младших моделях, но учтите, что с данной опцией соединение может работать неустойчиво, в таком случае ее придется отключить.

Для работы с L2TP/IPsec настройки будут немного иные, во-первых, используем профиль default-encryption и включаем использование IPsec установкой флага Use IPsec, при этом становится активным поле IPsec Secret, куда вводим предварительный ключ.

mikrotik-vpn-client-006.jpg

Опция Allow Fast Path при использовании IPsec игнорируется и в ее установке нет никакого смысла, так же не забывайте про опцию Add Default Route, в большинстве корпоративных сценариев устанавливать ее не следует.

Вроде бы тоже ничего сложного в настройках L2TP/IPsec нет, но если вы попытаетесь подключиться к Windows Server, то у вас ничего не получится. В чем же дело? А дело в настройках IPsес, перейдем в IP - IPsec - Proposal и откроем настройку по умолчанию. Proposal или предложение IPsec содержит список алгоритмов защиты канала, которые устройство предлагает для установления соединения. Понятно, что для успешного установления канала поддерживаемые методы защиты должны совпадать.

mikrotik-vpn-client-007.jpg

В предложении IPsec по умолчанию обращаем внимание на опцию PFS Group, она отвечает за применение технологии совершенной прямой секретности (Perfect forward secrecy, PFS), которая предусматривает создание уникальных сессионных ключей по алгоритму Диффи-Хеллмана, что делает невозможным расшифровку перехваченного IPsec трафика даже при наличии долговременных ключей (в данном случае предварительного ключа).

Windows Server по умолчанию не поддерживает совершенную прямую секретность, поэтому PFS Group нужно выставить в состояние none, после чего соединение успешно установится.

Обратите внимание, что в данном случае мы изменили настройку по умолчанию, но в данном случае это оправдано. Настройки IPsec достаточно сложны и вряд-ли человек не имеющий опыта работы с данной технологией сможет все правильно настроить с первого раза. Но это изменение следует учитывать при создании других соединений, использующих IPsec и приводить настройки с обоих сторон к общему виду.

Хотя более правильным является создание своего предложения (Proposal) и политики (Police) для каждого соединения, но эта тема далеко выходит за рамки статьи.

SSTP-клиент

На что следует обратить внимание при настройке? Давайте сначала посмотрим на окно настроек:

mikrotik-vpn-client-008.jpg

Как видим, появилась опция Port, где мы можем указать порт подключения, по умолчанию это 443, но можно использовать и любой иной, если 443 порт занят, например, веб-сервером. Также SSTP может прекрасно работать через прокси, в этом случае вам потребуется указать адрес прокси-сервера и используемый им порт в опциях Proxy и Proxy Port.

Также вспоминаем, что SSTP всегда использует шифрование канала, поэтому оно будет работать вне зависимости от выбранного профиля, в данном случае default и default-encryption будут работать одинаково.

Теперь перейдем к специфичным для протокола настройкам, которые мы обвели зеленой рамкой. Поле Certificate используется для указания клиентского сертификата в том случае, если сервер использует аутентификацию по сертификатам, в этом случае его потребуется загрузить на устройство и импортировать в разделе System - Certificates. Во всех остальных случаях в поле должно стоять none.

TLS Version указывает на допустимые к использованию версии TLS, однако это определяется сервером, но следует стараться использовать только протокол TLS 1.2, что позволяет исключить атаки с понижением протокола.

Опция Verify Server Certificate не является обязательной, но позволяет проверить подлинность сервера, исключая атаки типа человек посередине, для этого потребуется импортировать на Mikrotik сертификат центра сертификации (СА) выдавшего сертификат серверу.

Опция Verify Server Address From Certificate позволяет убедиться, что IP-адрес подключения соответствует адресу для имени, указанного в сертификате. Также не является обязательной, но позволяет дополнительно убедиться, что подключаетесь вы именно к тому серверу.

Установка флага в поле PFS включает совершенную прямую секретность, но эта опция должна поддерживаться со стороны сервера.

OpenVPN-клиент

Реализация OpenVPN в Mikrotik вызывает много нареканий, так как сводит на нет все сильные стороны данной технологии и делает ощутимыми слабые. OVPN-клиент не поддерживает сжатие данных и работу по протоколу UDP, если первое не столь значимо на современных каналах, то OpenVPN поверх TCP имеет очень большие накладные расходы и вызывает как повышенную нагрузку на оборудование, так и плохую утилизацию канала. Поэтому от использования OpenVPN на Mikrotik по возможности следует отказаться.

Обычно комплект для подключения OpenVPN клиента составляют сертификат СA, сертификат и закрытый ключ клиента, конфигурационный файл. Нам понадобятся только сертификат и ключ клиента, а если мы хотим проверять подлинность сервера, то еще и сертификат CA, но он не является обязательным для настройки подключения.

Прежде всего загрузим сертификаты и ключи на Mikrotik, затем перейдем в System - Certificates и импортируем сертификат клиента. Он появится в списке сертификатов и напротив него будет буква T, что обозначает trusted, т.е. устройство доверяет этому сертификату. Затем импортируем ключ, здесь важно соблюдать именно эту последовательность, сначала сертификат, потом ключ.

mikrotik-vpn-client-009.jpg

После успешного импорта ключа флаги сменятся на KT, где буква K обозначает наличие закрытого ключа для сертификата. Затем аналогичным образом импортируем сертификат CA сервера, импорт ключа для данного сертификата не нужен. Закрытый ключ CA является самой большой тайной и должен хранится с соблюдением всех мер предосторожности и не при каких обстоятельствах не должен покидать узел СA (центра сертификации).

mikrotik-vpn-client-010.jpg

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

mikrotik-vpn-client-011.jpg

Но сначала коснемся опций User и Profile. Первая используется только в случае аутентификации на сервере по имени и паролю, большинство OpenVPN серверов такой тип аутентификации не используют и в этом поле вы можете написать все что угодно, просто оно должно быть заполнено. Профиль также не имеет значения, так как OpenVPN всегда шифрует канал, а опцию сжатия игнорирует.

Mode задает режим работы канала, в терминах OpenVPN ip - это tun (L3), а ethernet - это tap (L2), следует помнить, что режим работы определяется сервером. В поле Certificate укажите импортированный сертификат клиента. Опции Auth и Cipher указывают на используемые сервером криптографические алгоритмы для аутентификации и шифрования, если вы укажете отличные от указанных в конфигурации сервера - то соединение установить не удастся. Если алгоритм аутентификации явно не указан в конфигурации сервера, то по умолчанию используется SHA1.

При настройке OpenVPN клиента на Mikrotik следует помнить, что сервер должен поддерживать соединения по протоколу TCP, без сжатия и TLS-аутентификации, в противном случае подключиться к серверу не удастся.

Опция Verify Server Certificate позволяет проверить подлинность сертификата сервера, что защищает от атак типа человек посередине, но требует импорта сертификата CA сервера.

Маршрутизация

Если VPN соединение используется для доступа к корпоративной сети или предназначено для связи сетей, то вам потребуется указать маршруты для правильной пересылки пакетов. Так если мы хотим получить доступ к сети за VPN-севером, то нам потребуется создать маршрут к этой сети, указав в качестве шлюза интерфейс нашего VPN-клиента, например так:

mikrotik-vpn-client-012.jpg

В данном примере мы отправляем все пакеты к сети 192.168.200.0/24 через L2TP-подключение l2tp-out1. Если вы понимаете основы маршрутизации, то указание правильных маршрутов для вас не составит труда.

Отдельного внимания заслуживает опция Pref. Source, которая не является обязательной, но ее следует указывать, если роутер обслуживает несколько сетей, в ней указывается адрес, с которого роутер будет посылать пакеты по указанному маршруту. Без ее указания доступ роутера к ресурсам удаленных сетей может оказаться невозможным (как и удаленных сетей к нему), на работу клиентов в сетях это не влияет. В качестве значения следует указать адрес, принадлежащий той сети, к которой имеется маршрут с противоположной стороны (т.е. сети за сервером).

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор - официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

Читайте также: