2
|
Linux секция за напреднали / Хардуерни и софтуерни проблеми / shape на upload
|
-: Apr 19, 2005, 19:23
|
Хора, признавам си, че lartc тотално вече ме обърка и вбеси. Сега си правя тестове с tc и cbq, като гледам да го наглася така че да има различни скорости за 2та компютъра зад мрежата към локалната мрежа, към българското пространство и към всички останали. както съм го направил, cbq изглежда работи добре като shapeва свалянето (въпреки че торенти като че ли въобще не може да спре, ако на единият компютър му сложа 60кб/с сваляне, торентите ще ги сваля със 70-80 примерно (но пак не е максималната скорост)). обаче като се стигне до upload-а, като че ли нищо не върши. филтрите ми за upload са същите като за сваляне, само че ипто на вътрешния компютър е разменено със това на дестинацията, и обратно: Примерен код | tc filter add dev $dev protocol ip parent 1:0 prio 3 u32 match ip src $host ip dst $ip classid 1:10
|
да кажем, че клас 1:10 ми е клас, които задава скоростта 60кб/с
Примерен код | tc class add dev $dev parent 1:1 classid 1:10 cbq bandwidth 100Mbit rate 480kbit weight 48kbit prio 3 allot 1514 cell 8 maxburst 2 avpkt 500 bounded
|
$dev ми е вътрешният интерфейс (евентуално от тук да става грешка, може би за да лимитирам качване, трябва да е външния интерфейс, но вие ще кажете) $host ми е вътрешен компютър $ip ми е дестинацията (примерно някой събнет в бг пространството)
|
|
|
5
|
Linux секция за начинаещи / Настройка на програми / Добър заместител на D4X
|
-: Feb 19, 2005, 15:32
|
Явно повече или поне скоро няма да излиза нова версия на д4х която да се компилира срещу gtk2.6, някой да знае добър gtk2 заместител на тази програмка?
fake edit: опа, грешен дял на форума. моля някой с привилегии да я премести тази темя във дяла за програми.
|
|
|
6
|
Linux секция за напреднали / Хардуерни и софтуерни проблеми / shaper проблем
|
-: Jan 15, 2005, 00:52
|
попаднах на един малък проблем докато писах един НТВ скрипт. Ето го скрипта Примерен код | #!/bin/sh
dev=eth0#local interface t=3#tozi skript
#------Trafikyt se zadava v kilobitove!!! low_rate3=96 high_rate3=768 fen_rate3=2048
pri1="tc filter add dev $dev protocol ip parent 1:0 prio 1 u32" pri2="tc filter add dev $dev protocol ip parent 1:0 prio 2 u32" pri3="tc filter add dev $dev protocol ip parent 1:0 prio 3 u32"
tc qdisc add dev $dev root handle 1: htb default 30 tc class add dev $dev parent 1: classid 1:$t htb rate 100mbit burst 1k
i=0
for host in `cat ./hosts$t`; do tc class add dev $dev parent 1:$t classid 1:${t}1$((++i)) htb rate $((low_rate3/10))kbit ceil $((low_rate3))kbit burst 1k prio 10 tc class add dev $dev parent 1:$t classid 1:${t}2$i htb rate $((high_rate3/10))kbit ceil $(($high_rate3))kbit burst 1k prio 10 tc class add dev $dev parent 1:$t classid 1:${t}3$i htb rate $((fen_rate3/10))kbit ceil $(($fen_rate3))kbit burst 1k prio 10 tc qdisc add dev $dev parent 1:${t}1$i handle ${i}10$t: sfq perturb 10 tc qdisc add dev $dev parent 1:${t}2$i handle ${i}20$t: sfq perturb 10 tc qdisc add dev $dev parent 1:${t}3$i handle ${i}30$t: sfq perturb 10 $pri3 match ip dst $host flowid 1:${t}1$i $pri3 match ip src $host flowid 1:${t}1$i for ip in `cat ./bgipmap`; do $pri2 match ip src $ip match ip dst $host flowid 1:${t}2$i $pri2 match ip dst $ip match ip src $host flowid 1:${t}2$i done for ip in `cat ./locipmap`; do $pri1 match ip src $ip match ip dst $host flowid 1:${t}3$i $pri1 match ip dst $ip match ip src $host flowid 1:${t}3$i done done
|
Така, значи във хостс файла има 2 ипта. До мен стига 4mbps, аз искам тия вътре 2та компютъра да имат всеки по 2мбпс (за фенбг), и там другите бързини за БГ и външен.
Обаче нещо не става така. Вместо всеки да има макс 2мбпс, те имат ОБЩО 2мбпс, и като свалят заедно, всеки има макс 1мбпс.
Защо се получава така?
|
|
|
7
|
Linux секция за начинаещи / Настройка на хардуер / shaper проблем
|
-: Jan 15, 2005, 00:52
|
попаднах на един малък проблем докато писах един НТВ скрипт. Ето го скрипта Примерен код | #!/bin/sh
dev=eth0#local interface t=3#tozi skript
#------Trafikyt se zadava v kilobitove!!! low_rate3=96 high_rate3=768 fen_rate3=2048
pri1="tc filter add dev $dev protocol ip parent 1:0 prio 1 u32" pri2="tc filter add dev $dev protocol ip parent 1:0 prio 2 u32" pri3="tc filter add dev $dev protocol ip parent 1:0 prio 3 u32"
tc qdisc add dev $dev root handle 1: htb default 30 tc class add dev $dev parent 1: classid 1:$t htb rate 100mbit burst 1k
i=0
for host in `cat ./hosts$t`; do tc class add dev $dev parent 1:$t classid 1:${t}1$((++i)) htb rate $((low_rate3/10))kbit ceil $((low_rate3))kbit burst 1k prio 10 tc class add dev $dev parent 1:$t classid 1:${t}2$i htb rate $((high_rate3/10))kbit ceil $(($high_rate3))kbit burst 1k prio 10 tc class add dev $dev parent 1:$t classid 1:${t}3$i htb rate $((fen_rate3/10))kbit ceil $(($fen_rate3))kbit burst 1k prio 10 tc qdisc add dev $dev parent 1:${t}1$i handle ${i}10$t: sfq perturb 10 tc qdisc add dev $dev parent 1:${t}2$i handle ${i}20$t: sfq perturb 10 tc qdisc add dev $dev parent 1:${t}3$i handle ${i}30$t: sfq perturb 10 $pri3 match ip dst $host flowid 1:${t}1$i $pri3 match ip src $host flowid 1:${t}1$i for ip in `cat ./bgipmap`; do $pri2 match ip src $ip match ip dst $host flowid 1:${t}2$i $pri2 match ip dst $ip match ip src $host flowid 1:${t}2$i done for ip in `cat ./locipmap`; do $pri1 match ip src $ip match ip dst $host flowid 1:${t}3$i $pri1 match ip dst $ip match ip src $host flowid 1:${t}3$i done done
|
Така, значи във хостс файла има 2 ипта. До мен стига 4mbps, аз искам тия вътре 2та компютъра да имат всеки по 2мбпс (за фенбг), и там другите бързини за БГ и външен.
Обаче нещо не става така. Вместо всеки да има макс 2мбпс, те имат ОБЩО 2мбпс, и като свалят заедно, всеки има макс 1мбпс.
Защо се получава така?
|
|
|
8
|
Програмиране / Общ форум / Проблем със принт във перл (под слакуеър).
|
-: Jan 04, 2005, 01:22
|
Допитвам се защото се сблъсках с един лош проблем, който май повече е свързън със STDIN/OUT отколкото със перл, защото преди съм се сблъсквал с подобен под С. Значи, някъде в програмата задавам "$var = <>", но натискам директно ЕНТЕР (използвам го като пауза, ако някой знае по-уместен вариянт, моля да сподели '> ), но по надолу имам print ("Neshto"), и след него "$newvar = <>" за да въведа вече нещо полезно. проблема идва в това, че "$newvar = <>" като че ли се изпълнява преди print-a, и след като въведа нещо и натисна ЕНТЕР се изписва "Neshto"-то от print-a. Преди, като се сблъсках с този проблем под С, си мислех че не се flush-ва STDIN-а, но със fflush не се оправяше работата. Както и да е, сега тъп и упорит, се опитах да направя същото, затова прибавих use IO::Handle отгоре и викнах STDIN->flush след $var = <> (за паузата дето беше), но (както и очаквах) нищо не стана. Някой ще ми разясни ли как да оправя този проблем?
|
|
|
9
|
Linux секция за напреднали / Хардуерни и софтуерни проблеми / препълване на tc filter handle-id
|
-: Dec 11, 2004, 15:40
|
В опитите си да направя shaper който да обхваща както външният нет, така и БГ локала, се сблъсках с един сериозен проблем. БГ локала е много голям, в момента аз оформявам 1104 събнета, което покриват целият (или поне почти целият) локал. Проблема идва от това че самото стартиране на оформящият скрипт отнема близо минута, при това само за 6 компютъра в мрежа, а за да прибавя друг трябва да го рестартирам целият (от събнет то компютър, и от компютър до събнет за всеки събнет и вътрешен компютър). Програмата tc от iproute2 поддържа промяна на самите филтри по същият начин както на класове (tc class/filter change dev), но класовете си имат класов номер. Филтрите също имат класов номер, НО: 1 - Той се задава автоматично 2 - При толкова много филтри настъпва следният проблем Примерен код | filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20 match d9c58d00/ffffff00 at 16 match 0a000004/ffffffff at 12 filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20 match d9c58d00/ffffff00 at 12 match 0a000007/ffffffff at 16 filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20 match d9c58d00/ffffff00 at 16 match 0a000007/ffffffff at 12 filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20 match d9c58d00/ffffff00 at 12 match 0a000009/ffffffff at 16 filter parent 1: protocol ip pref 4 u32 fh 801::fff order 4095 key ht 801 bkt 0 flowid 1:20 match d9c58d00/ffffff00 at 16 match 0a000009/ffffffff at 12
|
Това са само малка част от филтрите, но ако погледнете, fh (filter handle) е станал еднакъв за повечето от този клас, защото се е препълнил. И точно това не го разбирам, ако се опитам да прибавя филтър като ръчно задам филтърният номер, или ще ми напише:
Примерен код | RTNETLINK answers: File exists We have an error talking to the kernel
|
ако използвам примерно 801::fff или
Примерен код | RTNETLINK answers: Invalid argument We have an error talking to the kernel
|
ако напиша примерно 802::833 (или fff)
Та въпросите са ми следните: 1 - как точно се задава един филтърен номер така че да е валиден (явно не мога просто да напиша 2 3-цифрени числа) 2 - как така толкова филтри имат еднакви номера, въпреки че такава нагласа е невалидна за ядрото 3 - как мога да редактирам тези филтри след като толкова много са с еднакъв номер 4 - Има ли начин автоматично да получавам IP адресите които са в българският локал?
Ще очаквам с нетърпения всякакви полезни идеи '>
|
|
|
10
|
Linux секция за начинаещи / Настройка на програми / Ходене по мрежата чрез nautilus
|
-: Dec 03, 2004, 18:10
|
Виждал съм по какви ли не картинки че чрез nautilus, особенно във версия 2.8 преспокойно може човек да броди из локалната мрежа. Единственият проблем е, че аз никога не съм могъл да го правя това, ето ви и една снимка да видити това което и аз виждам като се пробвам: http://urandom.hit.bg/smb.jpgКато го стартирам от конзола, не дава никакви грешки свързани със smb:/// Ето го и моят smb.conf файл (имайте предвид че мога преспокойно да си монтирам smb shares със mount, или да ги гледам със smbclient): Примерен код | # Samba config file created using SWAT # from 10.0.0.1 (10.0.0.1) # Date: 2004/10/13 22:49:09
# Global parameters [global] workgroup = BLOKA server string = Slackware Samba 3.0 interfaces = eth0 guest account = ftp os level = 65 preferred master = Yes invalid users = guest valid users = administrator hosts allow = 10.0.0. load printers = yes printcap name = /etc/printcap printing = cups
[games] comment = Games path = /usr/local/games [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes
|
Ще се радвам на всякакви идеи, за да видя това чудо наречено nautilus в действие (или ако не, поне някоя алтернатива да предложите '>)
|
|
|
11
|
Linux секция за начинаещи / Настройка на програми / проблем със SNAT
|
-: Nov 25, 2004, 20:53
|
Здравейте,
Туко що се включих към ново ISP, но настройките му са малко по различни. Сега външният адрес на рутера е 192.168.0.209 (вътрешната мрежа я преместих на 10.0.0.0). При "/proc/sys/net/ipv4/ip_forward" = 1, и при тази: iptables -t nat -A POSTROUTING -p all -s 10.0.0.2/32 -j SNAT --to 192.168.0.209 или тази: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE не се препращат пакетите. И FORWARD е разрешен за 10.0.0.2. Въобще от вътрешният компютър 10.0.0.2 не мога да достигна нищо навън, дори като пробвам да пингвам 192.168.0.209.
другият проблем е че понякога (3 пъти за днес вече) изчезва gateway-a от routing таблицата на сървъра, което не мога да разбера защо става.
редактиране: променил съм само всички предишни ип-та във /етц/ от 192.168 на 10.0 и след това съм прибавил 192.168 eth0 - вътрешен eth1 - външен няма други правила в момента, каквото съм посочил това е. Колкото до gateway-а, поне разбрах за какво става, винаги се изтрива като се отпечатва това в дмесг: eth1: link up, 100Mbps, full-duplex, lpa 0x45E1
|
|
|
12
|
Linux секция за начинаещи / Настройка на хардуер / cups и port-ове във slackware
|
-: Oct 10, 2004, 22:49
|
досега все съм си нагласял принтера със apsfilter, но ще си взимам нов и искам да мина на cups.
Обаче има проблем със cups. Независимо какво използвам да го конфигурирам (gnome-cups, през интернет със web interface-а на cups), винаги Printer Port, Device, или още там как го наричат е празен. Няма абсолютно нищо за избиране.
Как да поправя този проблем?
|
|
|
13
|
Linux секция за начинаещи / Настройка на програми / smb:/// в nautilus
|
-: Oct 10, 2004, 19:21
|
Някой използвал ли е възможността на nautilus да разглежда smb мрежата? Тази екстра аз въобще не съм успявал да я подкарам, а съм пробвал с gnome 2.0, 2.2. 2.4. 2.6 и 2.8.
Някой ще даде ли съвет как мога да го подкарам това чудо в slackware
|
|
|
15
|
Програмиране / Общ форум / Въпрос относно open() на perl.
|
-: Mar 05, 2004, 16:27
|
Опитвам се да направя един скрипт да отвори даден файл, и като намери ред със определена начална дума на него, да отреже тази дума и да изпише всичко останало. примерно, използвам думата thumb във скрипта и режа самата дума и празното място след нея. Примерен код | #!/usr/bin/perl -w my ($xdata) = @ARGV; open(DAT,$xdata); while (<DAT>) { my @xinfo = <DAT>; foreach (@xinfo) { if ($_ =~ /^thumb/) { my $xname = $_; $xname =~ s/^thumb\s//g; print "$xname"; } } }
|
проблема е, че като я насоча към файла, (направил съм един файл със няколко реда, единият от които започва със тази дума), скрипта стартира, но не изписва нищо(общо взето $xname като че ли си остава undef).
Някой знае ли къде греша?
|
|
|
|