![]() |
Модификация ToS / DSCP в FreeBSD
Не так давно сие, как утверждает unix-общественность, стало возможно во FreeBSD (в линухе оно есть уже давным-давно), но как утверждает та же общественность,
Цитата:
http://nuclight.livejournal.com/126002.html вот тут картинок по-больше и чуть по-подробней :biggrin: http://blog.wel.org.ua/nix/freebsd/netgraph-%D0%BD%D0%BE%D0%B4%D0%B0-ng_patch но дюже уж как-то заумно, а ногу отстрелить совсем не хочется. Хотелось бы разобраться с этой фишкой вообще, ну и сразу практическое применение, как я это вижу и как хотелось бы применить: Очень хочется посредством этого дела прицепить на торрент-трафик ToS минимального приоритета (0x08). Видимый в этом вопросе смысл вполне очевиден: чтоб торрент-трафик уходил в ожидание при обращении на машину по более важным сервисам, как то OpenVPN, ftp, да и ssh в конце концов. А то если торрент запущен без ограничений по ширине канала - даже ssh иногда еле ворочается... |
Цитата:
Цитата:
добавлено через 12 минут Ага, Af33 это просто имя, какраз со значением 011110 - http://www.cisco.com/en/US/tech/tk54...800949f2.shtml Ну тогда вроде все становится на свои места. В общем то что у них приводится является пометкой пакетов именно в этот Class 3 что именно УВЕЛИЧИВАЕТ его приоритет почти до максимального (предпоследний, на сколько я понял). Итак, для SSH тебе нужно будет приблизительно так я думаю: Код:
/usr/sbin/ngctl -f- <<-SEQ |
после ввода в консоль exit не отработало, так и осталось на вопросительном знаке, правило в ipfw не добавило; и ни через tcpdump:
Код:
tcpdump -iem0 -v -A ip host 192.168.1.6 and port 22 | grep tos ps. в принципе, я сейчас воткнул на роутер прошиву от dd-wrt, и она позволяет выруливать приоритеты потоков (кстати, Hubbitus, ты оказался прав, и при понижении приоритета для торрентов до уровня "грузового/bulk" - они вообще практически работать перестали), так что с одной стороны решение вопроса (я так надеюсь, проверим завтра, - когда работа начнется) найдено другими средствами; но, с другой стороны, разобраться с данной приблудой тоже было бы не лишним.... |
Цитата:
Цитата:
|
Цитата:
а ngctl остается в интеративе и с примером из собственного man http://www.freebsd.org/cgi/man.cgi?q...le&format=html Цитата:
|
Честно говоря не понял что ты под интерактивностью подразумеваешь, но что команда не возвращается это как-то странно помоему. Есть у него возможность просмотреть список подобных правил, добавилось оно или нет?
Цитата:
|
Цитата:
Цитата:
Код:
# /usr/sbin/ngctl -f- <<-SEQ вариант создания файла "tos_patch" содержанием Код:
mkpeer ipfw: patch 300 in # ngctl -f tos_patch даёт Код:
ngctl: send msg: No such file or directory Цитата:
ps. у меня вообще складывается ощущение что этот мануал все дружно друг с друга поперепостили, поаплодировали, но на практике никто даже не пытался применить, ибо никаких обсуждений, более развернутых нежели тупой репостинг ссылок из первого поста и "ура, круто!" в комментах к нему, лично мне нагуглить не удалось... :idontnow: |
Цитата:
Цитата:
Цитата:
Ты просто скопируй эти строчки все в скрипт, и выполни уже его. Причем лучше под башем, потому что там используется расширенный HEREDOC синтаксис, и вполне с ним в других шеллах могут быть проблемы. Ну или создай отдельный файл для этого правила и используй уже его в команде. |
Цитата:
оно не работает и в интерактиве кстати, где шелл уже совсем не причем (ключ d добавлен для переключение его в более разговорчивый режим): Код:
# ngctl -d Код:
[20:51:31:/home/plague]# bash |
Plague, оно тебя именно в прикладном значении волнует? То бишь для руления приоритетом трафика?
Я боюсь ошибиться, но PF на FreeBSD это всегда умел делать, причем как по CBQ так и по PQ. Директива queue трафик priority значение вроде давно в PF существует. И кстати синтаксис вполне себе человеческий :) Естественно, что ядро придется с поддержкой ALTQ скомпилировать. Или задачу надо было решить исключительно под IPFW? |
Цитата:
Цитата:
|
Вложений: 1
Цитата:
Все же мне кажется ошибка синтаксиса где-то. Попробуй приаттаченный файл просто выполнить. Та же ошибка? |
По поводу ALTQ. Я, честно говоря, не знаю способа проверьть есть ли поддержка его в ядре или нет, кроме как попробовав стартовать PF. Если поддержки нет, то он выругается на это и скажет, что опции руления очередями недоступны.
Да, кстати, в хендбуке написано, что не все драйвера сетевых карт поддерживают ALTQ, но я, честно говоря, с такими еще не сталкивался. |
Цитата:
сейчас читаю вот эти чтивы: http://www.magxak.ru/xa117/140/1.htm http://forum.lissyara.su/viewtopic.php?f=8&t=20448 не совсем о том, но близко.. может найдется ответ... |
Странно
Цитата:
Не совсем по твоей теме, но везде говорят что этой ошибки это основное объяснение: http://www.opennet.ru/openforum/vslu...ID1/66139.html http://3nity.ru/viewtopic.php?t=5276 |
Цитата:
Код:
# ngctl list Код:
# kldstat |
Ну ng_patch подгружен... А какие еще есть ng_*?
|
много... 58 штук
Нажмите здесь, чтобы увидеть текст полностью
ng_UI.ko
ng_async.ko ng_atm.ko ng_atmllc.ko ng_bluetooth.ko ng_bpf.ko ng_bridge.ko ng_bt3c.ko ng_btsocket.ko ng_car.ko ng_ccatm.ko ng_cisco.ko ng_deflate.ko ng_device.ko ng_echo.ko ng_eiface.ko ng_etf.ko ng_ether.ko ng_ether_echo.ko ng_fec.ko ng_frame_relay.ko ng_gif.ko ng_gif_demux.ko ng_hci.ko ng_hole.ko ng_hub.ko ng_iface.ko ng_ip_input.ko ng_ipfw.ko ng_ksocket.ko ng_l2cap.ko ng_l2tp.ko ng_lmi.ko ng_mppc.ko ng_nat.ko ng_netflow.ko ng_one2many.ko ng_patch.ko ng_pipe.ko ng_ppp.ko ng_pppoe.ko ng_pptpgre.ko ng_pred1.ko ng_rfc1490.ko ng_socket.ko ng_source.ko ng_split.ko ng_sppp.ko ng_sscfu.ko ng_sscop.ko ng_tag.ko ng_tcpmss.ko ng_tee.ko ng_tty.ko ng_ubt.ko ng_uni.ko ng_vjc.ko ng_vlan.ko а вообще модулей - страшно говорить: ls -l /boot/kernel/*.ko | wc -l 636 |
А что если все 58 подгрузить для теста?
Названия мне ничего не говорят на FreeBSD к сожалению. |
Блин, слона то я и не приметил :lamer:
kldload ng_ipfw у лисяры подсказали. едем дальше: манипуляции из мануала (которые с name ipfw:300 tos_chg) привели тачку в недоступность после добавления команды в ipfw; пришлось звонить домой маме чтоб на ресет нажала :biggrin:. Сделал то, что Hubbitus в посте №2 написал - вроде ничо не отвалилось, щас wireshark на работе поставлю, поглядю что в пакетах у меня делается.... |
Часовой пояс GMT +4, время: 09:13. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.