IPB

Здравствуйте, гость ( Вход | Регистрация )

Важные объявления

 
Ответить в данную темуНачать новую тему
> настройка HTB.init, 3 интерфейса
zetter
сообщение 2.10.2010, 20:06    [ Вставить ник в форму быстрого ответа ]
Сообщение #1


Участник
**

Группа: Провереные
Сообщений: 29
Регистрация: 22.4.2009
Из: Сети
ICQ: 498982205
Пользователь №: 2065
Спасибо сказали: 1 раз(а)

Дистрибутив:
Ubuntu 10.04, Fedora 12



Репутация: 0


Добрый вечер товарищи! Образовался у меня вопрос, ввиду того, что "на гугле" я ответа не нашел - пишу здесь.

Дистрибутив RFedora 12, с тремя сетевыми картами, eth0 - принимает, eth1 и eth2 раздрают инет двум подсетям. htb.init - вроде режет скорость всем одинаково и справедливо, но, присутствуют "дикие задержки", причем не везде - а только на eth1, на остальных интерфейсах все нормально, менял сетевую - не помогло. Задержки исчезают, как только шейпер выключается. Что делать (предполагаю что чтото не так в настрайках)
Вот конфиги шейпера для интерфейсов:
eth0, eth1, eth2

DEFAULT=30
R2Q=100

eth0-2:10.ssh, eth2-2:10.ssh, eth2-2:10.ssh

# class for outgoing ssh
RATE=512Kbit
CEIL=30Mbit
LEAF=sfq
RULE=*:22
PRIO=10

eth0-2:30.default, eth1-2:30.default, eth2-2:30.default

# default class for outgoing traffic
RATE=512Kbit
CEIL=30Mbit
LEAF=sfq
PRIO=30

eth0-2.root, eth1-2.root, eth2-2.root

# root class containing outgoing bandwidth
RATE=512Kbit

Если кто в курсе - отзовитесь, в чем дело!?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Зарегистрируйтесь, чтобы скрыть этот рекламный блок.
martin
сообщение 3.10.2010, 0:34    [ Вставить ник в форму быстрого ответа ]
Сообщение #2


Administrator
Иконка группы

Группа: Скромные боги
Сообщений: 124
Регистрация: 28.9.2005
Из: Луганск, Украина
ICQ: 39203985
Пользователь №: 1
Спасибо сказали: 11 раз(а)

Дистрибутив:
ASP Linux 12
Jabber ID:
[email protected]



Репутация: 4


for i in `seq 0 2`; do echo "eth$i "; ethtool -i eth$i; done

for i in `seq 0 2`; do echo "eth$i "; ethtool -g eth$i; done

что говорит?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
zetter
сообщение 3.10.2010, 8:27    [ Вставить ник в форму быстрого ответа ]
Сообщение #3


Участник
**

Группа: Провереные
Сообщений: 29
Регистрация: 22.4.2009
Из: Сети
ICQ: 498982205
Пользователь №: 2065
Спасибо сказали: 1 раз(а)

Дистрибутив:
Ubuntu 10.04, Fedora 12



Репутация: 0


for i in `seq 0 2`; do echo "eth$i "; ethtool -i eth$i; done

eth0
driver: tg3
version: 3.102
firmware-version: 5721-v3.58, ASFIPMI v6.19
bus-info: 0000:04:00.0
eth1
driver: r8169
version: 2.3LK-NAPI
firmware-version:
bus-info: 0000:02:00.0
eth2
driver: 8139too
version: 0.9.28
firmware-version:
bus-info: 0000:0a:00.0

for i in `seq 0 2`; do echo "eth$i "; ethtool -g eth$i; done

eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 511
RX Mini: 0
RX Jumbo: 0
TX: 511
Current hardware settings:
RX: 200
RX Mini: 0
RX Jumbo: 0
TX: 511

eth1
Ring parameters for eth1:
Cannot get device ring settings: Operation not supported
eth2
Ring parameters for eth2:
Cannot get device ring settings: Operation not supported
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
martin
сообщение 5.10.2010, 9:46    [ Вставить ник в форму быстрого ответа ]
Сообщение #4


Administrator
Иконка группы

