Mikrotik + IPSec + Cisco. Часть 2. Тоннель на «сером» IP

    В продолжение к посту.
    В прошлый раз я рассматривал соединение, когда со стороны циски и микрота были реальные IP'ы.
    Здесь рассмотрю пример «серого реальника», т.е серый IP, который провайдер маскирует у себя под внешний с безусловной переадресацией (binat).

    Техническая задача: организовать ipip-тоннель между офисами, с шифрованием ipsec, при помощи Mikrotik RB450G и Cisco 2821.



    Ньюансы

    на циске внешний IP, а на микротике серый, который маскируется провайдером под внешний, с безусловной переадресацией (обращения к этому внешнику из интернета редиректятся на интерфейсный, серый «IP»).
    Схема:


    Исходные данные

    • Cisco 2821 (OS v12.4)
    • 2. Mikrotik RB450G
    • 3. Реальные внешние IP на обоих устройствах
    • 4. Адрес циски: 77.77.77.226. Подсеть со стороны циски: 10.192.0.0/22
    • 5. Адрес микротика: 99.99.99.2. Подсеть со стороны микротика: 192.168.100.0/24
    • 6. Серый адрес микротика на внешнем интерфейсе: 172.16.99.2.


    Предыстория

    При подключении нового филиала обнаружил, что провайдер (единственный местный) вместо внешнего IP выдал мне «серый».
    На моё законное возмущение, что по договору нам должны дать внешний адрес — провайдер ответил, что внешний для нас сделан средствами nat'а, и все обращения из интернета на этот внешник редиректятся на наш «серый» ip, и по другому они ничего сделать не могут.
    На этом наш разговор окончился, и я стал настраивать тоннель. Тоннель не завёлся :)
    Ситуация неоднозначная. С одной стороны вроде и внешник, который на деле выглядит «серым», но и NAT-T использовать смысла нет
    Около часа я мучал микротик с циской, в результате получилась странная, но работоспособная конструкция (кстати попробовал её повторить на racoon под freebsd — не взлетело).

    Что получилось в итоге

    На циске создал тунель, в котором указал серый ip микротика в destination.

    Все настройки (консольные и аналогичные графические) привожу ниже.

    Cisco:


    ! Политика авторизации - хеш мд5 и шифрование 3des по парольному ключу (pre-share)
    crypto isakmp policy 20
     encr 3des
     hash md5
     authentication pre-share
    ! group2 означает, что в микротике надо установить dh-group=modp1024
     group 2
    
    ! Сам ключ
    crypto isakmp key MyPassWord address 99.99.99.2 no-xauth
    crypto isakmp keepalive 30
    ! Трансформ. Внимание! Используется transport, а не tunnel режим
    crypto ipsec transform-set transform-2 esp-3des esp-md5-hmac
     mode transport
    
    crypto dynamic-map dynmap 10
     set transform-set transform-2
     reverse-route
    
    crypto map vpnmap client configuration address respond
    crypto map vpnmap 5 ipsec-isakmp dynamic dynmap
    crypto map vpnmap 10 ipsec-isakmp
    ! криптомапа микротика
    crypto map vpnmap 95 ipsec-isakmp
     description polyanka
    ! ip микротика
     set peer 99.99.99.2
     set security-association lifetime seconds 86400
     set transform-set transform-2
    ! pfs group2 означает, что в микротике надо установить dh-group=modp1024
     set pfs group2
    ! access-лист, разрешающий соединение
     match address 136
    
    ! Сам тоннель
    interface Tunnel95
     description tunnel_NewMikrotik
     ip unnumbered GigabitEthernet0/1
    ! Цискин адрес
     tunnel source 77.77.77.226
    ! Адрес микрота. 
    ! ВНИМАНИЕ - АДРЕС СЕРЫЙ. Если указывать белый - соединение не устанавливается...
    ! Точнее устанавливается, но работать отказывается и рвёт связь.
     tunnel destination 172.16.99.2
     tunnel mode ipip
    
    interface GigabitEthernet0/1
     description Internet
     ip address 77.77.77.226 255.255.255.224
     no ip redirects
     no ip unreachables
     no ip proxy-arp
     ip wccp web-cache redirect out
     ip virtual-reassembly
     ip route-cache policy
     no ip mroute-cache
     duplex auto
     speed auto
     no mop enabled
    ! ВКЛЮЧАЕМ ШИФРОВАНИЕ НА ИНТЕРФЕЙСЕ
     crypto map vpnmap
    ! Роутинг сети, находящейся за микротиком
    ip route 192.168.100.0 255.255.255.0 Tunnel95
    ! Разрешение на соединение тоннеля
    access-list 136 permit ip host 77.77.77.226 host 99.99.99.2
    access-list 136 permit ip host 77.77.77.226 host 172.16.99.2
    


    Микротик:


    /interface ipip
    add comment="Office tunnel" disabled=no dscp=0 local-address=172.16.99.2 \
        mtu=1260 name=Cisco-VPN remote-address=77.77.77.226                
    /ip ipsec proposal
    set [ find default=yes ] auth-algorithms=md5 disabled=no enc-algorithms=3des \
        lifetime=30m name=default pfs-group=modp1024
    /ip ipsec peer
    add address=77.77.77.226/32 auth-method=pre-shared-key dh-group=modp1024 \
        disabled=no dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=3des \
        exchange-mode=main generate-policy=yes hash-algorithm=md5 lifebytes=0 \
        lifetime=1d my-id-user-fqdn="" nat-traversal=no port=500 proposal-check=\
        obey secret=MyPassWord send-initial-contact=yes
    /ip route
    add disabled=no distance=1 dst-address=10.192.0.0/22 gateway=Cisco-VPN scope=30 \
        target-scope=10
    /ip firewall filter
    add action=accept chain=input comment="default configuration" disabled=no
    add action=accept chain=output disabled=no
    


    Этот же конфиг, глазами WinBox:
    1. Интерфейсы-IP Tunnel. Добавить:

    2. В разделе IP-IPSec-Proposals в дефолтном правиле ОБЯЗАТЕЛЬНО сменить SHA1 на MD5, т.к в рассматриваемом примере используется MD5.

    3. IP-IPSec-Peers. Добавить:

    4. IP-Routes. Добавить:


    Надеюсь, материал был полезен.
    Поделиться публикацией

    Похожие публикации

    Комментарии 1

      0
      Никак не удалось заставить работать IPSEC между микротиком и allied telesis at-ar415s. Где-то на второй стадии соединение рубилось. Неделю потратил, не вышло (

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое