OS: "RouterOS v6".
Задача: настроить несколько VPN-туннелей на примере связи между сегментами сетей разнесённых офисов и обеспечения доступа пользователей внутрь инфраструктуры предприятия.
Предварительная настройка "Mikrotik" и конфигурирование пропускающего туннели защитного экрана рассматривались ранее и здесь только пошаговое включение нужного функционала.
Пример настройки L2TP-сервера в "Mikrotik".
Прежде всего создаём выделенный профиль обобщённых параметров настроек для L2TP-туннелей, указывая использовать сжатие и шифрование передаваемых данных:
> /ppp profile add name=vpn-l2tp-server-profile use-compression=yes use-encryption=yes
Активируем виртуальный интерфейс L2TP-сервера, задавая при этом имя применяемого профиля обобщённых настроек, указывая использовать шифрование IPSec с условно секретным ключём согласования, предписываем не допускать более одной сессии с клиента и профилактически включаем сервис:
> /interface l2tp-server server set default-profile=vpn-l2tp-server-profile use-ipsec=yes ipsec-secret=<secretIPSecKey> one-session-per-host=yes enabled=yes
Для каждого клиента L2TP-сервера создаём учётную запись с указанием используемого профиля сервера, задавая логин, пароль и опорные IP-адреса создаваемого туннеля (для каждого клиента отдельный туннель, а значит и уникальная для сети адресация):
> /ppp secret add service=l2tp profile=vpn-l2tp-server-profile name=vpn-l2tp-client0 password=<client0Pasword> local-address=10.172.0.1 remote-address=10.172.0.2
> /ppp secret add service=l2tp profile=vpn-l2tp-server-profile name=vpn-l2tp-client1 password=<client1Pasword> local-address=10.172.0.5 remote-address=10.172.0.6
> /ppp secret add service=l2tp profile=vpn-l2tp-server-profile name=vpn-l2tp-client1 password=<client1Pasword> local-address=10.172.0.5 remote-address=10.172.0.6
Каждому клиентскому PPP-подключению автоматически создаётся виртуальный сетевой интерфейс - можно заранее именовать его в едином стиле, привязав к клиентской учётной записи:
> /interface l2tp-server add name=VPN-L2TP-Client0 user=vpn-l2tp-client0
> /interface l2tp-server add name=VPN-L2TP-Client1 user=vpn-l2tp-client1
> /interface l2tp-server add name=VPN-L2TP-Client1 user=vpn-l2tp-client1
Пример настройки подключения к L2TP-серверу.
С клиентской стороны настройки проще. Прежде всего создаём выделенный профиль обобщённых параметров настроек для L2TP-туннелей, указывая использовать сжатие и шифрование передаваемых данных (этого можно и не делать - значения параметров по умолчанию вполне удовлетворительны, но для гибкости конфигурации сделаем полностью независимо настраиваемую свою):
> /ppp profile add name=vpn-l2tp-clients-profile use-compression=yes use-encryption=yes
Создаём автоматически активируемый виртуальный интерфейс, с указанием используемого клиентского профиля, адресом целевого VPN-сервера (12.34.56.78 в примере), предписывая использовать шифрование IPSec с условно секретным ключём согласования, задавая логин и пароль для аутентификации:
> /interface l2tp-client add profile=vpn-l2tp-clients-profile name=VPN-L2TP-Client0 connect-to=12.34.56.78 use-ipsec=yes ipsec-secret=<secretIPSecKey> user=vpn-l2tp-client0 password=<client0Pasword> disabled=no
Пример создания PPTP-туннеля.
Подход к настройке PPTP-туннеля в "Mikrotik" ничем, кроме отсутствующих параметров IPSec-шифрования, от вышеприведённого примера для L2TP не отличается.
Последовательность команд на стороне сервера:
> /ppp profile add name=vpn-pptp-server-profile use-compression=yes use-encryption=yes
> /interface pptp-server server set default-profile=vpn-pptp-server-profile authentication=mschap2 enabled=yes
> /ppp secret add service=pptp profile=vpn-pptp-server-profile name=vpn-pptp-client3 password=<client3Pasword> local-address=10.172.0.9 remote-address=10.172.0.10
> /interface pptp-server add name=VPN-PPTP-Client3 user=vpn-pptp-client3
> /interface pptp-server server set default-profile=vpn-pptp-server-profile authentication=mschap2 enabled=yes
> /ppp secret add service=pptp profile=vpn-pptp-server-profile name=vpn-pptp-client3 password=<client3Pasword> local-address=10.172.0.9 remote-address=10.172.0.10
> /interface pptp-server add name=VPN-PPTP-Client3 user=vpn-pptp-client3
Последовательность команд на стороне клиента:
> /ppp profile add name=vpn-pptp-clients-profile use-compression=yes use-encryption=yes
> /interface pptp-client add profile=vpn-pptp-clients-profile name=VPN-PPTP-Client3 connect-to=12.34.56.78 user=vpn-pptp-client3 password=<client3Pasword> allow=mschap2 disabled=no
> /interface pptp-client add profile=vpn-pptp-clients-profile name=VPN-PPTP-Client3 connect-to=12.34.56.78 user=vpn-pptp-client3 password=<client3Pasword> allow=mschap2 disabled=no