Группа: Скромные боги
Сообщений: 124
Регистрация: 28.9.2005
Из: Луганск, Украина
ICQ: 39203985
Пользователь №: 1
Спасибо сказали: 11 раз(а)

Дистрибутив:
ASP Linux 12
Jabber ID:
[email protected]



Репутация: 4


вот не люблю r8169... попробуй от нее отказаться.
и еще - а там нагрузка какая на канале? может вся доступная полоса на eth1 занята, вот и тормозит?

Нат есть? если есть - в dmesg случайно нет сообщений, что conntrack таблица закончилась?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
zetter
сообщение 5.10.2010, 11:32    [ Вставить ник в форму быстрого ответа ]
Сообщение #5


Участник
**

Группа: Провереные
Сообщений: 29
Регистрация: 22.4.2009
Из: Сети
ICQ: 498982205
Пользователь №: 2065
Спасибо сказали: 1 раз(а)

Дистрибутив:
Ubuntu 10.04, Fedora 12



Репутация: 0


Вот что выдает dmesg | tail -n 22


UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
__ratelimit: 17 callbacks suppressed
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
__ratelimit: 6 callbacks suppressed
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 79.120.41.196:63229 to 195.5.124.250:25576 ulen 1446
UDP: bad checksum. From 109.86.72.242:59082 to 195.5.124.250:4062 ulen 1446
UDP: bad checksum. From 109.86.72.242:59082 to 195.5.124.250:4062 ulen 1446

Изза этого может быть такая проблема с шейпером? Я так понимаю это "битые" пакеты, только вот откуда?
И как с этим бороться?
Ната нет - настроен маскарад.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
martin
сообщение 7.10.2010, 22:06    [ Вставить ник в форму быстрого ответа ]
Сообщение #6


Administrator
Иконка группы

Группа: Скромные боги
Сообщений: 124
Регистрация: 28.9.2005
Из: Луганск, Украина
ICQ: 39203985
Пользователь №: 1
Спасибо сказали: 11 раз(а)

Дистрибутив:
ASP Linux 12
Jabber ID:
[email protected]



Репутация: 4


