Perdida de paquetes con debian

César Sepúlveda B cesar.sepulveda.b en gmail.com
Mie Abr 16 15:18:46 CLT 2008


Hola lista.

Tengo el siguiente problema que realmente no se que pueda ser.

tengo un modem de sDSL con 4 bocas y capacidad para 4 ips

a este tengo conectado un pc con debian y otro con windows.

haciendo pruebas con ping -c 500 ip_modem, con el linux tengo algunas veces 
perdidas de hasta 10% de paquetes, esto es totalmente aleatoreo, ya que 
puedes estar días sin tener ningún problemas, pero en otros, la perdida de 
paquetes es mucha, y son todos juntos, osea no es del tipo, envío tres, y 
pierdo uno, si no que la perdida es consecutiva, osea pierdo 20 paquetes 
seguidos y luego continua normal.

el windows no tiene ningún problema.

e cambiado tarjeta de red, y cables de red, pero el problema persiste.
la maquina con debian, no tiene carga en procesador, de disco duro y swap 
tiene espacio, y memoria ram también. 

elimine las reglas de tc que tengo, osea actualmente esta con el pfifo_fast 
que viene por defecto.

realmente no se por donde puede ir el problema, lo peor de todo que este 
debian funciona como "router" para toda una lan, entonces en esos segundo en 
los cuales no recibe paquetes por la interfaz eth0 se caen todas las 
conexiones establecidas desde la lan hacia afuera, como msn, descargas, etc. 

las caídas ocurren exista un gran trafico hacia el exterior, o no, osea no es 
por sobrecarga en el debian, y el modem esta descartado ya que a la maquina 
windows que esta conectada directa no sufre ningún problema.

otro atecedente que me llama la atención es monitoreo en tiempo real el in/out 
de la eth0 desde consola con nload, y cuando ocurre este problema, el out 
baja a 0kbs, pero el upload sigue funciondo, osea salen paquetes desde la 
eth0 hacia el modem, pero el problema es que no entran...

espero me puedan guiar por donde puede ir el problema.

de pasada dejo la configuración de iptables. y la de network/interfaces

iptables:

#!/bin/bash

iptables -F
iptables -X
iptables -Z
iptables -t nat -F

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

export LAN=eth1
export WAN=eth0


iptables -A INPUT -s 10.0.1.0/24  -p tcp --dport 3000 -j ACCEPT
iptables -A INPUT -s 0.0.0.0 -p tcp --dport 3000 -j DROP

iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o ${WAN} -j SNAT --to-source 
200.73.5.155 ##nat

iptables -t nat -A PREROUTING -p tcp --dport 80 -i ${WAN} -j DNAT --to 
10.0.1.200:80 
iptables -t nat -A PREROUTING -p tcp --dport 21 -i ${WAN} -j DNAT --to 
10.0.1.200:21 
iptables -t nat -A PREROUTING -p tcp --dport 81 -i ${WAN} -j DNAT --to 
10.0.1.1:80 
iptables -t nat -A PREROUTING -p tcp --dport 22 -i ${WAN} -j DNAT --to 
10.0.1.200:22 
iptables -t nat -A PREROUTING -p tcp --dport 67 -i ${WAN} -j DNAT --to 
10.0.1.60:22 


iptables -A FORWARD -d 200.29.72.170 -j ACCEPT
iptables -A FORWARD -i 10.0.1.56 -s 200.29.72.170 -j ACCEPT

iptables -A FORWARD -p tcp --dport 80 -j ACCEPT ##web
iptables -A FORWARD -p tcp --sport 80 -j ACCEPT ##web
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT ##web_ssl
iptables -A FORWARD -p tcp --sport 443 -j ACCEPT ##web_ssl

iptables -A FORWARD -p tcp -s 10.0.1.0/24 --dport 20:21 -j ACCEPT

iptables -A FORWARD -p tcp --dport 25 -j ACCEPT ##mail_smtp
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT ##mail_smtp
iptables -A FORWARD -p tcp --dport 995 -j ACCEPT ##mail_pop3_ssl
iptables -A FORWARD -p tcp --sport 995 -j ACCEPT ##mail_pop3_ssl
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT ##mail_pop3
iptables -A FORWARD -p tcp --sport 110 -j ACCEPT ##mail_pop3
iptables -A FORWARD -p tcp --sport 465 -j ACCEPT ##mail_smtp_ssl
iptables -A FORWARD -p tcp --dport 465 -j ACCEPT ##mail_smtp_ssl

iptables -A FORWARD -p tcp --dport 22 -j ACCEPT ##ssh
iptables -A FORWARD -p tcp --sport 22 -j ACCEPT ##ssh
iptables -A FORWARD -p tcp --dport 66 -j ACCEPT ##ssh_digitalmente
iptables -A FORWARD -p tcp --sport 66 -j ACCEPT ##ssh_digitalmente

iptables -A FORWARD -p tcp --dport 2086 -j ACCEPT ##whm
iptables -A FORWARD -p tcp --sport 2086 -j ACCEPT ##whm
iptables -A FORWARD -p tcp --dport 2082 -j ACCEPT ##cpanel
iptables -A FORWARD -p tcp --sport 2082 -j ACCEPT ##cpanel
iptables -A FORWARD -p tcp --dport 2095 -j ACCEPT ##webmail
iptables -A FORWARD -p tcp --sport 2095 -j ACCEPT ##webmail

iptables -A FORWARD -p tcp --dport 1863 -j ACCEPT ##messenger
iptables -A FORWARD -p tcp --sport 1863 -j ACCEPT ##messenger
iptables -A FORWARD -p tcp --dport 9010 -j ACCEPT ##msn webcam
iptables -A FORWARD -p tcp --sport 9010 -j ACCEPT ##msn webcam
iptables -A FORWARD -p tcp --dport 6891:6900 -j ACCEPT ##messenger
iptables -A FORWARD -p tcp --sport 6891:6900 -j ACCEPT ##messenger
iptables -A FORWARD -p tcp --dport 5222 -j ACCEPT ##jabber
iptables -A FORWARD -p tcp --sport 5222 -j ACCEPT ##jabber

iptables -A FORWARD -p tcp --dport 3306 -j ACCEPT ##mysql
iptables -A FORWARD -p tcp --sport 3306 -j ACCEPT ##mysql

iptables -A FORWARD -p udp --dport 123 -j ACCEPT ##ntp
iptables -A FORWARD -p udp --sport 123 -j ACCEPT ##ntp

iptables -A FORWARD -s 10.0.1.58 -j ACCEPT #jc
iptables -A FORWARD -d 10.0.1.58 -j ACCEPT #jc
iptables -A FORWARD -s 10.0.1.151 -j ACCEPT #jc
iptables -A FORWARD -d 10.0.1.151 -j ACCEPT #jc
iptables -A FORWARD -s 10.0.1.53 -j ACCEPT #cesar
iptables -A FORWARD -d 10.0.1.53 -j ACCEPT #cesar

iptables -t nat -A PREROUTING -i eth1 -s 10.0.1.0/24 -d ! 10.0.1.0/24 -p 
tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward



interface:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 200.73.5.xxx
        netmask 255.255.255.248
        gateway 200.73.5.xxx



auto eth1
iface eth1 inet static
        address 10.0.1.1
        netmask 255.255.255.0
        pre-up /etc/iptables.sh


Espero me puedan dar alguna ayuda.

Atte
César Sepúlveda Barra.



Más información sobre la lista de distribución Linux