Плохо/неправильно работает NAT на cds

Есть следующая система:

 # lshw -short 
H/W path      Device  Class       Description
=============================================
                      system      A7S8X-MX
/0                    bus         A7S8X-MX
/0/0                  memory      128KiB BIOS
/0/4                  processor   AMD Sempron(tm)   2200+
/0/4/8                memory      128KiB L1 cache
/0/4/9                memory      256KiB L2 cache
/0/27                 memory      256MiB System Memory
/0/27/0               memory      DIMM [empty]
/0/27/1               memory      256MiB DIMM
/0/100                bridge      741/741GX/M741 Host
/0/100/1              bridge      SiS AGP Port (virtual PCI-to-PCI bridge)
/0/100/1/0            display     661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter
/0/100/2              bridge      SiS964 [MuTIOL Media IO]
/0/100/2.5            storage     5513 [IDE]
/0/100/2.7            multimedia  AC'97 Sound Controller
/0/100/3              bus         USB 1.1 Controller
/0/100/3/1    usb2    bus         OHCI Host Controller
/0/100/3.1            bus         USB 1.1 Controller
/0/100/3.1/1  usb3    bus         OHCI Host Controller
/0/100/3.2            bus         USB 1.1 Controller
/0/100/3.2/1  usb4    bus         OHCI Host Controller
/0/100/3.3            bus         USB 2.0 Controller
/0/100/3.3/1  usb1    bus         EHCI Host Controller
/0/100/4      eth0    network     SiS900 PCI Fast Ethernet
/0/100/5              storage     RAID bus controller 180 SATA/PATA  [SiS]
/0/100/a      eth1    network     RTL-8139/8139C/8139C+

на ней стоит cds пока как samba/unix/dns/dhcp сервер + раздача инета nat-ом
инет раздается следующим скриптом:
cat /root/bin/firewall.sh

#!/bin/sh
TRUSTED_HOSTS="127.0.0.1/8 192.168.0.0/16"
source /root/bin/fireconfig.sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
stop(){
    echo -e "\nStopping firewall..."
    echo  "Reset the default polices in the filter table: "
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    echo "Reset the default polices in the nat table: "
    iptables -P PREROUTING ACCEPT -t nat
    iptables -P POSTROUTING ACCEPT -t nat
    iptables -P OUTPUT ACCEPT -t nat
    echo "Reset the default polices in the mangle table: "
    iptables -P PREROUTING ACCEPT -t mangle
    iptables -P OUTPUT ACCEPT -t mangle
    echo "Flushing rules and erase all chains: "
    for t in $( cat /proc/net/ip_tables_names 2>/dev/null );do
        iptables -F -t $t
        iptables -X -t $t
    done
    echo "firewall was stopped"
}
start(){
    echo "Accept all incoming estabilished connections"
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    echo "Accept ICMP echo-request"
    iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
    echo "Accept all outgoing connections (set default action)"
    iptables -P OUTPUT ACCEPT
    echo "Accept all connections from internal network"
    for eth in lo ${IF_INTERNAL};do
        echo -e "\t- Accept all connections over '$eth' network interface"
        iptables -I INPUT -i "$eth" -j ACCEPT;
    done
    echo "Accept all connections from trusted hosts"
    for h in ${TRUSTED_HOSTS};do
        echo -e "\t- Accept all connections from host $h"
        iptables -A INPUT -s "$h" -j ACCEPT
    done
    echo "Accept all connections to shared ports from inet"
    for p in ${SHARED_PORTS};do
        if [ -n "${p//[0-9]/}" ];then
            echo -e "\t- Accept all incoming connections to TCP and UDP ports $p"
            iptables -A INPUT -m multiport -p TCP --dports "$p" -i "${IF_REAL}" -j ACCEPT
            iptables -A INPUT -m multiport -p UDP --dports "$p" -i "${IF_REAL}" -j ACCEPT
        else
            echo -e "\t- Accept all incoming connections to TCP and UDP port $p"
            iptables -A INPUT -p TCP --dport $p -i "${IF_REAL}" -j ACCEPT
            iptables -A INPUT -p UDP --dport $p -i "${IF_REAL}" -j ACCEPT
        fi
    done
    echo "Set default action for incoming connections a DROP"
    iptables -P INPUT DROP
    echo "Add NAT rules..."
    for ipin in ${IP_INTERNAL}; do
        echo -e "\t- Add rule to ${ipin}"
        iptables -t nat -A POSTROUTING -s "${ipin}" -o "${IF_REAL}" -j SNAT --to "${IP_REAL}"
    done
    #echo "Redirect all SMTP conections from world (to ${IF_REAL}:25) to ${MAIL_SRV}"
    #iptables -t nat -p tcp --dport 25 -A PREROUTING -i "${IF_REAL}" -j DNAT --to-destination "${MAIL_SRV}"
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo 1 > /proc/sys/net/ipv4/conf/all/send_redirects
}
show(){
    echo -e "Internet interface "${IF_REAL}" has ip "${IP_REAL}
    echo -e "internal interface(s) <"${IF_INTERNAL}"> has ip(s) <"${IP_INTERNAL}">"
    echo -e "TRUSTED_HOSTS=${TRUSTED_HOSTS}\nSHARED_PORTS=${SHARED_PORTS}"
    for t in $( cat /proc/net/ip_tables_names 2>/dev/null );do
        echo -e "\n--------\nTable: $t"
        iptables -t $t -L -n
    done
}
case "$1" in
    start|reload|restart)
        stop
        start;;
    stop)
        stop;;
    show)
        show;;
    *)
        echo "Usage: $0 {start|stop|restart|reload|show}"
        exit 1;;
