O alcance das portas efémeras é facilmente sintonizável com
sysctl net.ipv4.ip_local_port_range="32768 61000"
, e você também pode excluir portas com o parâmetro net.ipv4.ip_local_reserved_ports
.
Para mais personalização, eu começaria olhando para a fonte do kernel, o AFAIK seria um começo net / ipv4 / inet_connection_sock.c onde minha primeira impressão é que a atribuição é aleatória e não sequencial.
# net/ipv4/inet_connection_sock.c
...
/* Obtain a reference to a local port for the given sock,
* if snum is zero it means select any available local port.
*/
int inet_csk_get_port(struct sock *sk, unsigned short snum)
{
...
inet_get_local_port_range(net, &low, &high);
remaining = (high - low) + 1;
smallest_rover = rover = net_random() % remaining + low;