У меня есть два сервера OpenVPN и две машины, подключенные к ним.
Адрес openvpn сервера 1: 10.158.1.1
Адрес openvpn сервера 2: 10.158.2.1
Машина 1 имеет адрес 10.158.1.11 на сервере 1, 10.158.2.11 на сервере2.
Машина 2 имеет адрес 10.158.1.12 на сервере 1, 10.158.2.12 на сервере2.
Простая текстовая диаграмма выглядит так:
10.158.1.11 (машина1) <------- (10.158.1.1 сервер1) -------> 10.158.1.12 (машина2)
10.158.2.11 (машина1) <------- (10.158.2.1 сервер2) -------> 10.158.2.12 (машина2)
На данный момент все в порядке, я могу пинговать 1.11 с 1.12, 2.11 с 2.12 и т. Д.
Таким образом, машины могут связываться друг с другом через два VPN-интерфейса через сервер openvpn (клиент-клиент включен на сервере openvpn)
Я хотел бы добиться связанного интерфейса, чтобы машины разговаривали друг с другом только по одному IP-адресу.
Пример: 10.159.0.1 для машины 1 и 10.159.0.2 для машины 2.
Пытался перевести tap10 и tap20 (интерфейсы openvpn соответственно) в режим соединения active-backup, но если я использую mii, очевидно, не будет смысла, если интерфейс vpn не работает, так как openvpn не отключает интерфейс tap, если ссылка обрывается.
Также пытался использовать мониторинг arp, но затем связывание считает, что весь интерфейс отключен, поскольку ARP не работает, когда интерфейсы были порабощены. Пытался использовать туннели GRE (точнее, GRETAP, а не обычный GRE, который составляет всего лишь l3) поверх ответвлений openvpn, но они не удались, как и обычные интерфейсы TAP.
PS: Машина 2, Сервер 1 с Debian 9, Сервер 2 и Машина 1 с Debian 8.
В системах Debian 8 с использованием backported 2.4 OpenVPN. Значит версии OpenVPN совпадают.
Есть идеи, что делать?
Спасибо за ваш вклад!
Я бы начал отвечать на этот вопрос, заявив, что ваша стратегия не сработает. Вы не собираетесь связываться через эти интерфейсы. Когда вы переходите к маршрутизации, вы отказались от понятий связывания и теперь находитесь в сфере передовых технологий маршрутизации, таких как BGP или сами серверы VPN с балансировкой нагрузки. Однако, не зная ваших требований, я не могу дать очень твердую рекомендацию.
BGP, скорее всего, станет здесь потенциальным ответом на возможные внешние сетевые требования, так как он может маршрутизировать несколько обычно расположенных ISP вместе для резервирования "интернет-каналов". Вы даже можете использовать его для динамической маршрутизации по географическим регионам и обеспечения географической доступности. Возможно, вам это не понадобится, но если у вас есть два сайта для одной и той же цели, вы можете подумать о чем-то подобном.
Если вы хотите создать локально размещенные кластеры серверов для OpenVPN вместо или в дополнение к расширенной маршрутизации, вам необходимо будет использовать балансировщик нагрузки с отслеживанием состояния (приложения) для активной / активной кластеризации или использовать Linux HA с Pacemaker для управления ресурсы в отказоустойчивом кластере.
Оба эти предложения, как правило, слишком сложны, чтобы довести их до конца с помощью этого средства, и обычно предназначены для использования в качестве указателей для возможной реконструкции вашей стратегии.
И, наконец, я ненавижу давать рекомендации по продукту; они плохо стареют. Однако на момент написания этой статьи «PFSense» представлял собой фантастический готовый продукт, который поможет вам объединить OpenVPN в пару HA и управлять трафиком BGP. Если вы запутались в деталях и вам нужна рабочая концепция или продукт, это может вам помочь. Этому брандмауэру требуется всего несколько минут, чтобы полностью заработать даже на виртуальной машине.