понедельник, 25 октября 2010 г.

«Костыль» для сетевых устройств

Все команды выполнял от прав пользователя — root.
На сервере установлены 3 сетевые платы Davicom. После установки базовой конфигурации Lenny сетевые карты работают секунд 15 и отваливаются.
Команда 'dmesg | grep “eth”' показывает ошибку типа — tulip_stop_rxtx() failed (CSR5 0xf0260000 CSR6 0xb3862002).
Оказалось, что по-умолчанию установились два драйвера — tulip и dmfe. Причем рабочим драйвером стал считаться tulip.
Решил я данную проблему вбиванием «костыля» в систему. А именно:
      1. Дописал строчку 'dmfe' в /etc/modules
      2. Дописал 'tulip' в /etc/modprobe.d/blacklist
      3. Написал скрипт который удаляет драйвер tulip и заменяет его на dmfe

'nano /etc/init.d/LAN' ниже преведены строчки кода:

#!/bin/sh
### BEGIN INIT INFO
# Provides: LAN
# Required-Start:
# Required-Stop:
# Default-Start: 3
# Default-Stop: 0 6
# Short-Description: Run /etc/init.d/LAN if it exist
### END INIT INFO
echo ""
echo "LAN reload configured by Dethroner"
/etc/init.d/networking stop
/sbin/rmmod tulip
sbin/rmmod dmfe
/sbin/modprobe dmfe
/etc/init.d/networking start
echo -n "LAN reload done"
echo “”
      1. Делаю скрипт исполняемым - 'chmod +x /etc/init.d/LAN'
      2. Добавляю в автозагрузку ссылку - 'ln -s /etc/init.d/LAN /etc/rc3.d/S99LAN'

среда, 29 сентября 2010 г.

Управление скоростями сетевых устройств.

После перехода на выделенную линию в 1,5 Мб\с заметил, что на прием скорость соответствует заявленной, а вот на отдачу не более 0,2-0,3 Мб\с. Заставило задуматься. Все мои потуги в попытке решения данной проблемы были решены вбиванием очередного «костыля». Вот собственно как я это решал и опишу здесь.
Все команды выполнялись от прав пользователя root.
1. Собственно в этом мне помогла утилита wondershaper. Для начала я ее установил 'apt-get install wondershaper'.
2. Способ применения ее очень простой:
- 'wondershaper [интерфейс] [скорость скачивания] [скорость отправки]' — устанавливаю ограничения скорости для интерфейса;
- 'wondershaper [интерфейс]' — смотрю ранее установленные ограничения;
- 'wondershaper clear [интерфейс]' — сбрасываю все ограничения интерфейса.
3. Для моего случая прописываю 'wondershaper eth0 1500000 1500000' ,т.е. Для сетевой карты смотрящей в Internet я задаю скорости скачивания/отправки равные пропускной способности моего канала. Далее 'wondershaper eth1 1500000 1500000' прописываю такие же скорости для сетевой карты смотрящей в локальную сеть.