Closed matejvrba closed 1 month ago
Sorry about the silence. I'll review it next weekend.
It looks like your FTP server is bypassing Linux's ephemeral range configuration.
if one of the random ports for data connection is greater than arround 60_000, the connection times out.
I'm guessing it's actually 61_000.
NAT64 Jool uses ports 61k1+ by default. And Netfilter Jool is very greedy, so you can't use them for anything else.
It's sort of like if you started ~4.5 thousand HTTP servers, and bound each of them to a port above 61k. So one for 61001, one for 61002, another for 61003, up to the last server, which binds itself to 65535.
Your FTP server can try to listen in those ports, but the HTTP servers will eat up all the traffic, because they have more priority.
You need to tweak your NAT64 port range and/or your FTP port range so they don't collide with each other.
Thanks for the response. I didn't realize this was a known limitation.
Hi, I'm trying to run an FTP server (pure-ftpd) on a machine that is also running jool. I'm running into an issue where if I try to download a file in passive mode (not extended passive mode) then if one of the random ports for data connection is greater than arround 60_000, the connection times out.
I was able to reproduce this in clean openSUSE Tumbleweed VM with only jool and pure-ftpd installed using this script https://pastebin.com/TQ1nGgKi. I've edited the pure-ftpd config to allow anonymous login and created empty file named
test
.Here is kernel log when the packet was received
I should probably mention that it's all IPv4, no IPv6 addresses are used (not regular, nor v4 mapped to v6)