Large MDU Network Configuration

To be totally nitpicky, it's a 5-tuple, with the protocol also included :slight_smile:

The usual worry with doing CGNAT with the range of ports restricted by client is that even for normal (household, small business) use cases, in fact it can easily occur that you have more than 100 connections that can only be differentiated by the selected port on the NAT device

The typical example is querying a public DNS resolver, such as 8.8.8.8, using UDP, dst port 53. Here the only things left to discriminate the connections by is the src port selected by the NAT device. Also, with UDP, the connection tracking entry is only evacuated by timeout. Just to add further inconvenience, when connecting to a website in a modern browser, at least three (A, AAAA, HTTPS) queries are done in parallel.

This is in fact why every big manufacturer of these devices suggests 2048 ports per normal residential user when allocating statically. This is also why bulk port allocation (BPA) exists.

Then of course there's endpoint independent NAT, where by its definition, only the source port may be used to provide differentiation, and nor the destination address or port can be used.

enabled: auto
active-ipv4: yes
active-ipv6: no
tcp-syn-sent-timeout: 5s
tcp-syn-received-timeout: 5s
tcp-established-timeout: 1d
tcp-fin-wait-timeout: 10s
tcp-close-wait-timeout: 10s
tcp-last-ack-timeout: 10s
tcp-time-wait-timeout: 10s
tcp-close-timeout: 10s
tcp-max-retrans-timeout: 5m
tcp-unacked-timeout: 5m
loose-tcp-tracking: yes
liberal-tcp-tracking: no
udp-timeout: 30s
udp-stream-timeout: 3m
icmp-timeout: 10s
generic-timeout: 10m
max-entries: 1048576
total-entries: 14593
total-ip4-entries: 14593
total-ip6-entries: 0

This is during high load time

This shows roughly the same as before. The number of connections is totally manageable. So conntrack isn't your problem.

Probably your connection is overloaded. Queueing will solve that.