Además de las otras buenas respuestas, recientemente tuve que usar la tabla de cambios para ajustar las discrepancias de MTU (unidad de transmisión máxima) causadas por el tráfico que pasaba a través de PPPoE, PPP y ATM, cada uno de los cuales agrega una sobrecarga que reduce la carga útil disponible para IP de los 1500 bytes habituales de una trama Ethernet.
Los sistemas en cada extremo de la tubería, como es normal, tendrían su MTU en el valor predeterminado normal de 1500 y, por lo tanto, intentarían enviar tramas IP de ese tamaño. Dado que el tamaño real de la carga útil disponible era menor, esto habría causado la fragmentación de los paquetes, excepto que a menudo el remitente solicitará que los paquetes no se fragmenten y, como tal, terminen siendo descartados por completo.
En un mundo ideal, el descubrimiento de MTU de ruta habría permitido que los puntos finales ajustaran su MTU según fuera necesario, pero este descubrimiento depende de ICMP, y las redes fuera de mi control a menudo se configuraron para abandonar ICMP por razones de seguridad.
La única opción era utilizar la distribución de paquetes en mi enrutador para modificar los paquetes TCP SYN para reducir el tamaño máximo de segmento en la capa de transporte:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
Este tipo de cosas es desordenado e idealmente debería evitarse, pero no tenía otras opciones y esto resolvió el problema.
Espero que estos ejemplos ayuden, así como la página del manual.
iptables(8)
página de manual tiene toda la información que desea, incluidos varios ejemplos agradables del uso de la tabla de control.