Маркиране на българския и международен трафик, за по лесно шейпване.
от Илия Няголов на май.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”;
}
Забележка: показал съм само част от скрипта за идеята, но не целия! Всеки който поне малко разбира ще разбере за какво иде реч
.
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, категории Линукс, Мрежата
Само едно мога да кажа, супер
. Най-после картата работи безупречно и след заспиване, рестартиране, изключване и после включване от копчето на лаптопа ми.
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
(Цялата публикация…)