В продолжение к посту.
В прошлый раз я рассматривал соединение, когда со стороны циски и микрота были реальные 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. Добавить:
Надеюсь, материал был полезен.
Автор: vladadm