Настройка 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.