Назад | Перейти на главную страницу

Почему UFW блокирует некоторые разрешенные внутренние соединения?

Моя установка такова:

UFW на сервере 2 и сервере 3 блокирует определенные запросы, поступающие с сервера 1 (nginx), и отображается в журнале ошибок nginx как «истекло время ожидания восходящего потока». Трафик между nginx и uwsgi-сервером находится в частной сети.

Это настройка UFW на серверах uwsgi:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
Anywhere on eth1           ALLOW IN    Anywhere
Anywhere                   ALLOW IN    192.168.1.1
Anywhere (v6) on eth1      ALLOW IN    Anywhere (v6)

Пример блока UFW в системном журнале:

20 августа 13:56:16 ядро: [1028623.806318] [UFW BLOCK] IN = eth1 OUT = MAC = 68: 05: ca: 17: c9: fb: 68: 05: ca: 17: ca: 0e: 08: 00 SRC = 192.168.1.1 DST = 192.168.1.103 LEN = 60 TOS = 0x00 PREC = 0x00 TTL = 64 ID = 54877 DF PROTO = TCP SPT = 41652 DPT = 8000 WINDOW = 14600 RES = 0x00 SYN URGP = 0

Если я отключу UFW на серверах Uwsgi, таймауты в nginx прекратятся. На данный момент тайм-ауты / блоки - это в основном частые вызовы AJAX (каждые 2 минуты), но не исключительно.

Верно, я обнаружил, что UFW блокирует НЕВЕРНЫЕ пакеты (я полагаю, неправильная контрольная сумма), поступающие с сервера Nginx. Понятия не имею, почему это происходит. Я решил это, удалив правило из before.rules в UFW, которое отбрасывает недопустимые пакеты. Сайт снова работает быстро.