Высокая доступность AWS site-to-site VPN

У меня есть два сервера FreeBSD, работающие как брандмауэры, настроенные с IP-адресом carp, который может плавать между двумя серверами для достижения высокой доступности.

Теперь я настроил туннели ipsec для своего VPC на AWS с racoon и ipsec-tools. Мне пришлось настроить два IP-адреса 169.254.x.x на общедоступном сетевом интерфейсе, чтобы туннель работал.

Проблема в том, что в случае отказа моего брандмауэра мне придется добавить два IP-адреса 169.254.xx на другом брандмауэре.

Я попытался добавить IP-адреса 169.254.x.x на петлевом интерфейсе, но это не сработало.

Мое текущее решение — добавить один из IP-адресов (169.254.33.120) на моем первом сервере и другой IP-адрес (169.254.35.140) на втором сервере. Но с этим решением я теряю избыточность, потому что работает только один туннель.

У кого-нибудь есть лучшее решение?


person laocius    schedule 26.06.2019    source источник
comment
На самом деле, я могу добавить адреса 169.254.x.x на другие интерфейсы, и туннель все еще работает; он просто не работает на петлевом интерфейсе   -  person laocius    schedule 26.06.2019


Ответы (1)


Вы можете иметь свои собственные частные диапазоны 10.x.x.x/16, не обязательно использовать диапазон Link-local 169.254.0.0/16.

Для настройки VPN AWS ​​предоставляет 2 конечные точки для каждой VPN, которые вам нужно будет настроить и убедиться, что они оба работают, оба туннеля должны отображаться UP (зеленым) в графическом интерфейсе AWS, но только один будет активен для маршрутизации трафика https://docs.aws.amazon.com/vpc/latest/adminguide/Introduction.html

Теперь сложная часть (HA/failover IPSEC_NAT_T) заключается в том, как направить трафик между туннелями, когда они выходят из строя. При использовании raccon перейдите по адресу https://docs.netgate.com/pfsense/en/latest/solutions/aws-vpn-appliance/vpc-wizard-faq.html:

Amazon предоставляет две конечные точки туннеля, которые позволяют передавать трафик между вашими сетями и удаленным VPC, к которому вы подключены. Демон racoon в pfSense способен установить активную ассоциацию фазы 2 только для конкретной пары источник/назначение в одном туннеле. Ассоциации фазы 2 между локальными подсетями и удаленной подсетью VPC настраиваются в графическом интерфейсе pfSense для обоих туннелей, но racoon фактически установит ассоциацию только для первого туннеля. Это означает, что racoon будет пытаться отправить трафик, предназначенный для удаленной подсети VPC, только через первый туннель. Если этот туннель выходит из строя, второй туннель может работать, и входящий трафик из удаленного VPC может автоматически отправляться в ваши локальные сети через этот туннель. Но исходящий трафик к вашему удаленному VPC не будет автоматически переключаться на второй туннель. Чтобы вы могли отправлять исходящий трафик через второй туннель, вам необходимо отключить ассоциации фазы 2 для первого туннеля и применить изменения.

У вас будут доступны оба туннеля, но вам нужно будет найти способ, какой из них использовать (направить трафик)

strongswan — еще один вариант, я думаю, он упрощает работу, когда туннель не работает.

Просто в качестве справки и чтобы получить лучшее представление о концепциях, вот как это делается с помощью устройства paloalto: ">https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClFiCAK

Так что в значительной степени вам понадобится VR (виртуальный маршрутизатор), продвигайте свои маршруты и т. Д. Если возможно, опубликуйте свое решение.

person nbari    schedule 26.06.2019
comment
Спасибо за информацию. Если я не добавлю локальные адреса ссылки, туннель не может быть установлен. Моя конфигурация похожа на эту blog.heptanalytics.com/2018/03/19/ за исключением того, что я использую FreeBSD. - person laocius; 27.06.2019
comment
вероятно, этот nbari.com/post/terraform-full-vpc может дать вам идея о том, как использовать разные диапазоны с помощью 10.13.0.0/16, FreeBSD работает довольно хорошо и чисто, попробуйте использовать конфигурацию generic, предоставленную AWS, чтобы сначала протестировать туннели и охватить всю вашу сеть, а затем попытаться сделать ее избыточной. - person nbari; 27.06.2019