Valery's Mlog

Mindlog of a Freak
November 9th, 2004 by Valery Dachev

Linux: някои неща, които стават трудно :)

Срам или не…. тия дни все проблемчета – все особености, дето си струват споменаване.

Първото беше бозата с използването на CBQ в 2.6.8.1 ядро (компилирано за amb64 архитектурата, която използвам). Правилно си ме псуват хората, че ползвам 2.6.x ядро на production машина. Не претендирам да съм прав, но са въведени някакви reference броячи за мрежовите интерфейси. Всяка гадинка, която ги използва, вдига въпросния брояч с единица, а когато го освободи, сваля с единица. Когато се опитате да свалите интерфейса, този брояч се проверява. Ако е нула, го сваля, а ако е различно от нула – не го прави. Проблемът идва в някои части от ядрото, които не са адаптирани към тази промяна и в частност CBQ, което забравя да вдигне брояча, когато се закачва на интерфейса, но забравя да го свали. Естествено, на VPN потребителите си слагам ограничения на интерфейса, по който идват. Само че, опитат ли се да си тръгнат, логовете ми се задръстваха с нещо от рода на:

kernel: unregister_netdevice: waiting for ppp0 to become free. Usage count = -1

Решението се намери в този patch… или поне би трябвало. В последствие се оказа, че просто CBQ ограниченията не работят като очакваното. Наложи се да минавам на HTB и май по-добре. Поне работят качествено…

Проблемът сега пък се оказа друг – не мога да бутна потребителите си в един клас, защото класовете са обвързани с интерфейсите, а потребителите ми набират по VPN и идват по различни ppp+ интерфейси. Излиза, че трябва да слагам отделна машина да ограничава трафика от потребителите. Глупавичко ! А целта беше да вместя потребителите в част от линията, но сега явно трябва да се забиват твърди ограничения без CEIL…

Другите проблеми ми дойдоха пък със сървъра, където в момента е и този сайт – опитвам се читаво през iptables международния и peering трафика, тъй като (логично) имам ограничение на международния канал. За целта си маркирам peering и международните пакети в mangle таблицата, а после слагам по едно accounting правило за различните маркировки. Оказва се обаче, че пакети от опашката на ограниченията като че ли минават по няколко пъти през таблиците и прецакват всякакво отчитане на трафика… или поне така изглежда, при положение, че получавам значително по-големи скорости, отколкото ми е въобще каналът…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: