Переключение IPSEC VPN site-to-site два WAN автоматом

Обсуждение оборудования и его настройки
Ответить
Chai
Сообщения: 63
Зарегистрирован: 25 авг 2017, 08:13

Hi всем!
Есть задача -
дано: два роутера (центр - удаленный филиал) имеют по два WAN , локальные доверенные сети соединяются про VPN.
И требуется наладить автоматическое переключение переключение этих VPN, если один из четырех WAN-ов падает.

Набросал в еве такую схему с динамической маршрутизацией.

Чтобы применять одну и ту же политику ipsec, нужно сделать два loopback-интерфейса на обоих микротика. Это bridges loop3 и loop4. На них замыкается область OSPF.
При пропадании "интернета" на основном WAN маршрут перестраивается через другой WAN по GRE (стоимости разные), трафик идет шифруясь на соответствующих loopback-интерфейсах - из сети 192.168.0.0.24 попадает на loopback, ipsec следует по GRE, расшифровывается на другом loopback-е и попадает в сеть 192.168.2.0.24.

Схематически

Изображение

Левый микротик:

/interface bridge
add name=bridge1
add name=loop4
/interface gre
add local-address=95.79.54.135 mtu=1435 name=gre-main remote-address=\
89.207.60.87
add local-address=95.80.55.55 mtu=1435 name=gre-sec remote-address=\
37.230.60.146
/ip ipsec profile
add dh-group=modp768 enc-algorithm=aes-256 hash-algorithm=sha256 name=\
peer_profile nat-traversal=no
/ip ipsec peer
add address=33.33.33.33/32 local-address=44.44.44.44 name=peer_44 profile=\
peer_profile
/ip ipsec proposal
add enc-algorithms=des name=propasal_ipsec
/routing ospf instance
set [ find default=yes ] router-id=4.4.4.4
/ip address
add address=95.79.54.135/24 interface=ether1 network=95.79.54.0
add address=95.80.55.55/24 interface=ether2 network=95.55.55.0
add address=192.168.0.10/24 interface=ether3 network=192.168.0.0
add address=172.16.1.1/30 interface=gre-main network=172.16.1.0
add address=172.16.2.1/30 interface=gre-sec network=172.16.2.0
add address=44.44.44.44/24 interface=loop4 network=44.44.44.0
/ip dhcp-client
add disabled=no interface=ether2
/ip ipsec identity
add peer=peer_44 secret=123
/ip ipsec policy
add dst-address=192.168.2.0/24 peer=peer_44 proposal=propasal_ipsec \
sa-dst-address=33.33.33.33 sa-src-address=44.44.44.44 src-address=\
192.168.0.0/24 tunnel=yes
/ip route
...
add distance=1 dst-address=192.168.2.0/24 gateway=44.44.44.44

/routing ospf interface
add cost=20 interface=gre-sec
/routing ospf network
add area=backbone network=172.16.2.0/30
add area=backbone network=44.44.44.0/24
add area=backbone network=172.16.1.0/24

Правый микротик

/interface bridge
add name=loop3
/interface gre
add local-address=89.207.60.87 mtu=1435 name=gre-mane remote-address=\
95.79.54.135
add local-address=37.230.60.146 mtu=1435 name=gre-sec remote-address=\
95.80.55.55
/ip ipsec profile
add dh-group=modp768 enc-algorithm=aes-256 hash-algorithm=sha256 name=\
peer_profile nat-traversal=no
/ip ipsec peer
add address=44.44.44.44/32 local-address=33.33.33.33 name=peer_33 profile=\
peer_profile
/ip ipsec proposal
add enc-algorithms=des name=proposal_ipsec
/routing ospf instance
set [ find default=yes ] router-id=3.3.3.3
/ip address
add address=89.207.60.87/24 interface=ether1 network=89.207.60.0
add address=37.230.60.146/24 interface=ether2 network=37.230.60.0
add address=192.168.2.1/24 interface=ether3 network=192.168.2.0
add address=172.16.1.2/30 interface=gre-mane network=172.16.1.0
add address=172.16.2.2/30 interface=gre-sec network=172.16.2.0
add address=33.33.33.33/24 interface=loop3 network=33.33.33.0
/ip dhcp-client
add disabled=no interface=ether1
/ip ipsec identity
add peer=peer_33 secret=123
/ip ipsec policy
set 0 dst-address=192.168.0.0/24 src-address=0.0.0.0/0
add dst-address=192.168.0.0/24 peer=peer_to_33 proposal=proposal_ipsec \
sa-dst-address=44.44.44.44 sa-src-address=33.33.33.33 src-address=\
192.168.2.0/24 tunnel=yes
/ip route
...
add distance=1 dst-address=192.168.0.0/24 gateway=33.33.33.33
/routing ospf interface
add cost=20 interface=gre-sec network-type=point-to-point
/routing ospf network
add area=backbone network=33.33.33.0/24
add area=backbone network=172.16.2.0/30
add area=backbone network=172.16.1.0/24

Диагностика

/ip ipsec> active-peers pr
Flags: R - responder, N - natt-peer
# ID STATE UPTIME PH2-TOTAL
0 R established 8h51m23s 2


/ip ipsec> installed-sa pr
Flags: H - hw-aead, A - AH, E - ESP
0 E spi=0x8DA6888 src-address=44.44.44.44 dst-address=33.33.33.33 state=dying
auth-algorithm=sha1 enc-algorithm=des enc-key-size=64
auth-key="b43fbc00be3c374b3eeddc1c429fb8c80b79ca53"
enc-key="3ee2acb7c0971206" add-lifetime=24m/30m replay=128

1 E spi=0xE44080E src-address=33.33.33.33 dst-address=44.44.44.44 state=dying
auth-algorithm=sha1 enc-algorithm=des enc-key-size=64
auth-key="a04ecad7cc9ebc8bac79d8f6940c3bfd791024e3"
enc-key="617f57ab71659ed4" add-lifetime=24m/30m replay=128

2 E spi=0x4CFBC34 src-address=44.44.44.44 dst-address=33.33.33.33
state=mature auth-algorithm=sha1 enc-algorithm=des enc-key-size=64
auth-key="45516550ec580f996dfdee479c00d6036f67a253"
enc-key="97a82f6d0c711960" add-lifetime=24m/30m replay=128

3 E spi=0x476568B src-address=33.33.33.33 dst-address=44.44.44.44
state=mature auth-algorithm=sha1 enc-algorithm=des enc-key-size=64
auth-key="4f1aa2f21bec7b302497395e02cabafb17728357"
enc-key="644c5b8772ea2f90" add-lifetime=24m/30m replay=128


На втором таблица маршрутизации
ip route pr
...
6 ADC 172.16.1.0/30 172.16.1.2 gre-mane 0
7 ADC 172.16.2.0/30 172.16.2.2 gre-sec 0
8 S 192.168.0.0/24 33.33.33.33 1 // идти в соседнюю локальную сеть через loopback-интерфейс, также пробовал здесь 44,44,44,44, маршруты остаются неактивны.
9 ADC 192.168.2.0/24 192.168.2.1 ether3 0

На первом - симметричная.

Мы видим, что ipsec-VPN установился, но при отправке пакетов - сеть недоступна.
Чего не так?


Ответить