Веб-приложение, которое мы обслуживаем недавно, столкнулось с очень странной проблемой: три из четырех виртуальных машин на двух физических хостах не смогли подключиться к серверу нашего поставщика платежей через HTTPS. Отладка этой проблемы заставила меня совершить интересный тур по стеку OSI:
openssl s_client
, Я обнаружил, что подтверждение SSL не удалосьНи наш поставщик платежей, ни наша хостинговая компания не помогли в диагностике этой проблемы. К счастью, проблема исчезла через пару часов.
Однако это «решение» меня очень огорчает. Я бы хотел знать:
Виртуальные машины работают под управлением Debian 7 на KVM.
Итак, используя эту статью как ссылку: https://www.networkdatapedia.com/single-post/2017/09/13/TCP-Checksum-Error-Case-Study
Постараюсь ответить и уточнить:
- каковы возможные причины такого поведения?
Есть несколько возможных причин:
- как можно дальше диагностировать эту проблему, если она повторится в будущем?
используя упомянутую статью в качестве справочника, вы должны настроить как минимум два местоположения захвата трафика, которые должны включать виртуальную машину, а также интерфейсы голого железа / маршрутизатора.
В зависимости от сетевой архитектуры вы можете обнаружить неисправный сетевой компонент L3. К сожалению, сеть может быть неисправной в восходящем направлении, поэтому убедитесь, что пакеты заглушаются, когда они уходят и входят в вашу контролируемую среду, чтобы убедиться.
Что касается моего личного опыта работы в сети - полностью насыщенная сеть может привести к тому, что такие протоколы, как SSH или HTTPS, не смогут установить соединение. Убедитесь, что доступной полосы пропускания достаточно и что соответствующие хосты могут своевременно отвечать.