Архив рубрики: Networking

Вопросы, касающиеся работы сетей, сетевых протоколов и оборудования.

HTTP: редиректы, POST и GET запросы, и “потерянные” данные

23 ноября 2019
 

 Имеется приложение, которое должно принимать данные через POST-запросы от клиентов. Перед этим приложением имеется некий прокси, не важно какой – AWS Application Load Balancer, NGINX или любой другой. Мы изначально столкнулись с проблемой на AWS ALB, потом я начал тестить на NGINX, что бы искючить влияение самого AWS-сервиса – воспроизводится везде, т.к. не зависит от… Читать далее »

dnsmasq: ошибки в AWS – “Temporary failure in name resolution”, логи, дебаг и размер кеша

26 октября 2019
 

 При использовании AWS VPC DNS периодически сталкиваемся с ошибками вида “php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution“. Единственный совет от тех. поддержки AWS заключался в установке dnsmasq в роли кеширующего сервиса, но он уже давно установлен – а проблема раз в несколько месяцев проявляется снова. Хотя пост не о том, но из возможных причин… Читать далее »

OpenVPN: ошибки No route to host и ERR_ADDRESS_UNREACHABLE – причина и решение

14 октября 2019
 

 Имеется OpenVPN сервер. Его установка и настройка описаны в постах OpenVPN: настройка OpenVPN Access Server и AWS VPC peering: OpenVPN сервер расположен в одной AWS VPC, Bitwarden – в другой. Между этими VPC поднят VPC Peering, и OpenVPN должен роутить трафик между клиентом и Bitwarden. Проблема в том, что при доступе к Bitwarden (см. Bitwarden:… Читать далее »

Redis: основные параметры конфигурации и тюнинг производительности

5 сентября 2019
 

 В процессе настройки Redis  в роли кеширующего сервиса для приложения – набросался такой вот пост. Рассмотрим основные параметры конфигурации Redis, их значения, как они и на что они влияют, и на какие из них стоит обратить внимание. Местами совсем кратко, но везде со ссылками. Начать, пожалуй, стоит с утилиты redis-benchmark. Устанавливается вместе с сами Redis,… Читать далее »

Docker: Compose и общие сети

20 августа 2019
 

 Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube – то придётся перезапускать и Jenkins, на котором… Читать далее »

Kubernetes: знакомство, часть 3 – обзор AWS EKS и ручное создание кластера

15 августа 2019
 

 Продолжаем знакомство с Kubernetes. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer Следующие: Kubernetes: знакомство, часть 4 — аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM В этой части перейдём уже непосредственно к EKS – кратко его рассмотрим,… Читать далее »

Kubernetes: знакомство, часть 2 – создание кластера с AWS cloud-provider и AWS LoadBalancer

10 августа 2019
 

 В первом посте – Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор – были рассмотрены основные компонены, теперь время применить их на практике. Продолжение – Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера. Следующим, что очень хотелось потрогать – это интеграция Kubernetes с AWS и работа с сетью: создать веб-сервис,… Читать далее »

OpenVPN: Let’s Encrypt DNS verification с certbot и AWS Route53 и обновление сертификата в OpenVPN Access Server

24 мая 2019
 

 В продолжение темы об установке и настройке OpenVPN Access Server, см. OpenVPN: настройка SSL и hostname. Прошло три месяца, строк действия сертификата от Let’s Encrypt закончился, надо его обновить (см. Prometheus: Alertmanager и blackbox-exporter — проверка срока действия SSL и нотификация в Slack). Можно было бы использовать привычную мне схему с webroot, но OpenVPN AS… Читать далее »

AWS: VPC peering DNS resolution и настройки DNS для OpenVPN AS

17 мая 2019
 

 Имеется VPC с OpenVPN. Эта VPC через VPC Peering объединена с другими VPC в нашем AWS-аккаунте. Проблема в том, что для разрешения DNS имён на приватные, а не публичные IP, сейчас используется dnsmasq на хосте с VPN-сервером, для которого создан файл /etc/dnsmasq.hosts, в котором вручную приходится вносить приватные IP для доменов. Подробнее см. в посте… Читать далее »

Redis: Sentinel – bind 0.0.0.0, проблема с localhost и announce-ip

10 апреля 2019
 

 Изначально в файлах настроек Sentinel я использовал bind 0.0.0.0, что бы инстансы были доступны по внешним IP. Из-за этого при развёртывании системы на реальном окружении возникла проблема при определении мастер-хоста и других инстансов Sentinel. В этом посте – пример такой проблемы и их решение. На самом деле проблем было больше, но получилось воспроизвести только одну,… Читать далее »