Blog of Khlebalin Dmitriy

(Дорогу осилит идущий…)

Cisco-Mikrotik IP-IP. Туннель с Микротиком с белым IP.

Наконец дошли руки посмотреть интеграцию с Cisco. GRE_ipsec за NAT так и не заработал, решили посмотреть схему IP_ipsec (IP-IP).

Для понимания процесса читаем здесь: http://xgu.ru/wiki/Cisco_IOS_Site-to-Site_VPN

До сего момента я никогда ранее не пробовал строить такие туннели, наткнулся вот на этот пост и решил попробовать:

https://habr.com/ru/post/151951/

Спасибо автору, за понятный, а главное, рабочий вариант.

Набросал вот такую схему в GNS3.

Сначала попробую настроить туннель с Микротиком с белым IP, затем с Микротиком за NAT.

Настроим Cisco.

Cisco_head(config-if)#ip address 77.77.77.226 255.255.255.0

Cisco_head(config-if)#no shutdown

Cisco_head(config-if)#

*Mar  1 00:12:08.019: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up

*Mar  1 00:12:09.019: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Cisco_head(config)#exit

Cisco_head#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Cisco_head(config)#interface fastEthernet 0/1

Cisco_head(config-if)#ip address 10.192.0.1 255.255.252.0

Cisco_head(config-if)#no shutdown

Cisco_head(config-if)#exit

Cisco_head(config)#

*Mar  1 00:16:26.039: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up

*Mar  1 00:16:27.039: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

Cisco_head(config)#exit

Cisco_head#

*Mar  1 00:16:32.151: %SYS-5-CONFIG_I: Configured from console by console

Cisco_head#wr

Пропишем статический маршрут в нашу сеть филиала:

Cisco_head(config)#ip route 88.88.88.0 255.255.255.0 fastEthernet 0/0

Добавим в конфиг:

! Политика авторизации — хеш мд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 88.88.88.2 no-xauth

crypto isakmp keepalive 30

! Трансформ. Внимание! Используется transport, а не tunnel режим

crypto ipsec transformset transform-2 esp-3des espmd5-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 93 ipsecisakmp

description Mikrotik_Local

! ip микротика

set peer 88.88.88.2

set security-association lifetime seconds 86400

set transform-set transform-2

! pfs group2 означает, что в микротике надо установить dh-group=modp1024

set pfs group2

! access-лист, разрешающий соединение

match address 137

! Сам тоннель (здесь указываем наш внешний интерфейс)

interface Tunnel93

description tunnel_Mikrotik

ip unnumbered FastEthernet0/0

! Цискин адрес

tunnel source 77.77.77.226

! Адрес микрота

tunnel destination 88.88.88.2

! тип тонеля ipip

tunnel mode ipip

! Наружный интерфейс

interface FastEthernet0/0

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.88.0 255.255.255.0 Tunnel93

! Разрешение на соединение тоннеля

access-list 137 permit ip host 77.77.77.226 host 88.88.88.2

Зададим MTU:

https://habr.com/ru/post/226807/

Cisco_head#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Cisco_head(config)#interface tunnel93

Cisco_head(config-if)#mtu 1460

% Interface Tunnel93 does not support adjustable maximum datagram size

Cisco_head(config-if)#exit

Cisco_head(config)#exit

Cisco_head#

*Mar  1 02:12:54.603: %SYS-5-CONFIG_I: Configured from console by console

Cisco_head#wr

Зададим IP на туннельном интерфейсе:

Cisco_head#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Cisco_head(config)#interface tunnel93

Cisco_head(config-if)#ip address 10.33.0.1 255.255.255.0

Cisco_head(config-if)#no shutdown

Cisco_head(config-if)#exit

Cisco_head(config)#exit

Cisco_head#

*Mar  1 02:27:29.947: %SYS-5-CONFIG_I: Configured from console by console

Cisco_head#wr

