logo

Пример настройки L2TPv3 туннелей для роутеров iRZ

L2TPv3 (Layer 2 Tunneling Protocol version 3) — это протокол туннелирования, который поддерживает инкапсуляцию трафика второго уровня (L2 модели OSI) поверх сетевого уровня (L3).

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

L2TPv3 поверх IP использует IP-протокол L2TP (115), и должен использоваться, когда на пути передачи данных нет NAT или фаерволов. L2TPv3 поверх UDP использует IP-протокол UDP (17) с задаваемыми номерами портов. Предназначен для лучшей поддержки прохода NAT и фаерволов, поэтому его следует использовать, если в вашей схеме есть устройства, выполняющие эти функции.

Туннели L2TPv3 относятся к типу точка-точка. Оба участника туннеля должны иметь внешние IP-адреса (или находиться в одной сети) и между ними не должно быть никакой трансляции адресов NAT (если в качестве транспорта используется IP; при использовании в качестве транспорта протокола UDP, наличие NAT между точками допускается.). Это необходимые условия для установки туннеля.
Туннели уровня L2 поверх сетевого уровня (L3) стоит использовать только в случае крайней необходимости, когда задачу невозможно решить с помощью маршрутизации внутри L3 туннелей.

Схема сети:

L2TPv3 1

В примере оба роутера имеют внешние IP адреса на проводных интерфейсах, туннель будет настроен поверх данного канала связи. Так же роутеры имеют локальные адреса из одной подсети, их мы и объединим в один L2 сегмент с помощью L2TPv3 туннеля. На обоих роутерах заранее выключен DHCP сервер (Services > DHCP).

Для создания туннеля необходимо проделать следующие шаги:

  1. Зайдите в раздел VPN / TunnelsL2TPv3 Tunnels и создайте новый туннель кнопкой Add Tunnel.

  2. В открывшемся окне укажите настройки туннеля.

  3. Для сохранения настроек туннеля нажмите на кнопку Apply Changes, а затем нажмите кнопку Save.

Пример настройки туннеля L2TPv3 с использованием в качестве транспорта проткола IP

Конфигурация роутера R1:

L2TPv3 2
Table 1. Параметры туннеля на роутере R1

Поля

Описание

Name

Tunel1 (указывается пользователем)

Local Address

wan2 (выбирается из перечня)

Remote Address

203.0.113.3

Add to Bridge or Create New

lan (выбирается из перечня локальных сетей или задается новая локальная сеть с указанием параметров туннельного интерфейса)

Tunnel ID

2001 (указывается пользователем)

Remote Tunnel ID

3001 (указывается пользователем)

Session ID

4001 (указывается пользователем)

Remote Session ID

5001 (указывается пользователем)

Encapsulation

ip (выбирается из перечня)

L2 Specific Header Type

none (выбирается из перечня)

Конфигурация роутера R2:

L2TPv3 3
Table 2. Параметры туннеля на роутере R2

Поля

Описание

Name

Tunel1 (указывается пользователем)

Local Address

wan2 (выбирается из перечня)

Remote Address

203.0.113.2

Add to Bridge or Create New

lan (выбирается из перечня локальных сетей или задается новая локальная сеть с указанием параметров туннельного интерфейса)

Tunnel ID

3001 (указывается пользователем)

Remote Tunnel ID

2001 (указывается пользователем)

Session ID

5001 (указывается пользователем)

Remote Session ID

4001 (указывается пользователем)

Encapsulation

ip (выбирается из перечня)

L2 Specific Header Type

none (выбирается из перечня)

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

Name — название туннеля.

Local Address — локальный интерфейс на роутере через который будет устанавливаться соединение.

Remote Address — внешний IP-адрес удаленной стороны.

Add to Bridge or Create New — установление моста с локальным интерфейсом (lan).

Tunnel ID / Session ID, Remote Tunnel ID / Remote Session ID — идентификаторы туннеля и сессии, должны совпадать относительно противоположной стороны, как указано в примере.

Encapsulation — указывается протокол, который используется в качестве транспорта, в данном примере в качестве транспорта используется IP (115).

