logo

Настройка L2TP сервера и клиента на роутерах на базе irzOS

L2TP (Layer 2 Tunneling Protocol) – это протокол туннелирования, который используется для создания виртуальных частных сетей (VPN) путем инкапсуляции данных в пакеты. Сам по себе он не обеспечивает шифрование, поэтому для безопасности его чаще всего используют в паре с протоколом Ipsec.

В роутерах на базе irzOS встроен как сервер, так и клиент L2TP.

Задача

Объединить две локальные сети посредством протокола L2TP.

Настройка irzOS может производиться как посредством Web интерфейса, так и с помощью интерфейса CLI с помощью протокола SSH и терминального клиента. Несмотря на разные способы подключения, логика настройки идентична в обоих случая.
l2tp server client 1
Figure 1. Схема сети

В данной схеме роутер R1 выступает в качестве сервера L2TP, имеет локальную сеть 192.168.2.0/24 и адрес WAN 200.1.1.1.

Роутер R2 является клиентом, имеет локальную сеть 192.168.3.0/24 и адрес WAN 200.1.1.2.

Описание настойки сервера (R1)

Первый шаг при настройке сервера – создание учетных записей клиентов, которые будут подключаться.

Для этого в разделе /service → client необходимо выбрать add и задать имя.

Далее необходимо в выпадающем списке Service выбрать сервис, для которого создается пользователь. В данном примере выбирается вариант l2tp.

Задайте пароль пользователя в поле Password. Нажмите Apply для сохранения настроек.

Перейдите в раздел /service → l2tp-server.

l2tp server client 2
Figure 2. Интерфейс настройки сервера

Описание полей:

IP Address – IP адрес, назначаемый туннельному интерфейсу сервера, по умолчанию 192.168.99.100

IP Pool – диапазон адресов, назначаемых клиентам L2TP cервера

Authentication – протокол аутентификации, по умолчанию mschap-v2

Encryption – протокол шифрования виртуального туннеля: mppe, ipsec или none

Pre-Shared Key – общий ключ для IPSec, поле доступно только если в Encryption выбран вариант ipsec

Options – дополнительные опции

Debug – добавить отладочную информацию в логи, необходимо только по запросу технической поддержки

Пример настройки R1 (сервера) с IPSec

Для настройки шифрования выберем в настройке Encryption опцию ipsec и далее зададим общий ключ в поле Pre-Shared Key.

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

Настройка в режиме CLI

/service l2tp-server
    auth mschap-v2
    debug -
    disabled -
    encryption ipsec
    ip-addr 192.168.99.100
    ip-pool -
    ip-pool 192.168.99.101-192.168.99.200
    ppp-option -
    ppp-option lcp-echo-failure=5,lcp-echo-interval=60
    psk ipseckey

  /service l2tp-server apply
  /

Пример настройки R2 (клиента) с IPSec

Необходимо перейти в раздел /tunnel → l2tp, кликнуть на Add и задать имя новому соединению.

l2tp server client 3
Figure 3. Интерфейс настройки клиента

Описание полей:

Local IP – интерфейс, с которого будет построен туннель

Remote IP – внешний IP адрес удаленной стороны туннеля

Username – имя пользователя для клиента PPTP

Password – пароль для клиента PPTP

Authentication – протокол аутентификации, по умолчанию «любой»

Encryption – протокол шифрования виртуального туннеля: mppe, ipsec или none

Pre-Shared Key – общий ключ для IPSec, поле доступно только если в Encryption выбран вариант ipsec

Options – дополнительные опции

l2tp server client 4
Figure 4. Настройка клиента R2

Для настройки клиента укажем в качестве Local IP интерфейс WAN, в качестве Remote IP – 200.1.1.1

На сервере создан клиент с именем user и паролем. В поле Username указываем user, в поле Password – заданный пароль.

Настройка в режиме CLI

/tunnel l2tp add name=PPTP
    auth any
    debug -
    disabled -
    encryption ipsec
    local-ip WAN
    password password
    ppp-option -
    psk ipseckey
    remote-ip 200.1.1.1
    username test

/tunnel l2tp apply
/

Файрволл

В случае использования шифрования ipsec роутер уже имеет предустановленные правила для файрволла, позволяющие ему создавать туннели L2TP. Однако если шифрование не используется, то в файрволле (/firewall → filter) необходимо создать правило, разрешающее трафик протокола L2TP (порт UDP 1701), и поместить это правило выше правила, запрещающего трафик из зоны Wan.
l2tp server client 5

Настройка в режиме CLI

/firewall filter add chain=input
    action accept
    dst-addr :1701
    protocol udp
    src zone-wan
    reorder position=-1
    apply
/firewall filter status
/
/

После установки соединения статус туннеля указывается на главной странице панели роутера.

l2tp server client 6
Figure 5. Статус туннеля

Настройка маршрутизации

Теперь настроим маршрутизацию

В разделе /ip → route → list нажать Add и добавить.

l2tp server client 7
Figure 6. Создание маршрута

Настройки маршрутизации для R1 (сервер)

В поле Target указать подсеть назначения, в данном случае это 192.168.3.0/24.

В поле Source Interface необходимо ВРУЧНУЮ ввести in_l2tp0.

В поле Gateway указать шлюз для протокола L2TP (не обязательно).

После чего нажать ОК и Apply

Настройка в режиме CLI

/ip route list add dst-addr=192.168.3.0/24 interface=in_l2tp0
    disabled -
    gateway -
    metric -
    src-addr -
    table main
    type unicast

  /ip route list apply

Настройки маршрутизации для R2 (клиент)

В поле Target указать подсеть назначения, в данном случае это 192.168.2.0/24.

В поле Source Interface необходимо ВЫБРАТЬ название интерфейса туннеля, в данном примере это L2TP.

В поле Gateway указать шлюз для протокола L2TP (не обязательно).

После чего нажать ОК и Apply

Настройка в режиме CLI

/ip route list add dst-addr=192.168.2.0/24 interface=L2TP
    disabled -
    gateway -
    metric -
    src-addr -
    table main
    type unicast

  /ip route list apply

Пинг

Теперь проверим связь с помощью Ping в разделе /tools → ping. С сервера R1 пингуем клиент R2.

l2tp server client 8

Проверим пинг с обратной стороны. Пингуем с клиента R2 сервер R1.

l2tp server client 9

Настройка завершается командой /system → config → commit.