! Роутинг сети, находящейся за микротиком сразу поправим на IP нашего туннельного интерфейса.

no ip route 192.168.88.0 255.255.255.0 Tunnel93

ip route 192.168.88.0 255.255.255.0 10.33.0.1

 

Со стороны Микрота (бранч).

Здесь же сразу пропишем руками статический маршрут в Головной офис:

Интерфейсы-IP Tunnel. Добавить:

На циске MTU выставили 1460, здесь соответственно выставляем тоже самое.

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

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

В Profiles правим:

Профиль в предыдущем шаге у нас выбран дефолтный, соответственно здесь правим дефолтный.

Все настройки должны быть согласованы с циской на другой стороне:

Если это так, то должна подняться сессия:

И автоматически сгенерируются политики:

IP-Routes. Добавим:

Для более детального логирования добавим:

После этого можно заглянуть обратно в IP-IPSec, закладка Instaled SAs, и вы должны увидеть, что байты бегут по туннелю в обе стороны:

В итоге, у нас со стороны микрота получились следующие маршруты:

Проверим MTU со стороны Микрота (запингуем внутреннюю сетку головы большими пакетами):

Пакеты пролазят-это радует.

Для верности посмотрим, что у нас от компа до компа:

В целом все так, как должно быть.

На этом настройка закончена, но самое интересное, сделать все тоже самое за NAT.

Но это уже тема следующего повествования…

Всем хорошей работы!!!

P.S. В продакшине оказалось не все так гладко, как на стенде. В Голове у нас стоят маршрутизаторы Cisco ISR 4331, туннель никак не хотел «подниматься», оказалось все дело в прошивке, пришлось их обновлять до последних прошивок. Все сложилось не так гладко, как хотелось бы, но сложилось. Еще раз благодарю Рому и Стаса за подробные разъяснения по некоторым, непонятным для меня вопросам (а их было не мало), по теме. В настоящий момент в продакшин введено уже два Микрота пока с белыми адресами. Две недели, полет нормальный… Будем посмотреть, как события будут развиваться дальше….

22.10.2019 Posted by | Network and Wi-fi: cisco, mikrotik, huawei, tp-link, d-link, zyxel и другое... | Комментарии к записи Cisco-Mikrotik IP-IP. Туннель с Микротиком с белым IP. отключены

OSPF Mikrotik. Многозонная конфигурация.

В прошлом посте рассмотрел: OSPF Mikrotik. Конфигурация с одной зоной.

Сегодня имеет смысл вспомнить про Многозонную конфигурацию.

Когда у нас много разных подсетей и разные маршруты, необходимо точно уметь рассчитать адресацию, для меня полезны следующие ресурсы:

Калькулятор сети: https://ru.adminsub.net/ipv4-subnet-calculator

Классная табличка, которую можно просто выучить наизусть: https://www.aelius.com/njh/subnet_sheet.html

И разъяснения: http://admindoc.ru/1041/subnetting-razbienie-seti-na-podseti-summarizatsiya-nahozhdenie-adresa-seti-i-shirokoveshhatelnogo-adresa/

Настроим OSPF c несколькими областями, как показано на рисунке.

Если в этой схеме прописывать маршруты руками (статику), то придется прописать примерно 26 статических маршрутов (по 4 на каждом роутере, и по 5 на каждом компе)-ЭТО НЕ ЕСТЬ ХОРОШО.

Задача: сделать так, чтоб на каждом роутере были все маршруты автоматически все подсети.

Главной считается корневая (backbone area), имеющая номер 0, именно с ней мы работаем, когда настраиваем OSPF для одной зоны. В случае использования нескольких зон, использование корневой зоны обязательно, остальные же зоны подключаются к ней и называются regular area. Это означает, что мы имеем двухуровневую иерархию: корневая зона и все остальные.

Моя схема трансформируется вот в такую:

Конфигурации у меня следующие.

R3.

R2.

