четверг, 30 мая 2013 г.

Настройка L2TPv3 (L2 Tunnel over IP)

Доброго времени суток, коллеги.
В этой статье будет рассказано как пробросить второй уровень (L2) через третий – IP уровень (L3) на оборудовании cisco посредством протокола L2TPv3. Подробнее о протоколе можно прочитать тут.
Рассмотрим три схемы сети (от простого к сложному):
  1. Проброс одной подсети между двумя маршрутизаторами
  2. Проброс двух подсетей между двумя маршрутизаторами
  3. Проброс двух подсетей между тремя маршрутизаторами

Используемое оборудование:
  1.        Cisco Router 2800
  2.        Cisco Switch 2950

Рассмотрим первый вариант.

Нужно прокинуть L2 канал через IP сеть интернета из одного офиса в другой, другими словами объединить в одну не маршрутизируемую сеть два географически распределенных офиса.
Туннель L2 будут держать маршрутизаторы cisco2800. Клиентской подсети присвоен VLAN200.
Прошивка роутеров:
Cisco IOS Software, 2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 12.4(24)T7, RELEASE SOFTWARE (fc2)  System image file is "flash:c2800nm-advipservicesk9-mz.124-24.T7.bin"
Необходимые условия для работоспособности L2 канала:
  1. Интерфейсы L3, прокидывающие L2 сеть, на маршрутизаторах не должны иметь IP адреса. На рисунке это Fa0/1 и Gi0/1 роутеров Router_2 и Router_1 соответственно. (Router(config-if)#no ip address)
  2.  Обязательно должен быть включен CEF. (Router(config)#ip cef)

Приступим к настройке.
Router_1
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface GigabitEthernet0/0
exit
interface GigabitEthernet0/0
ip address 1.1.1.1 255.255.255.0
l2tp-class l2tp-defaults
exit
interface GigabitEthernet0/1
no ip address
xconnect 2.2.2.1 123 encapsulation l2tpv3 pw-class L2Tunnel
exit

Router_2
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface FastEthernet0/0
exit
interface FastEthernet0/0
ip address 2.2.2.1 255.255.255.0
l2tp-class l2tp-defaults
exit
interface FastEthernet0/1
no ip address
xconnect 1.1.1.1 123 encapsulation l2tpv3 pw-class L2Tunnel
exit

Switch_1
Switch_2
interface FastEthernet0/13
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/12
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/17
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/18
switchport access vlan 200
switchport mode access
exit
Разберем подробнее команды на роутере:
pseudowire-class L2Tunnel – создаем класс для псевдо-канала L2 с именем L2Tunnel
encapsulation l2tpv3 – указываем метод инкапсуляции
protocol l2tpv3 – указываем тип протокола, в нашем случае это l2tp версии 3.
xconnect 2.2.2.1 123 encapsulation l2tpv3 pw-class L2Tunnel – Создает L2 туннель с роутером имеющим IP 2.2.2.1, где 123 – уникальный идентификатор виртуального канала VCID.
 Рассмотрим второй вариант.
Имеем два географически удаленных офиса с тем же оборудованием. Только в данном случае нам необходимо прокинуть еще одну изолированную сеть (Vlan300) в туннель.
Есть два пути решения:
  1.   Оставить предыдущую схему и отделить Vlan’ы коммутатором.
  2.   Построить два L2 канала при помощи саб-интерфейсов.

В данном случае для полноты восприятия рассмотрим решение с использованием sub-интерфейсов.\
Конфигурируем:
Router_1
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface GigabitEthernet0/0
exit
interface GigabitEthernet0/0
ip address 1.1.1.1 255.255.255.0
l2tp-class l2tp-defaults
exit
interface GigabitEthernet0/1
no ip address
exit
interface GigabitEthernet0/1.1
encapsulation dot1Q 200
xconnect 2.2.2.1 123 encapsulation l2tpv3 pw-class L2Tunnel
exit
pseudowire-class L2Tunnel_2
encapsulation l2tpv3
protocol l2tpv3
ip local interface GigabitEthernet0/0
exit
interface GigabitEthernet0/1.2
encapsulation dot1Q 300
xconnect 2.2.2.1 124 encapsulation l2tpv3 pw-class L2Tunnel_2
exit


Router_2
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface FastEthernet0/0
exit
interface FastEthernet0/0
ip address 2.2.2.1 255.255.255.0
l2tp-class l2tp-defaults
exit
interface FastEthernet0/1
no ip address
exit
interface FastEthernet0/1.1
encapsulation dot1Q 200
xconnect 1.1.1.1  123 encapsulation l2tpv3 pw-class L2Tunnel
exit
pseudowire-class L2Tunnel_2
encapsulation l2tpv3
protocol l2tpv3
ip local interface GigabitEthernet0/0
exit
interface FastEthernet0/1.2
encapsulation dot1Q 300
xconnect 1.1.1.1 124 encapsulation l2tpv3 pw-class L2Tunnel_2
exit


Switch_1
Switch_2
interface FastEthernet0/13
switchport mode trunk
exit
interface FastEthernet0/12
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/3
switchport access vlan 300
switchport mode access
exit
interface FastEthernet0/17
switchport mode trunk
exit
interface FastEthernet0/18
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/19
switchport access vlan 300
switchport mode access
exit


Увидев настройку, можно догадаться, что при помощи саб-интерфейса можно с одного роутера построить несколько L2 каналов как на один роутер, так и на несколько роутеров сразу.
Рассмотрим третий вариант.
Имеем три географически удаленных офиса. Допустим, что нужно объединить два офиса Office2_1 и Office1_1 в одну L2 подсеть. А также три офиса Office1_2, Office2_2 и Office2_2 в другую изолированную L2 сеть.
Доставим на Router_3 дополнительный Fast Ethernet Layer 3 HWIC (Fa0/3/0). Канал L2 (Vlan300) между роутерами Router_1 и Router_2 будет держать Router_3, поэтому на место Router_3 можно поставить железку помощнее cisco 2800. А коммутировать эту сеть будет Switch_3.

Конфигурация будет такой:
Router_1
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface GigabitEthernet0/0
exit
interface GigabitEthernet0/0
ip address 1.1.1.1 255.255.255.0
l2tp-class l2tp-defaults
exit
interface GigabitEthernet0/1
no ip address
exit
interface GigabitEthernet0/1.1
encapsulation dot1Q 200
xconnect 2.2.2.1 123 encapsulation l2tpv3 pw-class L2Tunnel
exit
pseudowire-class L2Tunnel_2
encapsulation l2tpv3
protocol l2tpv3
ip local interface GigabitEthernet0/0
exit
interface GigabitEthernet0/1.2
encapsulation dot1Q 300
xconnect 3.3.3.1 124 encapsulation l2tpv3 pw-class L2Tunnel_2
exit

Router_2
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface FastEthernet0/0
exit
interface FastEthernet0/0
ip address 2.2.2.1 255.255.255.0
exit
interface FastEthernet0/1
no ip address
exit
interface FastEthernet0/1.1
encapsulation dot1Q 200
xconnect 1.1.1.1 123 encapsulation l2tpv3 pw-class L2Tunnel
exit
pseudowire-class L2Tunnel_3
encapsulation l2tpv3
protocol l2tpv3
ip local interface FastEthernet0/0
exit
interface FastEthernet0/1.2
encapsulation dot1Q 300
xconnect 3.3.3.1 125 encapsulation l2tpv3 pw-class L2Tunnel_3
exit

Router_3
pseudowire-class L2Tunnel
encapsulation l2tpv3
protocol l2tpv3
ip local interface FastEthernet0/1
exit
interface FastEthernet0/1
ip address 3.3.3.1 255.255.255.0
exit
interface FastEthernet0/0
no ip address
exit
interface FastEthernet0/0
no ip address
xconnect 1.1.1.1 124 encapsulation l2tpv3 pw-class L2Tunnel_2
exit
pseudowire-class L2Tunnel_3
encapsulation l2tpv3
protocol l2tpv3
ip local interface FastEthernet0/1
exit
interface FastEthernet0/3/0
xconnect 2.2.2.1 125 encapsulation l2tpv3 pw-class L2Tunnel_3
exit

Switch_1
Switch_2
Switch_3
interface FastEthernet0/13
switchport mode trunk
exit
interface FastEthernet0/12
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/3
switchport access vlan 300
switchport mode access
exit
interface FastEthernet0/17
switchport mode trunk
exit
interface FastEthernet0/18
switchport access vlan 200
switchport mode access
exit
interface FastEthernet0/19
switchport access vlan 300
switchport mode access
exit
interface Gi0/0
switchport access vlan 300
switchport mode access
exit
interface Gi0/1
switchport access vlan 300
switchport mode access
exit
interface FastEthernet0/24
switchport access vlan 300
switchport mode access
exit
Можно не докупать дополнительный L3 HWIC, а использовать sub-интерфейсы на Router_3. Также можно настроить аутентификацию канала при помощи команды authentication.  
Напоминаю, что best practice настраивать L2TPv3 не на физический интерфейс, а на Loopback. Но для простоты тестирования и лучшего восприятия, настройка производилась на физическом интерфейсе.
Траблшутить канал можно командами:
show l2tun tunnel state
show l2tun session
show xconnect all
На этом предлагаю закончить.
Вопросы, замечания и предложения пишите в комментариях или на почту.
Удачного тестирования!

3 комментария:

  1. Нормуль! Простой ман и понятный получился

    ОтветитьУдалить
  2. Спасибо за понятную статью!
    Только мне кажется что во время настройки первых двух примеров интерфейс Fa0/0 второго роутера должен быть 2.2.2.1
    А в последнем примере у третьего роутера VCID 124(вместо 123) и 125.

    ОтветитьУдалить
  3. Добрый день, Дмитрий.
    Все верно. Поправил.
    Спасибо.

    ОтветитьУдалить