November 17, 2022 05:17AM
We're using Nginx as ingress controller in a Kubernetes environment. Nginx uses a DNS service inside k8s with 1 single service-IP and multiple DNS PODs behind that.

The translation from service-IP to any of the multiple DNS PODs is done via DNAT rules.

The problem:
- Nginx establishes an UDP 'connection' on for example localIP source-port 12345 towards serviceIP
- DNAT translates this as sourceport 12345 towards any DNS-POD; for example
- If DNS-POD terminates Nginx is not aware of this because of the 'connection' towards serviceIP
- Nginx will send all future DNS request using the same tuple of serviceIP:sourcePort, so ->
- This will result in a timeout because the destination POD isn't there anymore

Is it possible to force Nginx to use different source UDP ports every X seconds, of after a timeout?
Subject Author Posted

Howto force Nginx resolver to use new source UDP port

jeanpaul November 17, 2022 05:17AM

Re: Howto force Nginx resolver to use new source UDP port

Maxim Dounin November 17, 2022 03:22PM

Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 149
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 466 on July 09, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready