Рейтинг:1

Пакеты не маршрутизируются через туннель openvpn в экземпляре ec2

флаг in

Я настраиваю сервер openvpn на экземпляре aws ec2. Этот экземпляр имеет два интерфейса:

  • Один интерфейс, принадлежащий частной подсети (10.10.0.0/17)
  • Один интерфейс, принадлежащий общедоступной подсети (10.10.128.0/17)

Моя цель — разрешить трафику из Интернета взаимодействовать с экземплярами, находящимися в частной подсети, через VPN. Вот схема

Соединение хорошо установлено между внешним и общедоступным интерфейсом.Он также устанавливается между частным интерфейсом и экземплярами, находящимися в частной подсети.

Проблема возникает, когда я пытаюсь пропинговать частные экземпляры с внешнего клиента. Я вижу сообщение "последовательность инициализации завершена", но трафик через туннель не проходит. На самом деле кажется, что маршрут вообще не найден, даже если пунктом назначения является сам сервер vpn:

traceroute к интерфейсу настройки сервера

логирование соединения на клиенте

логирование соединения на сервере

Несмотря на то, что при создании маршрута возникают ошибки, он присутствует в таблице маршрутизации ядра, поэтому я думаю, что проблема не здесь:

команда route на клиенте

Вот моя конфигурация клиента:

клиент
разработчик тун
прото удп
удаленный <server_ip> 1194
маршрут 10.10.0.0 255.255.128.0
ни к чему
разрешить-повторить бесконечный
постоянный ключ
упорный тун
комп-льзо 
глагол 3
шифр AES-256-CBC
<ca>
-----НАЧАТЬ СЕРТИФИКАТ-----
<СНИП>
-----КОНЕЦ СЕРТИФИКАТА-----
</ca>
<сертификат>
Сертификат:
<СНИП>
-----НАЧАТЬ СЕРТИФИКАТ-----
<СНИП>
-----КОНЕЦ СЕРТИФИКАТА-----
-----НАЧАТЬ СЕРТИФИКАТ-----
<СНИП>
-----КОНЕЦ СЕРТИФИКАТА-----
</сертификат>
<ключ>
-----НАЧАТЬ ЗАКРЫТЫЙ КЛЮЧ-----
<СНИП>
-----КОНЕЦ ЗАКРЫТОГО КЛЮЧА-----
</ключ>

И сервер один:


местный 0.0.0.0 

порт 1194

прото удп

разработчик тун

ca /etc/openvpn/easy-rsa/pki/ca.crt
сертификат /etc/openvpn/easy-rsa/pki/выпущенный/server.crt
ключ /etc/openvpn/easy-rsa/pki/private/server.key  

дх /etc/openvpn/easy-rsa/pki/dh.pem

топология подсети

сервер 10.10.0.0 255.255.128.0

#общение между клиентами
дубликат-сп

поддержка 10 120

шифр AES-256-CBC

комп-льзо

постоянный ключ
упорный тун

статус openvpn-status.log

глагол 3

заглушить 10

явное-выход-уведомление 1

Я следовал инструкциям openvpn с самого начала и действительно не знаю, чего мне не хватает. Заранее спасибо за помощь !

Tim avatar
флаг gp
Tim
Ваш вопрос будет легче понять с помощью диаграммы и определения ваших терминов, таких как «внешний трафик».Я не совсем уверен, чего вы пытаетесь достичь. Два вопроса 1) Рассматривали ли вы проверку источника/назначения EC2? 2) Рассматривали ли вы возможность использования управляемой AWS VPN?
raphael.oester avatar
флаг in
Добавил схему в пост. Внешний трафик означает трафик, поступающий из Интернета. 1) Я не понимаю вашего вопроса 2) Да, и я бы предпочел не использовать его, потому что это дорого и недостаточно персонализировано.
Tim avatar
флаг gp
Tim
AWS VPN стоит около 36 долларов в месяц, дорого для игры, но дешево для корпорации / бизнеса, учитывая избыточность и тому подобное. Прочтите всю эту страницу, особенно раздел, на который я ссылаюсь напрямую: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck. VPN немного похож на NAT в том смысле, что он не является источником или получателем трафика. «Каждый экземпляр EC2 по умолчанию выполняет проверку источника/назначения. Это означает, что экземпляр должен быть источником или получателем любого трафика, который он отправляет или получает. ."
raphael.oester avatar
флаг in
Я создаю приложение, которое будет содержать несколько экземпляров VPN, и действительно не могу позволить себе 36 долларов за сервер с учетом суммы. Я отключил проверку источника/назначения, но ничего не изменил. И на самом деле это было вполне ожидаемо, потому что VPN-трафик даже не проходит через туннель, как было сказано в заголовке. Смотрите скриншот трассировки.
Tim avatar
флаг gp
Tim
Я не могу помочь с OpenVPN, только с AWS. Плата за AWS VPN позволяет использовать два входящих VPN, которые покрывают связь с каждым ресурсом в вашем VPC, но только с двумя целями/назначениями за пределами вашего VPC. Если вы подключаете много филиалов / ресурсов к VPN, я понимаю, почему вам нужно много VPN, но мне интересно, сможете ли вы справиться с шифрованием на уровне приложения, но вы не сказали, чего вы пытаетесь достичь, как именно вы хотите это сделать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.