-j MASQUERADE - частный случай -j NAT вообще то (IMG:http://forum.linux.lg.ua/style_emoticons/default/wink.gif)
Отключи udp checksumming на интерфейсе - и пропадут такие пакеты. Это из за того, что контрольные суммы считаются аппаратно, поэтому ОС не тратит время на их расчет. Но проверяет (IMG:http://forum.linux.lg.ua/style_emoticons/default/wink.gif)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
limon
сообщение 28.12.2010, 3:23    [ Вставить ник в форму быстрого ответа ]
Сообщение #7


Новичок
*

Группа: Новобранец
Сообщений: 4
Регистрация: 10.9.2010
Пользователь №: 2440
Спасибо сказали: 0 раз(а)

Дистрибутив:
Ubuntu 10.04



Репутация: 0


Вопрос по теме HTB, у меня немного другая проблема с этим скриптом, есть интерфейс инета ppp0 и есть несколько клиентских ppp1, ppp2 черед pptpd сервер и т. д.
Правила в HTB созданы для каждого интерфейса, всё работает, пока клиентские интерфейсы существуют, трафик режется, стоит отключиться, и подключиться заново,
правила перестают действовать и клиент получает скорость на всю ширину канала, а не по резаную. Если перезапустить HTB, то снова трафик режется и так до следующего отключения.
Как бы сделать так, чтобы при появлении нового ppp1, ppp2, ppp3 и т. д. интерфейса HTB скрипт выполнял перезапуск?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
martin
сообщение 28.12.2010, 10:31    [ Вставить ник в форму быстрого ответа ]
Сообщение #8


Administrator
Иконка группы

Группа: Скромные боги
Сообщений: 124
Регистрация: 28.9.2005
Из: Луганск, Украина
ICQ: 39203985
Пользователь №: 1
Спасибо сказали: 11 раз(а)

Дистрибутив:
ASP Linux 12
Jabber ID:
[email protected]



Репутация: 4


создавать шейпера в скрипте /etc/ppp/if-up, как все провайдеры (IMG:style_emoticons/default/wink.gif)
После отключения интерфейса все связанные с ним правила автоматически удаляются.

Ну или перезапускайте htb.init в этом скрипте...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
limon
сообщение 28.12.2010, 15:23    [ Вставить ник в форму быстрого ответа ]
Сообщение #9


Новичок
*

Группа: Новобранец
Сообщений: 4
Регистрация: 10.9.2010
Пользователь №: 2440
Спасибо сказали: 0 раз(а)

Дистрибутив:
Ubuntu 10.04



Репутация: 0


Цитата(martin @ 28.12.2010, 11:31) *
создавать шейпера в скрипте /etc/ppp/if-up, как все провайдеры (IMG:style_emoticons/default/wink.gif)
После отключения интерфейса все связанные с ним правила автоматически удаляются.

Ну или перезапускайте htb.init в этом скрипте...


Я так и думал, вот как раз проблема, с тем куском кода что нужно дописать в скрипт /etc/ppp/ip-up для того чтобы HTB перезапускался при появлении новго интерфейса. Так как добавление строчки /etc/init.d/htb.init restart в конец скрипта результата не даёт. Стоит Ubuntu Server 10.04. Или нужно создать скрипт именно if-up ? Я просто не пойму слегка. (IMG:style_emoticons/default/smile.gif)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Shturm_N
сообщение 29.12.2010, 11:42    [ Вставить ник в форму быстрого ответа ]
Сообщение #10


Пингвин со стажем
Иконка группы

Группа: Скромные боги
Сообщений: 1472
Регистрация: 28.9.2005
Из: Луганск
ICQ: 137638230
Пользователь №: 3
Спасибо сказали: 11 раз(а)

Дистрибутив:
Ubuntu, Debian
Jabber ID:
[email protected]



Репутация: 6


Цитата(limon @ 28.12.2010, 15:23) *
Я так и думал, вот как раз проблема, с тем куском кода что нужно дописать в скрипт /etc/ppp/ip-up для того чтобы HTB перезапускался при появлении новго интерфейса. Так как добавление строчки /etc/init.d/htb.init restart в конец скрипта результата не даёт. Стоит Ubuntu Server 10.04. Или нужно создать скрипт именно if-up ? Я просто не пойму слегка. (IMG:style_emoticons/default/smile.gif)

Лучше все писать в /etc/ppp/ip-up.local. ip-up уже существует а редактировать скрипты из пакетов не корректно. Обновился пакет и скрипт улетел...
У меня все шейпера создаются в ip-up.local. Поднимаю из /var/run/radattr.$iface то, что отдал радиус. Отфильтровываю скорости и строю шейпер на этот интерфейс. Но можно брать это дело из базы или из текстового файла. Да хоть статикой забивай. Сам номер интерфейса приходит в аргументах от /etc/ppp/ip-up.
Попробуй тестовый скрипт ip-up.local:

Код
#!/bin/sh
#When the ppp link comes up, this script is called with the following
# parameters
#       $1      the interface name used by pppd (e.g. ppp3)
#       $2      the tty device name
#       $3      the tty device speed
#       $4      the local IP address for the interface
#       $5      the remote IP address
#       $6      the parameter specified by the 'ipparam' option to pppd
#

v1=$(echo "$@" | awk '{print $1}')
v2=$(echo "$@" | awk '{print $2}')
v3=$(echo "$@" | awk '{print $3}')
v4=$(echo "$@" | awk '{print $4}')
v5=$(echo "$@" | awk '{print $5}')
v6=$(echo "$@" | awk '{print $6}')

`echo "interface = $v1; tty = $v2;  pppspeed = $v3; localip = $v4; remoteip = $v5; ipparam = $v6" >> /tmp/ifup.log`
`date >> /tmp/ifup.log`

Думаю там все понятно. Попробуй соединится и заглянуть в /tmp/ifup.log.
Кстати, для дебианбазед дистров есть ньюанс. Строки:
Код
v1=$(echo "$@" | awk '{print $1}')
v2=$(echo "$@" | awk '{print $2}')
v3=$(echo "$@" | awk '{print $3}')
v4=$(echo "$@" | awk '{print $4}')
v5=$(echo "$@" | awk '{print $5}')
v6=$(echo "$@" | awk '{print $6}')

Дело в том, что изначально все аргументы приходят в одном. Эти строки разбирают его. Небольшой костыль.....
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 21.9.2019, 14:03    


BonAppetit - кулинарные авторские фоторецепты  ITO-info