R4.

Сделаем трассировку на вот этом участке:

Она закономерна…

Настраиваем экземпляры и ip адреса, как делали это выше. Дальше нам нужно создать области.

Для маршрутизатора R1. Заходим в Routing-OSPF вкладка Areas, нажимаем кнопку добавить и добавляем новую область area1 c Area ID 0.0.0.1

R1.

Настраиваем префиксы в соответствии с нашей схемой:

Область backbone

Область Area1

Должно получиться следующее:

Конфигурация маршрутизатора R2:

По такой же схеме настраиваем R3:

/routing ospf area> add name=area1 area-id=0.0.0.1

/routing ospf area> ..

/routing ospf> network

/routing ospf network> add network=10.1.1.0/30 area=area1

R4:

/routing ospf area> add name=area2 area-id=0.0.0.2

/routing ospf area> ..

/routing ospf> network

/routing ospf network> add network=10.1.2.0/30 area=area2

Настройка маршрутов.

После настройки всех роутеров, проверим таблицу маршрутизации. Подключимся к роутеру R3 и наберем команду в консоли:

ip route print

Как видно, удаленные сети 172.16.0.0/16 и 192.168.2.0/24 не входят в таблицу маршрутизации, поскольку они не распространяются OSPF. Функция перераспределения позволяет различным протоколам маршрутизации обмениваться информацией о маршрутизации, что позволяет, например, перераспределять статические или связанные маршруты в OSPF. В нашей настройке нам необходимо перераспределить подключенную сеть. Нам нужно добавить следующую конфигурацию на маршрутизаторах R1, R2 и R3.

Создадим loopback бриджи на всех роутерах, так же повесим на них IP: 10.255.255.1,2,3,4 (в зависимости от роутера)

Правим инстансы на всех роутерах:

R1.

Заходим в меню Routing – OSPF, вкладка instance, кликаем 2 раза экземпляру default и меняем Redistribute Connected Routes на as type 1

Или даем команду в консоли: /routing ospf instance> set 0 redistribute-connected=as-type-1

R2.

R3.

R4.

На каждом маршрутизаторе должны увидеть следующую таблицу:

Динамические маршруты тоже прилетели.

В логах:

Пустим трассировку с нашего одного крайнего компа, до другого крайнего компа:

Как видно, все работает:

А это как раз, то что требовалось.

Всем хорошей работы!!!

17.10.2019 Posted by | Network and Wi-fi: cisco, mikrotik, huawei, tp-link, d-link, zyxel и другое... | Комментарии к записи OSPF Mikrotik. Многозонная конфигурация. отключены

VPN IPSEC CISCO продолжение.

В прошлом посте  был рассмотрен IPSEC туннель. Но в целом туннели на Cisco, лично для меня,  порой представляют некую сложность в понимании и траблешутинге. Поэтому сегодня еще раз про это, для закрепления материала в голове.

Другой вариант.

Моя схема:

Приступим к настройке.

Настроим первый маршрутизатор и ISAKMP на нем.

R1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#interface fastEthernet 0/0

R1(config-if)#ip address 10.10.10.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#

*Mar  1 02:59:03.491: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up

*Mar  1 02:59:04.491: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

R1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#interface fastEthernet 0/1

R1(config-if)#ip address 1.1.1.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#

*Mar  1 03:01:01.811: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up

*Mar  1 03:01:02.811: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

 

НАСТРОИМ ISAKMP (IKE) — ISAKMP PHASE 1

IKE нужен только для установления SA (Security Association) для IPsec. Прежде чем он сможет это сделать, IKE должен согласовать отношение SA (ISAKMP SA) с одноранговым узлом (peer).

Начнем с настройки маршрутизатора R1 Головного офиса. Первым шагом является настройка политики ISAKMP Phase 1:

R1(config)#  crypto isakmp policy 1

R1(config-isakmp)# encr 3des

R1(config-isakmp)# hash md5

