Si el comando ifconfig muestra perdida de paquetes entrantes (dropped rx packets) en la interfaz de red y al colocar un sniffer el numero de paquetes perdidos se mantiene inmutable, las causas pueden ser las siguientes.
RX packets:23749 errors:0 dropped:8540 overruns:0 frame:0
Causas (Kernel >= 2.6.37): http://www.novell.com/support/kb/doc.php?id=7007165
Si por el contrario se siguen perdiendo paquetes estando tcpdump o cualquier otro sniffer en funcionamiento, debemos buscar el origen del problema. En la gran mayoría de casos vale con ampliar el buffer de la interfaz de red utilizada.
Listando los parametros de eth0.
ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 256
La primera sección “máximos preestablecidos” muestra los valores máximos que se podrían establecer para todos los parámetros disponibles. La segunda sección muestra el valor de cada parámetro actualmente.
Aumentar el ring buffer para RX.
ethtool -G eth0 rx 1020
Si queremos que ese cambio se realice siempre después de arrancar el sistema, podemos definir el comando en el fichero /etc/rc.local.
tcp.analysis.retransmission tcp.analysis.ack_lost_segment tcp.analysis.lost_segment tcp.analysis.out_of_order tcp.segment.error