diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-04-03 13:05:22 +0200 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-04-03 13:32:48 +0200 |
| commit | 33179967cd169d52c0732e5eed1aaa93ad12ab8d (patch) | |
| tree | 68332ec58b739a55316d7d67ffee5dbada5f5f19 /src/migration-scripts/system | |
| parent | 316c45aaaee2e646f70b6ef444a462656d31f682 (diff) | |
| download | vyos-1x-33179967cd169d52c0732e5eed1aaa93ad12ab8d.tar.gz vyos-1x-33179967cd169d52c0732e5eed1aaa93ad12ab8d.zip | |
nat64: T8456: add constraint for translation port range
NAT64 requires dedicated transport address space for translation, similar to
exclusive port ownership during socket binding. If a local process and Jool
translation both use the same transport tuple (for example, 192.0.2.1:5000),
traffic conflicts can occur.
Jool does not prevent pool4 from overlapping with other port allocations, so
avoiding conflicts is an operator responsibility.
In addition to service ports already in use, account for Linux ephemeral
range (net.ipv4.ip_local_port_range), which defaults to 32768-60999. This
default is why, when pool4 is empty, Jool uses 61001-65535 on the node's
primary global addresses.
One can adjust the ephemeral range via sysctl, and Jools translation range via
pool4 add/remove.
vyos@vyos:~$ sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999
VyOS now uses verify() in NAT64 to check that the supplied tranlation port
range does not overlap with the Kernels ephemeral port range.
Diffstat (limited to 'src/migration-scripts/system')
0 files changed, 0 insertions, 0 deletions
