Поскольку UDP является протоколом без установления соединения, меня смущает настройка на моем брандмауэре Sonicwall «Тайм-аут соединения UDP». По умолчанию установлено значение 30 секунд, но какой именно тайм-аут после 30 секунд?
Вот моя реальная ситуация: у меня есть NTP-сервер в пуле ntp.org, который обслуживает около 3000 запросов в минуту. Это немного напрягает мой класс SOHO TZ-200 - не с точки зрения пропускной способности; но с точки зрения количества соединений он проходит через него. Мне интересно, поддерживаются ли UDP-соединения на SonicWall; хотя они (по определению) без установления соединения.
Что мне здесь не хватает? Что означает SonicWall, когда говорит о «тайм-ауте UDP-соединения»?
Ответы:
Хотя формального «соединения» с UDP не существует, по-прежнему существует соглашение, согласно которому клиенты отправляют запросы и ожидают получения ответов с исходным IP-адресом и обменом порта на IP-адрес и порт Destinatoin.
Брандмауэры с сохранением состояния и NAT, таким образом, предполагают, что пакеты с заданной комбинацией исходного IP / порта источника / IP-адреса назначения / порта назначения и соответствующей комбинации с заменой источника и назначения образуют часть «соединения». Это позволяет применять правила, такие как «только исходящие соединения», к UDP и позволяет применять обратные преобразования к ответным пакетам.
К сожалению, брандмауэр или NAT не могут узнать, когда клиент завершил разговор с сервером. Поэтому он должен подождать тайм-аут, прежде чем удалить запись из своих таблиц отслеживания состояния. Это время ожидания, которое вы устанавливаете.
В принципе, было бы возможно создать блок NAT, который использовал бы подход без учета состояния для переадресации портов, сохраняя при этом подход с сохранением состояния для исходящих соединений, но проще использовать только NAT с отслеживанием состояния для всего, и похоже, что это то, что делает ваш поставщик.
К сожалению, как вы обнаружили, это отстой для UDP-серверов без сохранения состояния, обслуживающих большое количество небольших запросов. Вы попадаете в ситуацию, когда брандмауэр потребляет гораздо больше ресурсов, чем сам сервер.
источник
Ваш брандмауэр поддерживает таблицу соединений для соединений UDP. Например, когда вы отправляете запрос DNS, брандмауэр создает запись для этого потока, чтобы ответ DNS был разрешен обратно в вашу сеть. Записи в таблице истекают через 30 секунд бездействия.
источник
Ваш NTP-сервер находится за вашим NAT (брандмауэр). UDP не имеет соединения с точки зрения приложения и ОС, а также для большинства сетевых устройств.
Однако для вашего брандмауэра NAT он записывает каждый раз, когда выходит UDP-пакет, так что ответ от другого конца будет перенаправлен на тот же компьютер в вашей сети. Они называются «соединениями» межсетевым экраном.
Теперь, теоретически, NAT знает, что внешний порт будет хорошо известным портом NTP, но похоже, что ваш брандмауэр не поддерживает это. Если это единственный способ использования UDP через этот брандмауэр, вы можете установить меньшее время ожидания соединения. В качестве альтернативы, если он позволяет вам установить порт приложения, вы можете установить меньшее время (скажем, 1 секунду) для этого конкретного порта.
источник
IPv6 не нуждается в NAT, но все равно создается впечатление, что брандмауэры находятся в состоянии по отношению к UDP.
источник