esac

cat /root/bin/fireconfig.sh

#!/bin/sh
export TRUSTED_HOSTS=""
export SHARED_PORTS="22"
export IF_REAL=eth1
export IP_REAL=`/sbin/ifconfig "${IF_REAL}"| /usr/bin/awk '2==NR && "inet"==$1{split($2,a,":");print a[2];}'`
export IF_INTERNAL="eth0"
export IP_INTERNAL=` for i in ${IF_INTERNAL}; do 
        #/sbin/ifconfig "$i"| /usr/bin/awk '"inet"==$1{split($2,i,":");split($4,m,":");print i[2]"/"m[2]}';
        [ -x '/sbin/ip' ] && ip addr show "$i"|awk '"inet"==$1{print($2)}' || 
        /sbin/ifconfig "$i"| 
                /usr/bin/awk '"inet"==$1{split($2,p1,":");split($3,p2,":");split($4,p3,":"); 
                        if("addr"==p1[1]){ 
                                if("Mask"==p2[1])print(p1[2]"/"p2[2]); 
                                else if("Mask"==p3[1])print(p1[2]"/"p3[2]);};}'
done`

С родным ядром от cds дистфилесы за натом качались на скорости порядка 5-8 Kbit/s, на самом же сервере - скорость была порядка 2Mbit. Изза nat-а поднять скорость можно было, но лишь качая во много потоков (к примеру firefox-ом с плагином DownThemAll).
грешил на многое - от свич-хаба-мыльницы, до хитрых настроек закачки дистфилисов wget-ом.
Однако решил пересобрать ядро под свою систему. После этого проблема исчезла.
При настройке ядра убрал лишние ata/snd драйвера, нужное вкомпилил в ядро. ВЫБРАЛ АРХИТЕКТУРУ СВОЮ, а не Pentium PRO, отключил ipv6, включил CONFIG_BRIDGE_NF_EBTABLES, отключил поддержку pcie(ибо нет на этой матплате)и дров под разные ноуты включил CONFIG_PRINTK_TIME, и еще по мелочи.
В результате - проблема решена. Не знаю какое из моих действий было ключевым, но думаю, что это повод для того чтоб или пересмотреть набор ключей ядра или в хаутушку добавить пункт настоятельно рекомендующий пересобрать ядро под себя.

Да, интересно все же, что именно помогло.

думаю тут все сыграло.
НО, настоятельно рекомендую включить в ядрах параметр CONFIG_PRINTK_TIME
выдает в dmesg время события с загрузки системы, пример:

 # dmesg |head -n300|tail
[    0.991466] loop: module loaded
[    0.991693] sata_sis 0000:00:05.0: version 1.0
[    0.991734] sata_sis 0000:00:05.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.991743] sata_sis 0000:00:05.0: Detected SiS 180/181/964 chipset in SATA mode
[    0.991887] scsi0 : sata_sis
[    0.992060] scsi1 : sata_sis
[    0.992190] ata1: SATA max UDMA/133 cmd 0xac00 ctl 0xb000 bmdma 0xbc00 irq 17
[    0.992195] ata2: SATA max UDMA/133 cmd 0xb400 ctl 0xb800 bmdma 0xbc08 irq 17
[    0.992325] pata_sis 0000:00:02.5: version 0.5.2
[    0.992347] pata_sis 0000:00:02.5: PCI INT A -> GSI 16 (level, low) -> IRQ 16

Проблема с NAT на cds. Суть в следующем перестал открываться сайт e1.ru все остальные с тормозами, но открываются. Через некоторое время перестал открываться еще один сайт. Запросы в реальном времени видно. Сайты пингуются с рабочих машинок. С самого сервера этот сайт открывается в лёт. Как ускорить отдачу сайтов сервером. Потому что появилась реальная тормознутость при открывании страниц. Хотя файлы выкачиваются нормально. Вирусы исключаются на новой системе или на виртуальной машине, тоже не хочет открывать.