Настройка сети:
Подсети AWS
10.0.0.0/24
10.0.1.0/24
10.0.254.0/24
Домашняя подсеть: 10.62.5.0/24
Подсеть OpenVPN: 10.8.0.0/24
В AWS есть сервер OpenVPN, работающий под управлением 10.0.254.234 в Windows 2016.
Дома:
Итак, в основном то, что я сконструировал здесь, я предполагаю, это то, что OpenVPN называл в документации VPN «сайт-сеть».
Маршруты введены во всех подходящих местах, и все работает отлично. Например, я могу успешно подключиться со своего Mac к любому из моих серверов в AWS. Например, я часто использую веб-сайт 10.0.0.95:443 с моего Mac. Тот факт, что все соединения Home => AWS работают, заставляет меня думать, что вся маршрутизация настроена правильно.
Так в чем проблема?
Проблема в том, что я не могу подключиться с хостов AWS к домашним хостам. Примеры:
Итак, в итоге я пришел к выводу, что сервер OpenVPN в AWS, похоже, может подключаться к чему угодно в домашней сети, предположительно используя 10.8.0.1 в качестве адреса источника. Но ни один из других хостов в AWS (10.0.0.0/16) не может получить доступ к домашней сети.
Опять же, поменяйте направление подключения на противоположное, и все будет хорошо. Домашние хосты могут без проблем подключаться к любым хостам AWS.
Это заставляет меня думать, что проблема не в маршрутизации. Возможно, где-то на домашних хостах или в AWS есть брандмауэр, который блокирует подключения AWS-> Home. С этой целью я попробовал:
(1) Убедитесь, что сетевые правила для хостов AWS разрешают исходящий «весь трафик» - это значение по умолчанию.
(2) Полное отключение брандмауэра на машине OpenVPN @ home.
(3) Убедитесь, что на Mac не запущен брандмауэр. В любом случае я не верю, что когда-либо устанавливал такой.
Я в тупике на этом. Что мне следует исследовать дальше?
ОБНОВИТЬ:
Случаи отказов теперь решены. Теперь я могу успешно подключиться с хостов AWS к домашним хостам:
Теперь характер моего вопроса изменился с поиска решения на понимание Зачем решение сработало.
РЕШЕНИЕ:
Я добавил правило безопасности AWS для хоста по адресу 10.0.254.234 (OpenVPN @ AWS), которое разрешает входящие соединения для всего трафика с 10.0.0.0/16.
Это меня озадачивает. Сервер OpenVPN просто используется как маршрутизатор. Зачем мне нужно правило безопасности, открывающее этот сервер для всех входящих подключений себе чтобы установить соединение от хоста AWS к домашнему хосту?