Tem muita gente atrás da máquina, compartilhando conexão?..
No dmesg não aparece nada de
ip_conntrack: table full, dropping packet?.. Se for o caso, faz algo como
echo 16384 > /proc/sys/net/ipv6/ip_conntrack_max que resolve.
No dmesg não aparece 'ethN: Too much work at interrupt' também não?.. Nesse caso é algum problema de placa-mãe ou da placa mesmo. Mas como você trocou a placa vai ser placa-mãe hehe.
A máquina é firmeza? Não pode ter nada queimando um overhead nela?
uptime abaixo de 2.0... prá tar atrapalhando a rede o uptime deveria estar lá pros 20 ehhe
O cabo de... hmmm... olha: eth0 vai via cabo cross pro aparelhinho xDSL. eth1 entra no HUB/Switch da rede. Se você botar eth0 + eth1 no mesmo hub/switch, tá explicadíssimo o problema, vai ser isso mesmo!
De qualquer forma vale verificar crimpagem do cabo que vai da eth0 até o aparelhinho xDSL.
Tá esquisito essa eth0 com ip real, atrás de DSL, não?.. O router xDSL num teria que fazer um DMZ ou simplesmente ter uma comunicação com o IP (falso) do servidor linux, não?.. Eu esperaria IP real em DSL no linux na interface ppp0, quando usando roaring penguim pppoe.
Espero que algumas das idéias dêm uma idéia do que é o problema!