Étant donné que UDP est un protocole sans connexion, je suis confus par le paramètre de mon pare-feu Sonicwall pour «Délai de connexion UDP». Il est réglé sur une valeur par défaut de 30 secondes - mais qu'est-ce qui expire exactement après 30 secondes?
Voici ma situation réelle: j'ai un serveur NTP dans le pool ntp.org qui sert environ 3000 requêtes par minute. Cela met un peu de pression sur mon grade SOHO TZ-200 - pas en termes de bande passante; mais en termes de nombre de connexions qu'il a traversé. Je me demande si les connexions UDP sont en quelque sorte «maintenues en vie» sur le SonicWall; même s'ils sont (par définition) sans connexion.
Qu'est-ce que j'oublie ici? Que signifie SonicWall lorsqu'il parle d'un "délai d'expiration de connexion UDP"?
Réponses:
Bien qu'il n'y ait pas de "connexion" formelle avec UDP, il existe toujours une convention selon laquelle les clients envoient des demandes et s'attendent à obtenir des réponses avec l'IP source et le port échangés avec l'IP et le port Destinatoin.
Les pare-feu avec état et les NAT supposent donc que les paquets avec une combinaison donnée d'IP source / port source / IP de destination / port de destination et la combinaison correspondante avec source et destination échangés font partie d'une "connexion". Cela permet d'appliquer des règles telles que «connexions sortantes uniquement» à UDP et d'appliquer des traductions inversées aux paquets de réponse.
Malheureusement, le pare-feu ou le NAT n'a aucun moyen de savoir quand le client a fini de parler au serveur. Il doit donc attendre un délai avant de supprimer l'entrée de ses tables de suivi d'état. C'est le délai d'attente que vous définissez.
En principe, il serait possible de construire une boîte NAT qui utilise une approche sans état pour les transferts de port tout en conservant une approche avec état pour les connexions sortantes, mais il est plus simple d'utiliser simplement le NAT avec état pour tout et il semble que c'est ce que fait votre fournisseur.
Malheureusement, comme vous l'avez découvert, cela craint pour les serveurs UDP sans état servant un grand nombre de petites demandes. Vous vous retrouvez dans une situation où le pare-feu consomme beaucoup plus de ressources que le serveur lui-même.
la source
Votre pare-feu gère une table de connexion pour les connexions UDP. Par exemple, lorsque vous envoyez une requête DNS, le pare-feu crée une entrée pour ce flux afin que la réponse DNS soit autorisée à revenir sur votre réseau. Les entrées de la table expirent après 30 secondes d'inactivité.
la source
Votre serveur NTP est derrière votre NAT (pare-feu). UDP est sans connexion du point de vue de l'application et du système d'exploitation et pour la plupart des appliances réseau.
Pour votre pare-feu NAT, cependant, il enregistre chaque fois qu'un paquet UDP sort afin qu'une réponse de l'autre extrémité finisse par être redirigée vers le même ordinateur à l'intérieur de votre réseau. Celles-ci sont appelées «connexions» par le pare-feu.
Maintenant, en théorie, le NAT sait que le port externe sera le port NTP bien connu, mais il semble que votre pare-feu ne le supporte pas. Si c'est votre seule utilisation pour UDP via ce pare-feu, vous pouvez définir un délai d'expiration de connexion plus petit. Alternativement, s'il vous permet de définir par le port d'application, vous pouvez le définir sur une durée plus courte (1 seconde, par exemple) pour ce port spécifique.
la source
IPv6 n'a pas besoin de NAT, mais il semble toujours que les pare-feu soient dynamiques par rapport à UDP.
la source