Настройка GRE over IPsec

В этом подразделе представлен более сложный пример настройки маршрутизации с шифрованием, так называемый “GRE over IPsec”, в топологии “Hub-and-Spoke”.

Сочетание GRE поверх IPsec — это классическое решение для преодоления ключевых ограничений “чистого” IPsec. Только благодаря GRE можно реализовать динамическую маршрутизацию с шифрованием. Так происходит потому, что IPsec сам по себе не предполагает многоадресную передачу данных, необходимую, например, для работы протокола OSPF.

GRE over IPsec создаёт поверх безопасного IPsec-туннеля универсальный туннель GRE, который умеет инкапсулировать любой трафик ( multicast, широковещательный, не-IP) и создаёт виртуальную сеть между конечными точками.

Hub-and-Spoke — это одна из самых фундаментальных и распространённых топологий сети, особенно в контексте VPN и корпоративных WAN (Wide Area Network). Hub (центральная часть) — это главный, центральный офис или дата-центр. Spokes (расходящиеся лучи) — это удалённые филиалы, магазины или офисы меньшего размера. Вся связь между Spokes происходит только через Hub.

Постройте схему в соответствии с рисунком ниже.

Значение и синтаксис большинства команд раскрыты в других разделах документации. Настройка IPsec, в основном, была дана в предыдущем подразделе “Настройка протокола IKEv2”, здесь будут только некоторые замечания.

Обратите внимание, что для обоих туннелей используется одна карта фильтрации, которая последовательно обрабатывает исходящий и входящий трафик R2 затем исходящий и входящий трафик R3 и оканчивается разрешающим правилом для прочего трафика.

Для шифрования туннеля R1–R2 используется протокол IKEv1 и включён режим преодоления NAT nat-traversal. Для шифрования туннеля R1–R3 используется протокол IKEv2, для которого NAT traversal включён по умолчанию. Таким образом данные на входящей стороне туннелей инкапсулируются в датаграммы UDP-порт 4500 и должны фильтроваться правилом вида match gre host 192.168.123.1 host 192.168.123.2.

Настройте R1:

enable
configure
hostname R1
 
# Настройка интерфейсов и портов
interface loopback.0
ip address 1.1.1.1/24
 
interface 2ge0
ip address 192.168.123.1/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
 
# Настройка туннелей GRE
interface tunnel.12
ip address 192.168.12.1/24
ip mtu 1400
ip tunnel 192.168.123.1 192.168.123.2 mode gre
 
interface tunnel.13
ip address 192.168.13.1/24
ip mtu 1400
ip tunnel 192.168.123.1 192.168.123.3 mode gre
 
# Настройка маршрутизации OSPF
router ospf 1
network 1.1.1.0 0.0.0.255 area 0
network 192.168.12.0 0.0.0.255 area 0
network 192.168.13.0 0.0.0.255 area 0
exit
 
# Включение протокола IKE
crypto-ipsec ike enable
 
# Настройка профилей IPsec
crypto-ipsec profile CIPROFILE12 ike-v1
 nat-traversal
 mode tunnel
 ike-phase1
  proposal aes256-sha256-modp2048
  auth pre-shared-key ExamplePassword12
 ike-phase2
  protocol esp
  proposal aes256-sha256
  local-ts 192.168.123.1
  remote-ts 192.168.123.2
 
crypto-ipsec profile CIPROFILE13 ike-v2
 mode tunnel
 ike-phase1
  proposal aes256-sha256-modp2048
  auth pre-shared-key ExamplePassword13
 ike-phase2
  protocol esp
  proposal aes256-sha256
  local-ts 192.168.123.1
  remote-ts 192.168.123.3
 
# Задание крипто-карт
crypto-map CMAP12 10
match peer 192.168.123.2
set crypto-ipsec profile CIPROFILE12
 
crypto-map CMAP13 20
match peer 192.168.123.3
set crypto-ipsec profile CIPROFILE13
 
# Задание карт фильтрации
filter-map ipv4 FMAP123 5
 match gre host 192.168.123.1 host 192.168.123.2
 set crypto-map CMAP12 peer 192.168.123.2
 
filter-map ipv4 FMAP123 10
 match udp host 192.168.123.2 eq 4500 host 192.168.123.1 eq 4500
 set crypto-map CMAP12 peer 192.168.123.2
 
filter-map ipv4 FMAP123 15
 match gre host 192.168.123.1 host 192.168.123.3
 set crypto-map CMAP13 peer 192.168.123.3
 
filter-map ipv4 FMAP123 20
 match udp host 192.168.123.3 eq 4500 host 192.168.123.1 eq 4500
 set crypto-map CMAP13 peer 192.168.123.3
 
filter-map ipv4 FMAP123 30
 match any any any
 set accept
 
