Pull to refresh

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

Reading time 3 min
Views 47K
В продолжение к посту.
В прошлый раз я рассматривал соединение, когда со стороны циски и микрота были реальные 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. Добавить:


Надеюсь, материал был полезен.
Tags:
Hubs:
+6
Comments 1
Comments Comments 1

Articles