Вы здесь

Mikrotik + Cisco + L2TP + IPSec + OSPF

mikrotik - замечательное дешёвое оборудование, уже сейчас успешно конкурирующее с Cisco, - пока в сегменте SOHO. Идеально для дома и для малого филиала. Прекрасно работает с центральным более серьёзным оборудованием.

Данное решение хорошо работает как с Public addresses, так с и Private addresses.
В этом примере мы продемонстрируем как подключить Mikrotik с серыми адресами к Cisco.
Динамическая маршрутизация позволит нам обеспечить автоматическое переключение при наличии нескольких туннелей.

Конфигурация Cisco

  1. Настраиваем AAA
    aaa authentication login default local enable aaa authentication ppp default local aaa authorization exec default local ! username l2tp_user1 password 0 testpass username l2tp_user1 autocommand exit

    Под этим пользователем будет производиться логин клиента.
    Здесь пароль пользователя должен быть в открытом виде, если сделать secret - работать не будет.

  2. Включаем VPDN
    vpdn enable ! vpdn-group L2TP ! Default L2TP VPDN group accept-dialin protocol l2tp virtual-template 1 no l2tp tunnel authentication l2tp tunnel timeout no-session 15 ip pmtu ip mtu adjust ! ! ! no virtual-template subinterface
  3. Настраиваем ISAKMP
    crypto isakmp policy 20 encr 3des authentication pre-share group 2 lifetime 3600 crypto isakmp key isakmp_pass address 0.0.0.0 no-xauth crypto isakmp keepalive 3600

    Здесь используется pre-shared key, который также нужно вводить и у клиента.

  4. Настраиваем IPSec
    crypto ipsec transform-set l2tp_tr esp-3des esp-sha-hmac mode transport ! crypto dynamic-map l2tp_dmap 10 set nat demux set transform-set l2tp_tr ! crypto map l2tp_map 10 ipsec-isakmp dynamic l2tp_dmap ! interface Port-channel1.81 crypto map l2tp_map
  5. Создаём IP Pool
    ip local pool ezvpn_pool 192.168.91.10 192.168.91.254
  6. Создаём Vitrual_Template
    interface Virtual-Template1 ip address 192.168.91.1 255.255.255.0 ip mtu 1400 ip ospf network point-to-point peer default ip address pool ezvpn_pool no keepalive ppp encrypt mppe auto ppp authentication ms-chap-v2
  7. Настройка OSPF
    router ospf 15 router-id 192.168.253.11 network 192.168.91.0 0.0.0.255 area 0
  8. Трафик L2TP необходимо разрешить на внешнем интерфейсе
    permit udp any any eq isakmp permit udp any any eq non500-isakmp permit udp any any eq 1701 permit tcp any any eq 1701 permit esp any any

Проверка настроек Cisco

Мы настроили на базе Cisco сервер L2TP VPN.
Его работу легко проверить через использование встроенного Windows L2TP VPN Client.
Рассмотрим подключение из под Windows 7:
Идём Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом
Далее выбираем: Настройка нового подключения к сети > Подключение к рабочему месту > Создать новое подключение > Использовать мое подключение к интернету
Вбиваем внешний адрес Cisco, в нашем случае это 90.154.10.114
В созданном подключении нужно подправить тип VPN и ввести ключ:
mikrotik_cisco_l2tp_ipsec_ospf_01_ciscomaster.ru.jpg

При подключении мы будем использовать созданного нами юзера.

Посмотреть сессии на Cisco:
show vpdn session
show vpdn session all

Конфигурация Mikrotik

Предполагаем что исходной является базовая конфигурация Mikrotik

/ip ipsec proposal set [ find default=yes ] enc-algorithms=3des /ppp profile add name=l2tp /interface l2tp-client add allow=mschap2 connect-to=30.154.106.114 disabled=no ipsec-secret=isakmp_pass max-mtu=1400 mrru=1600 name=l2tp_connection password=testpass profile=l2tp use-ipsec=yes user=l2tp_user1 /routing ospf instance set [ find default=yes ] router-id=192.168.88.1 /routing ospf network add area=backbone network=192.168.88.0/24 add area=backbone network=192.168.91.0/24