R1(config-isakmp)# authentication pre-share

R1(config-isakmp)# group 2

R1(config-isakmp)# lifetime 86400

Приведенные выше команды означают следующее:

  • 3DES— метод шифрования, который будет использоваться на этапе 1
  • MD5— алгоритм хеширования
  • Pre-Share— использование предварительного общего ключа (PSK) в качестве метода проверки подлинности
  • Group 2— группа Диффи-Хеллмана, которая будет использоваться
  • 86400— время жизни ключа сеанса. Выражается либо в килобайтах (сколько трафика должно пройти до смены ключа), либо в секундах. Значение установлено по умолчанию.

Политика ISAKMP Phase 1 определяется глобально. Это означает, что если у нас есть пять разных удаленных площадок и настроено пять разных политик ISAKMP Phase 1 (по одной для каждого удаленного маршрутизатора), то, когда наш маршрутизатор пытается согласовать VPN-туннель с каждой площадкой, он отправит все пять политик и будет использовать первое совпадение, которое принято обоими сторонами.

Далее мы собираемся определить Pre-Shared ключ для аутентификации с нашим партнером (маршрутизатором R2) с помощью следующей команды:

R1(config)# crypto isakmp key 12345678 address 1.1.1.2

Pre-Shared ключ партнера установлен на 12345678 (такие ключи лучше не использовать, это просто для примера) , а его публичный IP-адрес — 1.1.1.2. Каждый раз, когда R1 пытается установить VPN-туннель с R2 (1.1.1.2), будет использоваться этот ключ.

НАСТРОИМ IPSEC.

Для настройки IPSec нужно сделать следующее:

  • Создать расширенный ACL.
  • Создать IPSec Transform.
  • Создать криптографическую карту (Crypto Map).
  • Применить криптографическую карту к общедоступному (public) интерфейсу.

СОЗДАМ РАСШИРЕННЫЙ ACL.

Нам нужно создать расширенный access-list  и в нем определить какой трафик хотим пропускать через VPN-туннель. В этом примере это будет трафик из одной сети в другую с 10.10.10.0/24 по 20.20.20.0/24. Иногда такие списки называют crypto access-list или interesting traffic access-list.

R1(config)# ip access-list extended VPN-TRAFIC

R1(config-ext-nacl)# permit ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255

СОЗДАМ IPSEC TRANSFORM.

Следующим шагом является создание набора преобразования (Transform Set), используемого для защиты наших данных.

R1(config)# crypto ipsec transform-set TS esp-3des esp-md5-hmac

Приведенная выше команда определяет следующее:

  • ESP-3DES— метод шифрования
  • MD5— алгоритм хеширования

СОЗДАМ CRYPTO MAP-у.

Crypto Map является последнем этапом нашей настройки и объединяет ранее заданные конфигурации ISAKMP и IPSec:

R1(config)# crypto map CMAP 10 ipsec-isakmp

R1(config-crypto-map)# set peer 1.1.1.2

R1(config-crypto-map)# set transform-set TS

R1(config-crypto-map)# match address VPN-TRAFFIC

Карта CMAP. Тег ipsec-isakmp сообщает маршрутизатору, что эта криптографическая карта является криптографической картой IPsec. Хотя в этой карте (1.1.1.2) объявлен только один пир, существует возможность иметь несколько пиров.

ПРИМЕНИМ КРИПТО КАРТУ К ОБЩЕДОСТУПНОМУ ИНТЕРФЕЙСУ.

Последний шаг — применить крипто карту к интерфейсу маршрутизатора, через который выходит трафик. Здесь исходящим интерфейсом является FastEthernet 0/1.

R1(config)# interface FastEthernet0/1

R1(config- if)# crypto map CMAP

Обратите внимание, что интерфейсу можно назначить только одну криптокарту.

Как только применим крипто карту к интерфейсу, мы получаем сообщение от маршрутизатора, подтверждающее, что isakmp включен: “ISAKMP is ON”.