# Присвоение карты фильтрации интерфейсам
interface 2ge0
set filter-map in FMAP123 10
 
interface tunnel.1
set filter-map in FMAP123 10
 
interface tunnel.13
set filter-map in FMAP123 10

Обратите внимание, что при настройке маршрутизации OSPF указываются не физическая подсеть объединяющая все три маршрутизатора, а подсети образуемые туннелями GRE.

Настройте R2:

enable
configure
hostname R2
 
# Настройка интерфейсов и портов
interface loopback.0
ip address 2.2.2.2/24
 
interface 2ge0
ip address 192.168.123.2/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
 
# Настройка туннеля GRE
interface tunnel.21
ip address 192.168.12.2/24
ip mtu 1400
ip tunnel 192.168.123.2 192.168.123.1 mode gre
 
# Настройка маршрутизации OSPF
router ospf 1
network 2.2.2.0 0.0.0.255 area 0
network 192.168.12.0 0.0.0.255 area 0
exit
 
# Включение протокола IKE
crypto-ipsec ike enable
 
# Настройка профилей IPsec
crypto-ipsec profile CIPROFILE21 ike-v1
nat-traversal
mode tunnel
ike-phase1
proposal aes256-sha256-modp2048
auth pre-shared-key ExamplePassword12
ike-phase2
protocol esp
proposal aes256-sha256
local-ts 192.168.123.2
remote-ts 192.168.123.1
 
# Задание крипто-карт
crypto-map CMAP21 10
match peer 192.168.123.1
set crypto-ipsec profile CIPROFILE21
 
# Задание карт фильтрации
filter-map ipv4 FMAP21 10
match gre host 192.168.123.2 host 192.168.123.1
set crypto-map CMAP21 peer 192.168.123.1
 
filter-map ipv4 FMAP21 20
match udp host 192.168.123.1 eq 4500 host 192.168.123.2 eq 4500
set crypto-map CMAP21 peer 192.168.123.1
 
filter-map ipv4 FMAP21 30
 match any any any
 set accept
 
# Присвоение карты фильтрации интерфейсам
interface 2ge0
set filter-map in FMAP21 10
 
interface tunnel.21
set filter-map in FMAP21 10

Настройте R3:

enable
configure
hostname R3
 
# Настройка интерфейсов и портов
interface loopback.0
ip address 3.3.3.3/24
 
interface 2ge0
ip address 192.168.123.3/24
port ge0
service-instance 4ge0
encapsulation untagged
connect ip interface 2ge0
 
# Настройка туннеля GRE
interface tunnel.31
ip address 192.168.13.3/24
ip mtu 1400
ip tunnel 192.168.123.3 192.168.123.1 mode gre
 
# Настройка маршрутизации OSPF
router ospf 1
network 3.3.3.0 0.0.0.255 area 0
network 192.168.13.0 0.0.0.255 area 0
exit
 
# Включение протокола IKE
crypto-ipsec ike enable
 
crypto-ipsec profile CIPROFILE31 ike-v2
mode tunnel
ike-phase1
proposal aes256-sha256-modp2048
auth pre-shared-key ExamplePassword13
ike-phase2
protocol esp
proposal aes256-sha256
local-ts 192.168.123.3
remote-ts 192.168.123.1
 
# Задание крипто-карт
crypto-map CMAP31 10
match peer 192.168.123.1
set crypto-ipsec profile CIPROFILE31
 
# Задание карт фильтрации
filter-map ipv4 FMAP31 10
match gre host 192.168.123.3 host 192.168.123.1
set crypto-map CMAP31 peer 192.168.123.1
 
filter-map ipv4 FMAP31 20
match udp host 192.168.123.1 eq 4500 host 192.168.123.3 eq 4500 
set crypto-map CMAP31 peer 192.168.123.1
 
filter-map ipv4 FMAP31 30
match any any any
set accept
 
# Присвоение карты фильтрации интерфейсам
interface 2ge0
set filter-map in FMAP31 10
 
interface tunnel.31
set filter-map in FMAP31 10

Проверьте работоспособность туннелей и маршрутизации командами вида ping 1.1.1.1 source 2.2.2.2.

Проверьте статистику фильтрации пакетов командой show counters interface 2ge0 filter-map in.

Проверьте настроены ли подключения IPsec командой show crypto-ipsec ike connections.

Проверьте состояние туннелей командой show crypto-ipsec ike security-associations.

  • Поле state туннеля IKE фазы 1 должно иметь значение ESTABLISHED.
  • Поле state дочернего туннеля IKE фазы 2 должно иметь значение INSTALLED.

Проверьте соединения программой перехвата трафика. Если конфигурация произведена верно, вы должны увидеть передачу зашифрованных пакетов ESP.