¿Hay alguna manera de limitar los puertos Src en el enmascaramiento de IPtables?

¿Hay alguna manera de limitar los puertos Src en el enmascaramiento de IPtables?

Tengo la siguiente cadena configurada por kube-proxy en mis iptables en todos mis nodos.

Chain KUBE-POSTROUTING (1 references)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0            /* kubernetes service traffic requiring SNAT */ 

Todos mis nodos están detrás de un firewall estático/sin estado del proveedor. Con la siguiente configuración de reglas.

tcp_established: &tcp_established
  name: tcp established
  ip_version: ipv4
  dst_port: '32768-65535'
  action: accept
  protocol: tcp
  tcp_flags: ack

Lo que significa que el tráfico desde cualquier lugar está permitido en los puertos 32768-65535 TCP/ACK solo para garantizar conexiones inversas del tráfico saliente.

En todos mis nodos (Ubuntu 16.04) está configurada la siguiente configuración del sistema.

cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

Cuando intento acceder a un servidor remoto, por ejemplo, a través de curl y http, se me caen las conexiones (retransmisión espuria TCP), provenientes de puertos de origen inferiores a 32768.

3   1.051525000 80→20092 [SYN, ACK] Seq=0 Ack=1 Win=64876 Len=0 MSS=1336 SACK_PERM=1 TSval=1259153497 TSecr=1768475026 WS=128   THETARGETIP THESOURCEIP TCP 74

4   2.079464000 [TCP Spurious Retransmission] 20092→80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1 TSval=1768476055 TSecr=0 WS=128 THESOURCEIP THETARGETIP TCP 74

¿Hay alguna manera de "decirle" a iptables, kube-proxy y/o kernel que limiten el rango del puerto de origen usando iptables masquarde?

Respuesta1

Eldocumentación de MASCARADAdocumenta la --to-portsopción:

La opción --to-ports se utiliza para configurar el puerto o puertos de origen que se utilizarán en los paquetes salientes. ...

información relacionada