- Overview
- Introduction
- L2TP Client
- Properties
- L2TP Server
- Properties
- Quick Example
- L2TP Server
- L2TP Client
- VPN:L2TP site-to-site (объединение офисов)
- Схема сети
- Полезные материалы по MikroTik
- Чек-лист
- Telegram-канал
- Настройка
- Настройка первого маршрутизатора
- Через графический интерфейс
- Через консоль
- Настройка второго маршрутизатора
- Через графический интерфейс
- Через консоль
- Настройка маршрутизации
- На первом маршрутизаторе
- На втором маршрутизаторе
- Проверка
- Через графический интерфейс
- Через консоль
- Типичные проблемы
- Полезные материалы по MikroTik
- Видеоурок по настройке
Overview
Layer Two Tunneling Protocol «L2TP» extends the PPP model by allowing the L2 and PPP endpoints to reside on different devices interconnected by a packet-switched network. L2TP includes PPP authentication and accounting for each L2TP connection. Full authentication and accounting of each connection may be done through a RADIUS client or locally. L2TP traffic uses UDP protocol for both control and data packets. UDP port 1701 is used only for link establishment, further traffic is using any available UDP port (which may or may not be 1701). This means that L2TP can be used with most firewalls and routers (even with NAT) by enabling UDP traffic to be routed through the firewall or router. L2TP standard is defined in RFC 2661 .
Introduction
It may be useful to use L2TP just as any other tunneling protocol with or without encryption. The L2TP standard says that the most secure way to encrypt data is using L2TP over IPsec (Note that it is the default mode for Microsoft L2TP client) as all L2TP control and data packets for a particular tunnel appear as homogeneous UDP/IP data packets to the IPsec system.
Multilink PPP (MP) is supported in order to provide MRRU (the ability to transmit full-sized 1500 and larger packets) and bridging over PPP links (using Bridge Control Protocol (BCP) that allows sending raw Ethernet frames over PPP links). This way it is possible to setup bridging without EoIP. The bridge should either have an administratively set MAC address or an Ethernet-like interface in it, as PPP links do not have MAC addresses.
L2TP does not provide encryption mechanisms for tunneled traffic. IPsec can be used for additional security layers.
L2TP Client
Properties
Remote address of L2TP server (if the address is in VRF table, VRF should be specified)
/interface l2tp-client add connect-to=192.168.88.1@vrf1 name=l2tp-out1 user=l2tp-client)
L2TP Server
An interface is created for each tunnel established to the given server. There are two types of interfaces in the L2TP server’s configuration
- Static interfaces are added administratively if there is a need to reference the particular interface name (in firewall rules or elsewhere) created for the particular user;
- Dynamic interfaces are added to this list automatically whenever a user is connected and its username does not match any existing static entry (or in case the entry is active already, as there can not be two separate tunnel interfaces referenced by the same name);
Dynamic interfaces appear when a user connects and disappear once the user disconnects, so it is impossible to reference the tunnel created for that use in router configuration (for example, in firewall), so if you need persistent rules for that user, create a static entry for him/her. Otherwise, it is safe to use a dynamic configuration.
in both cases PPP users must be configured properly — static entries do not replace PPP configuration.
Properties
Property | Description |
---|---|
authentication (pap | chap | mschap1 | mschap2; Default: mschap1,mschap2) | Authentication methods that server will accept. |
default-profile (name; Default: default-encryption) | default profile to use |
enabled (yes | no; Default: no) | Defines whether L2TP server is enabled or not. |
max-mru (integer; Default: 1450) | Maximum Receive Unit. Max packet size that L2TP interface will be able to receive without packet fragmentation. |
keepalive-timeout (integer; Default: 30) | If server during keepalive-timeout period does not receive any packets, it will send keepalive packets every second, five times. If the server still does not receive any response from the client, then the client will be disconnected after 5 seconds. Logs will show 5x «LCP missed echo reply» messages and then disconnect. |
max-mtu (integer; Default: 1450) | Maximum Transmission Unit. Max packet size that L2TP interface will be able to send without packet fragmentation. |
use-ipsec (no | yes | require; Default: no) | When this option is enabled, dynamic IPSec peer configuration is added to suite most of the L2TP road-warrior setups. When require is selected server will accept only those L2TP connection attempts that were encapsulated in the IPSec tunnel. |
ipsec-secret (string; Default: ) | Preshared key used when use-ipsec is enabled |
mrru (disabled | integer; Default: disabled) | Maximum packet size that can be received on the link. If a packet is bigger than tunnel MTU, it will be split into multiple packets, allowing full size IP or Ethernet packets to be sent over the tunnel. |
Quick Example
L2TP Server
On the servers side we will enable L2TP-server and create a PPP profile for a particular user:
[admin@MikroTik] > /interface l2tp-server server set enabled=yes [admin@MikroTik] > /ppp secret add local-address=10.0.0.2 name=MT-User password=StrongPass profile=default-encryption remote-address=10.0.0.1 service=l2tp
L2TP Client
L2TP client setup in the RouterOS is very simple. In the following example, we already have a preconfigured 3 unit setup. We will take a look more detailed on how to set up L2TP client with username «MT-User», password «StrongPass» and server 192.168.51.3:
[admin@MikroTik] > /interface l2tp-client \ add connect-to=192.168.51.3 disabled=no name=MT-User password=StrongPass user=MT-User [admin@MikroTik] > /interface l2tp-client print Flags: X - disabled, R - running 0 R name="MT-User" max-mtu=1450 max-mru=1450 mrru=disabled connect-to=192.168.51.3 user="MT-User" password="StrongPass" profile=default-encryption keepalive-timeout=60 use-ipsec=no ipsec-secret="" allow-fast-path=no add-default-route=no dial-on-demand=no allow=pap,chap,mschap1,mschap2
VPN:L2TP site-to-site (объединение офисов)
В статье разбирается настройка L2TP-туннеля на оборудовании MikroTik с целью объединения двух сетей (site-to-site VPN). После создания VPN-канала между сетями будет настроена маршрутизация и выполнена проверка работоспособности. Также будут разобраны типичные проблемы, которые могут возникнуть в процессе настройки и проверки.
Схема сети
В головном офисе установлен маршрутизатор GW1. Он же будет настроен в качестве VPN-сервера. В филиале установлен маршрутизатор GW2, который будет настроен как VPN-клиент.
Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24
IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW1: 192.168.15.1/24
Филиал
IP-адрес внешней сети головного офиса: 10.1.200.0/24
IP-адрес внешнего интерфейса маршрутизатора GW2: 10.1.200.1/24
IP-адрес внутренней сети головного офиса: 192.168.25.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.25.1/24
VPN-канал
IP-адрес VPN-интерфейса маршрутизатора GW1: 172.16.30.1/32
IP-адрес VPN-интерфейса маршрутизатора GW2: 172.16.30.2/32
Полезные материалы по MikroTik
Чек-лист
Список обязательных действий при настройке маршрутизатора MikroTik. Бесплатно через подписку по форме ниже.
Telegram-канал
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik.
Настройка
Настройка первого маршрутизатора
Через графический интерфейс
Включить L2TP-сервер. Не смотря на то, что L2TP не несет в себе нормального шифрования, лучше оставить только аутентификацию «mschap2» как наиболее надежную.
Создать новый аккаунт. Для дальнейшего удобства лучше задавать имена так, что бы сразу можно было определить к кому или чему они относятся. Т. е. имена типа user1, user2, user3 и т. д. не желательны в виду того, что в случае увеличения их количества будет тяжело сопоставить реальных пользователей аккаунтов и сами аккаунты.
Создать статическую запись L2TP сервера. Это действие не обязательно, т. к. если запись не создать вручную, то при каждом подключении она будет создаваться динамически. Но при этом наличие этой записи облегчает дальнейшую настройку и диагностику.
Через консоль
/interface l2tp-server server
set authentication=mschap2 enabled=yes
/ppp secret
add local-address=172.16.30.1 name=user1 password=user1-password profile=default-encryption remote-address=172.16.30.2 service=l2tp
/interface l2tp-server
add name=»L2TP Server for filial1″ user=user1
Настройка второго маршрутизатора
Через графический интерфейс
Создать интерфейс для подключения к первому маршрутизатору. Здесь так же оставляем только аутентификацию «mschap2«.
Через консоль
/interface l2tp-client
add allow=mschap2 connect-to=10.1.100.1 disabled=no name=»L2TP HQ connection» password=user1-password user=user1
Настройка маршрутизации
Если на предыдущих шагах все было сделано верно, то VPN-соединение между двумя офисами было установлено, но для того, что бы обе сети могли обмениваться информацией друг с другом они должны знать друг о друге, т. е. между ними должна быть настроена маршрутизация. Для этого надо выполнить следующие шаги:
На первом маршрутизаторе
Через графический интерфейс
Выполнить следующие настройки:
Dst. Address: 192.168.25.0/24 (адрес сети к которой указываем маршрут)
Gateway: 172.16.30.2 (интерфейс через который можно «добраться» до сети)
Pref. Source: 192.168.15.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки «Comment» (не обязательно)
/ip route
add comment=»route to filial1 through VPN» dst-address=192.168.25.0/24 gateway=172.16.30.2 pref-src=192.168.15.1
На втором маршрутизаторе
Через графический интерфейс
Выполнить следующие настройки:
Dst. Address: 192.168.15.0/24 (адрес сети к которой указываем маршрут)
Gateway: 172.16.30.1 (интерфейс через который можно «добраться» до сети)
Pref. Source: 192.168.25.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки «Comment» (не обязательно)
Через консоль
/ip route
add comment=»route to HQ through VPN» dst-address=192.168.15.0/24 gateway=172.16.30.1 pref-src=192.168.25.1
HQ — это аббревиатура от headquarter, что в переводе означает головной офис.
Параметр Pref. Source (pref-src) не является обязательным. Он становится нужен, если количество филиалов будет более одного. Без этого параметра не будут проходить ping'и с маршрутизатора одного филиала до хостов и внутреннего интерфейса маршрутизатора другого филиала. Не будут проходить ping'и именно с маршрутизаторов, т. е. между хостами двух филиалов связь будет.
Проверка
Проверка состоит из двух частей:
- Надо убедиться, что между двумя маршрутизаторами MikroTik установлено VPN-соединение. Это описано ниже.
- Если VPN-соединение установлено успешно, то далее надо проверить есть ли связь между хостами в двух сетях. Для этого достаточно запустить ping с любого компьютера в сети на любой компьютер другой сети.
Через графический интерфейс
Если подключение установлено, то статус подключения должен отображаться с буквой «R«. Что значит running, т. е. запущено.
Через консоль
Выполнить команду
/interface l2tp-server print — на сервере
/interface l2tp-client print — на клиенте
Если соединение установлено успешно, то статус подключения, так же, как и через графический интерфейс, должен отображаться с буквой «R«.
Типичные проблемы
- Если VPN-соединение между двумя маршрутизаторами MikroTik не устанавливается, то надо проверить:
- Не мешает ли файервол. Для уверенности лучше временно отключить все правила файерволов на обоих маршрутизаторах. Стандартные настройки файерволов можно посмотреть здесь.
- Совпадают ли имя пользователя и пароль на обоих маршрутизаторах.
- На VPN-клиенте указан правильный адрес VPN-сервера к которому должно происходить подключение.
- Если не проходит ping между двумя компьютерами в разных сетях, то надо проверить:
- Правильно сделаны настройки маршрутизации на обоих маршрутизаторах не зависимо от того из какой сети в какую будет идти пинг.
- На брэндмауэре компьютера, который будет пинговаться, сделаны необходимые разрешения для протокола ICMP. Для уверенности можно отключить встроенный брэндмауэр и выгрузить антивирус.
Полезные материалы по MikroTik
Чек-лист по настройке MikroTik Проверьте свою конфигурацию по 28-ми пунктам. Подходит для RouterOS v6 и v7. Дата публикации: 2023.
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. В апреле и мае 2023 будут разбираться темы Wi-Fi и QoS. Подписывайтесь