Ceci & Tati

Маркиране на българския и международен трафик, за по лесно шейпване.

от Илия Няголов на май.29, 2009, категории Мрежата

Нещо доста елементарно, но пък ценно!
Интернет трафика го получавам през два vlan-а , през единия българския трафик, а през другия международния трафик и го посрещам посредством два рутера. За по-лесно шейпване го маркирам на двата рутера и го подавам към терминалите, посредством ToS битовете.

Малко информация за ToS - Type of Service (Тип на услугата). Използва се, за да могат да се използват различни пътища за пакети с различни ToS полета.

На рутера за българския трафик, правя следното.

#mark bg traffic
$IPTABLES -t mangle -A FORWARD -o eth2 -j TOS –set-tos 0×08

На рутера за международен трафик, правя следното.

#mark int traffic
$IPTABLES -t mangle -A FORWARD -o eth2 -j TOS –set-tos 0×10

На терминалите правя следното.

############
if (($main::speed_in1) or ($main::speed_in2)){
# in = receive out = transmit
push @FW_ACTIONS, “$TC qdisc del dev $INTERFACE root”;
#push @FW_ACTIONS, “echo ‘$TC qdisc del dev $INTERFACE root’ >> $tc_log”;

push @FW_ACTIONS, “$TC qdisc add dev $INTERFACE root handle 1: htb default 20″;
#push @FW_ACTIONS, “echo ‘$TC qdisc add dev $INTERFACE root handle 1: htb default 20′ >> $tc_log”;

push @FW_ACTIONS, “$TC class add dev $INTERFACE parent 1: classid 1:1 htb rate “. $main::speed_in_sum .”kbit”;
#push @FW_ACTIONS, “echo ‘$TC class add dev $INTERFACE parent 1: classid 1:1 htb rate “. $main::speed_in_sum .”kbit’ >> $tc_log”;
}
############

############
if ($main::speed_in1) {
push @FW_ACTIONS, “$TC class add dev $INTERFACE parent 1:1 classid 1:10 htb rate “. $main::speed_in1 .”kbit”;
#push @FW_ACTIONS, “echo ‘$TC class add dev $INTERFACE parent 1:1 classid 1:10 htb rate “. $main::speed_in1 .”kbit’ >> $tc_log”;

push @FW_ACTIONS, “$TC filter add dev $INTERFACE protocol ip parent 1: prio 10 u32 match ip tos 0×10 0xff flowid 1:10″;
#push @FW_ACTIONS, “echo ‘$TC filter add dev $INTERFACE protocol ip parent 1: prio 10 u32 match ip tos 0×10 0xff flowid 1:10′ >> $tc_log”;

}
if ($main::speed_in2) {
push @FW_ACTIONS, “$TC class add dev $INTERFACE parent 1:1 classid 1:20 htb rate “. $main::speed_in2 .”kbit”;
#push @FW_ACTIONS, “echo ‘$TC class add dev $INTERFACE parent 1:1 classid 1:20 htb rate “. $main::speed_in2 .”kbit’ >> $tc_log”;

push @FW_ACTIONS, “$TC filter add dev $INTERFACE protocol ip parent 1: prio 20 u32 match ip tos 0×08 0xff flowid 1:20″;
#push @FW_ACTIONS, “echo ‘$TC filter add dev $INTERFACE protocol ip parent 1: prio 20 u32 match ip tos 0×08 0xff flowid 1:20′ >> $tc_log”;
}

Забележка: показал съм само част от скрипта за идеята, но не целия! Всеки който поне малко разбира ще разбере за какво иде реч :) .

(Цялата публикация…)

1 коментар прочетете повече...

Skype-2.0.0.72 и gcc-4.1.2

от Илия Няголов на апр.06, 2009, категории Мрежата

Инсталирах си Skype-а.

emerge -pv skype

These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild R ] net-im/skype-2.0.0.72 USE=”-qt-static” 0 kB

Заредя програмата, и какаво да вида :( ?

skype
/opt/skype/skype: /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6: version `CXXABI_1.3.1′ not found (required by /opt/skype/skype)
/opt/skype/skype: /usr/lib/gcc/i686-pc-linux-gnu/3.4.6/libstdc++.so.6: version `GLIBCXX_3.4.4′ not found (required by /opt/skype/skype)

Четох из разни форуми всекви небиваници, та си загубих 30 минути и накрая реших да погледна нещо:

gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.4.6 *
[3] i686-pc-linux-gnu-3.4.6-hardened
[4] i686-pc-linux-gnu-3.4.6-hardenednopie
[5] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[6] i686-pc-linux-gnu-3.4.6-hardenednossp
[7] i686-pc-linux-gnu-4.1.2

От преди знам много добре че skype си иска gcc-4.X.X и го промених.

gcc-config 7
* Switching native-compiler to i686-pc-linux-gnu-4.1.2 …
>>> Regenerating /etc/ld.so.cache… [ ok ]

* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:

* # source /etc/profile

gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.4.6
[3] i686-pc-linux-gnu-3.4.6-hardened
[4] i686-pc-linux-gnu-3.4.6-hardenednopie
[5] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[6] i686-pc-linux-gnu-3.4.6-hardenednossp
[7] i686-pc-linux-gnu-4.1.2 *

След което skype-а зареди без грешка :) .