Настройка Firewall стандартна:

/ip firewall address-list add address=62.105.149.224/28 list=23 add address=192.168.2.0/24 list=23 /ip firewall filter add chain=input connection-state=established,related add chain=input protocol=icmp add chain=input dst-port=8291 protocol=tcp src-address-list=23 add chain=input dst-port=23 protocol=tcp src-address-list=23 add chain=input dst-port=22 log=yes protocol=tcp src-address-list=23 add chain=input protocol=ipip add action=drop chain=input in-interface=ether1-isp1 add chain=forward in-interface=lan-bridge add chain=forward connection-state=established,related in-interface=ether1-isp1 add action=drop chain=forward in-interface=ether1-isp1 /ip firewall nat add action=masquerade chain=srcnat comment="User NAT" out-interface=ether1-isp1

Особенности и глюки

При версии IOS cisco 151-4.M7, 151-4.M8 L2TP подключается стабильно.

При версиии IOS cisco 154-3.M4, 154-3.M5 стабильные подключения только из под NAT. Если у микрота белый внешний адрес - подключается только после перезагрузки микрота. Либо нужно убрать шифрование L2TP со стороны микрота.

Также см

http://ciscomaster.ru/content/rabochiy-konfig-dlya-bau

Комментарии

Добрый день.

Интересный момент. Сделал по аналогичной схеме. Работает. Туннель поднимается, микротик и циска обмениваются маршрутами. Всё хорошо.
А потом делаю второе подключение из вне к циске, тоже l2tp+IPSec. Всё успешно, но с циски пропадает маршрут OSPF но подсеть микрота. И я никак не могу понять куды оно девается. Есть идеи?

Та же проблема. Кто-нибудь нашел решение?

с микротика я сеть локальную на стороне cisco пингую , а вот с локальной сети микротика нет. В чем затык у меня?

Туннель у вас в порядке. Скорее всего проблема в маршрутизации

Проблема оказалась в ip - firewall- nat. проблему решил.

Роман, подскажите, а что именно поправили в нат, не удается побороть эту проблемку? Динамика приходит только от одного микротика.

Доброго дня. Такая же проблема, на Cisco видно маршрут только к одному микротику. Перегружаешь тот от которого не было маршрута, восстанавливается. Но теряется от второго. Роман, опишите как решали проблему?

router(config)# crypto ipsec transform-set l2tp_tr esp-3des esp-sha-hmac
router(cfg-crypto-trans)# mode transport
router(cfg-crypto-trans)# !
router(cfg-crypto-trans)# crypto dynamic-map l2tp_dmap 10
router(config-crypto-map)# set nat demux
router(config-crypto-map)# set transform-set l2tp_tr
router(config-crypto-map)# !
router(config-crypto-map)# crypto map l2tp_map 10 ipsec-isakmp dynamic l2tp_dmap
router(config)# !
router(config)# interface Port-channel1.81
^
% Invalid input detected at '^' marker.

Invalid input указывает на Port-channel. Ну и :
router(config)#interface ?
Async Async interface
BVI Bridge-Group Virtual Interface
CDMA-Ix CDMA Ix interface
CTunnel CTunnel interface
Dialer Dialer interface
FastEthernet FastEthernet IEEE 802.3
Group-Async Async Group interface
Lex Lex interface
Loopback Loopback interface
MFR Multilink Frame Relay bundle interface
Multilink Multilink-group interface
Null Null interface
Tunnel Tunnel interface
Vif PGM Multicast Host interface
Virtual-PPP Virtual PPP interface
Virtual-Template Virtual Template interface
Virtual-TokenRing Virtual TokenRing
range interface range command
Что то Port-channel среди вариантов нет....

Invalid input указывает на Port-channel

Настройте аналогично на свой внешний интерфейс. Откуда автору знать какой интерфейс именно у вас??

как я понимаю циска вообще не ожидает там слово "Port-channel"

Это зависит от модели роутера

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image