Настройка IPSec VPN в Головном офисе завершена.

Теперь перейдем к маршрутизатору Филиала для завершения настройки VPN. Настройки для R2 идентичны, с отличиями лишь в IP-адресах пиров и ACL.

R2(config)# crypto isakmp policy 1

R2(config-isakmp)# encr 3des

R2(config-isakmp)# hash md5

R2(config-isakmp)# authentication pre-share

R2(config-isakmp)# group 2

R2(config-isakmp)# lifetime 86400

 

R2(config)# crypto isakmp key merionet address 1.1.1.1

R2(config)# ip access-list extended VPN-TRAFFIC

R2(config-ext-nacl)# permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255

 

R2(config)# crypto ipsec transform-set TS esp-3des esp-md5-hmac

R2(config)# crypto map CMAP 10 ipsec-isakmp

R2(config-crypto-map)# set peer 1.1.1.1

R2(config-crypto-map)# set transform-set TS

R2(config-crypto-map)# match address VPN-TRAFFIC

 

R2(config)# interface FastEthernet0/1

R2(config- if)# crypto map CMAP

 

ТРАНСЛЯЦИЯ СЕТЕВЫХ АДРЕСОВ (NAT) И VPN-ТУННЕЛИ IPSEC.

В реальной схеме трансляция сетевых адресов (NAT-PAT), скорее всего, будет настроена для предоставления доступа в интернет внутренним хостам. При настройке VPN-туннеля типа «Site-To-Site» обязательно нужно указать маршрутизатору не выполнять NAT (deny NAT) для пакетов, предназначенных для удаленной сети VPN.

Это легко сделать, вставив оператор deny в начало списков доступа NAT, как показано ниже:

Для первого маршрутизатора:

R1(config)# ip nat inside source list 100 interface fastethernet0/1 overload

R1(config)# access-list 100 deny ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255

R1(config)# access-list 100 permit ip 10.10.10.0 0.0.0.255 any

Для второго маршрутизатора:

R2(config)# ip nat inside source list 100 interface fastethernet0/1 overload

R2(config)# access-list 100 deny ip 20.20.20.0 0.0.0.255 10.10.10.0  0.0.0.255

R2(config)# access-list 100 permit ip 20.20.20.0 0.0.0.255 any

 

ИНИЦИАЛИЗАЦИЯ И ПРОВЕРКА VPN-ТУННЕЛЯ IPSEC.

VPN-туннель готов. Чтобы инициировать VPN-туннель, нам нужно заставить один пакет пройти через VPN (как раз в прошлый раз я с этим столкнулся, пока не пустил ping, туннель никак не поднимался), делаю тоже самое и в этот раз:

R1# ping 20.20.20.1 source fastethernet0/0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:

Packet sent with a source address of 10.10.10.1

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 44/47/48 ms

Первое эхо-сообщение icmp (ping) получило тайм-аут, но остальные получили ответ, как и ожидалось. Время, необходимое для запуска VPN-туннеля, иногда превышает 2 секунды, что приводит к истечению времени ожидания первого пинга.

Чтобы проверить VPN-туннель, используем команду show crypto session:

R1# show crypto session

Crypto session current status

Interface: FastEthernet0/1

Session status: UP-ACTIVE

Peer: 1.1.1.2 port 500

IKE SA: local 1.1.1.1/500 remote 1.1.1.2/500 Active

IPSEC FLOW: permit ip 10.10.10.0/255.255.255.0 20.20.20.0/255.255.255.0

Active SAs: 2, origin: crypto map

Видно, что туннель поднялся и все работает.

Всем хорошей работы !!!

15.10.2019 Posted by | Network and Wi-fi: cisco, mikrotik, huawei, tp-link, d-link, zyxel и другое... | Комментарии к записи VPN IPSEC CISCO продолжение. отключены