въведете коментар прочетете повече...

gentoo-sources-2.6.29 and Intel Corporation PRO/Wireless 4965

от Илия Няголов на апр.05, 2009, категории Линукс, Мрежата

Само едно мога да кажа, супер :) . Най-после картата работи безупречно и след заспиване, рестартиране, изключване и после включване от копчето на лаптопа ми.

1 коментар прочетете повече...

Howto install ati-drivers-8.582, xorg-server-1.5.3-r5 and gentoo-sources-2.6.29

от Илия Няголов на апр.05, 2009, категории Линукс

Първо се обновяват пакетите:

emerge –sync

Редактира те файла: “/etc/portage/package.keywords”

sys-kernel/gentoo-sources ~amd64

x11-drivers/ati-drivers ~amd64

x11-base/xorg-server ~amd64
>=x11-apps/xauth-1.0.3
>=x11-libs/libXrender-0.9.4
>=x11-proto/renderproto-0.9.3
>=x11-libs/libXau-1.0.4
>=media-libs/mesa-7.1
>=x11-libs/libdrm-2.4.3
>=x11-proto/dri2proto-1.99.3
>=x11-libs/libXext-1.0.4
>=x11-misc/xkeyboard-config-1.4
>=x11-libs/xtrans-1.2.2
>=x11-apps/rgb-1.0.3
>=x11-libs/libX11-1.1.5
>=x11-apps/xinit-1.0.8-r3
>=x11-libs/libXxf86vm-1.0.2
>=x11-libs/libXfont-1.3.3
>=x11-drivers/xf86-input-evdev-2.1.0
>=x11-proto/xf86driproto-2.0.4
>=x11-proto/xextproto-7.0.3
>=x11-proto/xproto-7.0.13
>=x11-proto/inputproto-1.4.4
>=x11-proto/randrproto-1.2.2
>=x11-drivers/xf86-input-synaptics-0.15.0

След това се инсталира сорса на ядрото, компилира и инсталира.

emerge -av gentoo-sources
#Проверете долния линк дали сочи към новото ядро!
cd /usr/src/linux
make menuconfig
cp ./.config /
genkernel –bootloader=grub –kernel-config=/.config all
#Рестартирате и зареждате новото ядро.

Инсталирате новата версия на “xorg-server”

emerge -av xorg-server

Инсталирате и пачвате “ati-drivers” пакета.

ebuild /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild unpack
cd /var/tmp/portage/x11-drivers/ati-drivers-8.582
wget http://liquorix.net/patches/FGLRX-2.6.29-9.2-5.diff
ln -s work/ a
patch -p0 < ./FGLRX-2.6.29-9.2-5.diff
ebuild /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild install
ebuild /usr/portage/x11-drivers/ati-drivers/ati-drivers-8.582.ebuild qmerge

(Цялата публикация…)

въведете коментар прочетете повече...

Създаване на торент файлове през веб интерфейс. / Create torrent files via web interface.

от Илия Няголов на мар.31, 2009, категории Линукс, Мрежата, Програмиране

Първо искам да споделя, пробвах с какви ли не perl модули и всякакви други неща, и все не ставаше като хората. Също така не намерих нищо готово написано и завършено в “нета” по тази тема. Затова реших да си напиша нещо набързо колкото да ми свърши работа и сега реших да го споделя с останалите.

Абсолютен фен съм на Gentoo, затова ще обясня какво съм инсталирал първоначално под него.

emerge -av net-p2p/ctorren

След това прочетох тук: http://en.gentoo-wiki.com/wiki/Wtorrent и инсталирах wtorrent. Но не ми хареса идеята за lighttpd и го направих с apache. За целта компилирах php със следните екстри :)

USE=”mysql sockets apache2 xmlreader xmlrpc xmlwriter simplexml xsl pdo sqlite xpm curl cgi ctype” emerge -av dev-lang/php

,
редактирах “/etc/apache2/modules.d20_mod_scgi.conf” по следния начин:

cat 20_mod_scgi.conf

LoadModule scgi_module modules/mod_scgi.so

SCGIMount /RPC2 localhost:5000

Alias /wtorrent /var/www/wtorrent

Deny from all
Allow from 22.14.122.13 22.14.122.14 22.14.121.251 #moite ip adresi za dostap do papkata

и добавих малко права за apache-то:

echo “apache ALL = NOPASSWD: /usr/bin/ctorrent” >> /etc/sudoers

Ето го и съдържанието на моя скрипт - index.php
(Цялата публикация…)

1 коментар прочетете повече...

Нещто не намирате ли?

Потърси в блога ми:

Моля Ви не прекалявайте с информацията!