L2 Specific Header Type — указывает специальное поле подуровня L2TPv3 Layer 2 для использования в заголовках пакетов данных в соответствии с RFC3931.

В результате настройки мы можем увидеть состояние туннеля на странице Status:

L2TPv3 4

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

Запускаем на R1 пинг 192.168.1.3:

L2TPv3 5

Видим на R2 запрос и ответ ARP и ICMP трафик:

L2TPv3 6

L2 связность между роутерами установлена.

Пример настройки туннеля L2TPv3 с использованием в качестве транспорта проткола UDP

В данном примере в качестве транспорта будет использоваться UDP. Будет создан отдельный интерфейс со своей подсетью.

Конфигурация на роутере R1:

L2TPv3 7
Table 3. Параметры туннеля на роутере R1

Поля

Описание

Name

Tunel2 (указывается пользователем)

Local Address

wan2 (выбирается из перечня)

Remote Address

203.0.113.3

Add to Bridge or Create New

new network (выбирается из перечня локальных сетей или задается новая локальная сеть с указанием параметров туннельного интерфейса)

Firewall Zone

lan (выбирается из перечня)

Tunnel IP

172.0.0.2 (указывается пользователем)

Tunnel Mask

255.255.255.254 (указывается пользователем)

Tunnel ID

2002 (указывается пользователем)

Remote Tunnel ID

3002 (указывается пользователем)

Session ID

4002 (указывается пользователем)

Remote Session ID

5002 (указывается пользователем)

Encapsulation

udp (выбирается из перечня)

L2 Specific Header Type

none (выбирается из перечня)

Source UDP Port

5000 (указывается пользователем)

Destination UDP Port

5001 (указывается пользователем)

Конфигурация на роутере R2:

L2TPv3 8
Table 4. Параметры туннеля на роутере R2

Поля

Описание

Name

Tunel2 (указывается пользователем)

Local Address

wan2 (выбирается из перечня)

Remote Address

203.0.113.2

Add to Bridge or Create New

new network (выбирается из перечня локальных сетей или задается новая локальная сеть с указанием параметров туннельного интерфейса)

Firewall Zone

lan (выбирается из перечня)

Tunnel IP

172.0.0.3 (указывается пользователем)

Tunnel Mask

255.255.255.254 (указывается пользователем)

Tunnel ID

2002 (указывается пользователем)

Remote Tunnel ID

3002 (указывается пользователем)

Session ID

4002 (указывается пользователем)

Remote Session ID

5002 (указывается пользователем)

Encapsulation

udp (выбирается из перечня)

L2 Specific Header Type

none (выбирается из перечня)

Source UDP Port

5001 (указывается пользователем)

Destination UDP Port

5000 (указывается пользователем)

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

Name — название туннеля.

Local Address — локальный интерфейс на роутере через который будет устанавливаться соединение.

Remote Address — внешний IP-адрес удаленной стороны.

Tunnel ID / Session ID, Remote Tunnel ID / Remote Session ID — идентификаторы туннеля и сессии, должны совпадать относительно противоположной стороны, как указано в примере.

Add to Bridge or Create New — <new network>, таким образом мы сможем назначить IP адрес на туннельный интерфейс L2TPv3.

Firewall Zone — зона фаервола, правила которой будут применены к туннельному интерфейсу.

Tunnel IP / Tunnel Mask — IP и маска, которые мы назначаем на туннельный интерфейс.

Encapsulation — указывается протокол, который используется в качестве транспорта, в данном примере в качестве транспорта используется UDP.

L2 Specific Header Type — указывает специальное поле подуровня L2TPv3 Layer 2 для использования в заголовках пакетов данных в соответствии с RFC3931.

Source UDP Port / Destination UDP Port — туннель будет строиться с указанного порта локальной стороны на указанный порт противоположной стороны.

В результате настройки туннель отобразится на странице Status:

L2TPv3 9
L2TPv3 10

Проверим связность с помощью пинга и tcpdump:

L2TPv3 11
L2TPv3 12

Связность установлена.