Почему тег экземпляра Google Cloud отбрасывает пакеты?

У меня есть VPC с двумя экземплярами ВМ Compute Engine. Один из них, vpn-server , действует как VPN для кластера локальных компьютеров. Другой, тестовый экземпляр , настроен с помощью тега экземпляра route-through-vpn , который направляет трафик на vpn-server , если он собирается на 10.10.0.0/19 .

Существует также экземпляр AppEngine с тегом экземпляра route-through-vpn . Веб-приложение, работающее в нем, может напрямую подключаться к нашему локальному кластеру.

Эта установка отлично проработала более года. Затем вчера небольшое количество IP-адресов внезапно перестало работать.

Под «перестал работать» я имел в виду следующее:

  • По-прежнему возможно использовать SSH для нерабочих IP-адресов, если вы вошли в систему vpn-server .
  • Но трафик, исходящий из тестового экземпляра , не может достичь этих IP-адресов.

Один из ошибочных IP-адресов - 10.10.0.8 . Один IP-адрес, который все еще работает, - 10.10.0.47 . Насколько я могу судить, все адреса правильно соответствуют диапазону адресов 10.10.0.0/19 .

Для отладки я вошел на vpn-server и test-instance и попытался отправить ICMP-пакеты из test-instance на различные IP-адреса в кластере. Я также запустил tcpdump на vpn-server , чтобы я мог видеть проходящий трафик.

Для IP-адресов, которые все еще работают, я видел пакеты ICMP в вывод tcpdump , как и ожидалось. Но для IP-адресов, которые больше не работают, я ничего не вижу в tcpdump , что указывает на то, что уровень маршрутизации Gcloud даже не отправляет трафик на мой vpn-сервер .

Чтобы продолжить тестирование, я выключил одну из локальных машин, трафик которой маршрутизируется должным образом, и попытался проверить связь с ней. Пакеты эхо-запроса ICMP появились в выводе tcpdump без ответов, как и ожидалось.

Маршруты Google Cloud не имеют большого количества параметров, и нет доступной информации, которая могла бы мне помочь исследуйте дальше, так что теперь кто-то просто случайно узнает, почему это могло произойти.

Кто-нибудь решил такую ​​проблему или имеет какое-нибудь представление, что может быть причиной?

0
задан 18 October 2019 в 23:54
1 ответ

Это больше похоже на проблему с конфигурацией экземпляра или таблицей маршрутизации. Если я правильно понял, IP-адрес 10.10.x.x / 19 принадлежит вашей локальной сети. Мы можем отказаться от правил брандмауэра, поскольку я предполагаю, что у вас есть правило, подобное «разрешить входящий / исходящий трафик из источника / пункта назначения 10.10.0.0 / 19», и если вы видите, что IP-адрес 10.10.0.47 все еще работает, означает, что правило брандмауэра работает, похоже, больше, чем поведение маршрутизации, вы пытались очистить таблицу маршрутов внутри своего экземпляра? Это может помочь обновить вашу таблицу маршрутизации. Я знаю, что у GCP есть возможность использовать экземпляр в качестве шлюза Это похоже на то, что вы делаете.

-1
ответ дан 5 December 2019 в 18:42

Теги

Похожие вопросы