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. Добавить:

Надеюсь, материал был полезен.

ссылка на оригинал статьи http://habrahabr.ru/post/154829/


Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *