HowTo
Kernel 2.6.32.x и ATI Catalyst (GeekTime)
by Lucifer on Jan.11, 2010, under HowTo, geek time
Нали ме знаете, че съм си гаден geek, та винаги гледам да съм с последните версии на каквото е излязло … дори с последни версии на ядрото на Slackware-а с който работя в къщи.
Kernel-а който излезе на 9-ти беше 2.6.32.3 и разбира се първата ми работа беше да го инсталирам, да го прекомплирам за да открива и 4-те GB RAM и да си направя initrd.gz за да мога да си пускам машината (аз съм гаден параноик и съм я криптирал) …
Всичко мина добре. Влязох като root и махнах стария fglrx.9.12 компилиран за 2.6.29.6.
Стартирах инсталатора … и каква беше изненадата ми, когато вместо “Instalation complete”, получих съобщението “There were errors compiling driver. Please refer to fglrx-install.log”
WTF??? Какви грешки бе!
nano /usr/share/ati/fglrx-install.log
[Message] Kernel Module : Trying to install a precompiled kernel module. [Message] Kernel Module : Precompiled kernel module version mismatched. [Message] Kernel Module : Found kernel module build environment, generating kernel module now. AMD kernel module generator version 2.1 doing Makefile based build for kernel 2.6.x and higher rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers make -C /lib/modules/2.6.32.3-smp/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules make[1]: Entering directory `/usr/src/linux-2.6.32.3' CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o In file included from /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:443: /lib/modules/fglrx/build_mod/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’: /lib/modules/fglrx/build_mod/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’ /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_MapPageToPfn’: /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1586: warning: unused variable ‘bus_addr’ CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_io.o /lib/modules/fglrx/build_mod/2.6.x/kcl_io.c: In function ‘KCL_IO_FASYNC_Terminate’: /lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: ‘SIGIO’ undeclared (first use in this function) /lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: (Each undeclared identifier is reported only once /lib/modules/fglrx/build_mod/2.6.x/kcl_io.c:122: error: for each function it appears in.) make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o] Error 1 make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.32.3' make: *** [kmod_build] Error 2 build failed with return value 2 [Error] Kernel Module : Failed to compile kernel module - please consult readme.
Какво по …
И отново старото ровене в чичо google … 2 дни без хубаво видео … няма да ви описвам мъките си … докато на някакъв забит пост в някакъв забит форум не намерих как да го оправя … а то се оказа и много просто – явно в новата ядро са отделили част от нещата в нов header file …
Ето и решението step-by-step:
01. Сваляте си драйверите от сайта на ATI.
02. Стартирате run-а с опция –extract
03. Отваряте fglrx-install.nqkakuv_string/common/lib/modules/fglrx/build_mod/kcl_io.c където добавяте:
#include <linux/signal.h>
04. В fglrx-install.nqkakuv-string стартирате sh ./ati-installer.sh 8.5912 –install
05. reboot … and that is all …
Лесно нали? Някъде из нет-а се мотат готови .patch, но нямах време и желание да търся … за това използвах nano … и го направих на ръка … лесно и бързо … веднъж като знаеш какво ти трябва …
Надвявам, се да помогна на някого.
Ваш,
Lucifer
loading...
Малко хитрости за работа … или ffmpeg, WordPress и Viper’s Videotags
by Lucifer on Nov.26, 2009, under HowTo, PC, geek time
Ето че пак е време за поредното HowTo в рубриката ми Geek Time.
Как се стигна до тук? Както винаги – от скука и то на работа. Тогава ми хрумна много луда идея – on-line филми. Имам си сървър, зад който стоят почти 500 GB филми (и порно разбира се, но това е друг въпрос).
Необходими средства:
Slackware Current с инсталиран X.
slapt-get (за по-лесно) с repositpry от slacky.eu
WordPress (пак за по-лесно) с Viper’s Quick Videotags plug-in (за съвсем лесно).
Материал (филм, сериал или каквото там ви се гледа (не препоръчвам порно за работа))
Изпълнение:
1. През slapt-get инсталирате ffmpeg с всички пакети които иска (задължително проверете за наличие на x246)
2. осигурявате си достъп до суровия материал.
ffmpeg -i faila_koito_shte_prevrushtate.avi -s (width)x(height) -f flv -acodec libmp3lame -ab 128000 -ar 44100 -ac 2 -vcodec flv ime_na_gotovot.flv
А сега да обясня опциите (трябваха ми 4 часа докато ги схвана)
-s – разделителна способност на изхода (за предпочитане да са като на оригиналния фаил)
-f – force format (изходящия фаил задължително да е в този формат)
-acodec – аудиокодек на изходящия файл
-ab – задава bitrate на аудиото
-ar – задава чесотата (sample frequency)
-ac – задава броя канали (2 = стерео)
-vcodec – кодека използван за видеото
Изчаквате си конверитрането на суровия материал. Копирате си готовото .flv някъде където може да ви го чете apache и използвайки любимия си метод го поствате в WordPress блога си.
А сега се насладете на първите 500 кадъра от Gamer.BRRip.XviD.AC3-TBc:
http://www.anavaro.com/media/test.flvПриятно прекарване и не забравяйте, че това е времеемко занимание. Надявам се да съм ви помогнал и днес!
Ваш,
Lucifer
P.S.: Явно се оказва, че има много по хубав начин да се постигнат нещата … Както ще прочетете в коментарите. Направих няколко теста и за сметка по-голямото време за енкодване, можете да получите невероятни резултати с h264. Ето тук има ръководство: цък. Искам най-искрено да благодаря на drJeckyll за коментара и помощта …
loading...
Nokia 6120 classic като Linux modem!(Geek Time)
by Lucifer on Aug.29, 2009, under HowTo, PC, geek time
И така, явно се е видяло че ще отварям Geek Time рубрика в този блог, та ето ви още един пост нея:
Как да подкараме Nokia 6120 classic като USB GPRS/EDGE модем под Linux (в моя случай Slackware 13, но ръководството е достатъчно широко) и VivaTel (независимо дали пакет данни или нещо друго).
Необходим hardware:
Компютър (няма смисъл иначе, нали)
GSM Nokia 6120 classic (предполагам, че и всеки друг Symbian базиран телефон би ви свършил работа)
USB кабел за телефона
Необходим software:
Linux (в моя случай, както казах, Slackware 13, но предполагам, че и другите ще станат)
wvdial – трябва да го има в репото на дистрибуцията ви (за Slackware го има в Slacky.eu, като готов пакет)
wvdialerstrams – библиотека използвана от wvdial
qtwvdialer – QT GUI за wvdial
Методология:
Инсталирате пакетите описани по горе, свързвате телефона с кабела към машината и му задавате PCSuit (не data transfer или media player).
Пускате си една конзола и su – твате (трябва да сте root).
$wvdialconf
Програмката културно си засича телефона и най-добрата скорост с която да го използвате и ви предлага Init1 и Init2 редове.
$nano /etc/wvdial.conf
Ще забележите, че някои редове са откоментирани с #. Това са нещата които конфигурацията не е успяла да налучка.
Ето ви копие на моя wvdial.conf, това което трябва да добавите за да работите с VivaTel са редовете Init3, Phone, Username и Password
[Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet.vivatel.bg" Modem Type = USB Modem Phone = *99# ISDN = 0 Username = vivatel Password = vivatel Modem = /dev/ttyACM0 Baud = 460800
Остана само да въведете DNS-те на доставчика. Ако сте на VivaTel в /etc/resolv.conf добавете редовете:
nameserver 212.39.90.42
nameserver 212.39.90.43
Ако не сте, стартирайте $wvdial (прекратява се с Ctrl+C) и ще видите редовете First Domain Name Server $ADRESS1 и Second Domain Name Server $ADRESS2. Това са адресите за /etc/resolv.conf
Това е от мен. Аз така успях да го подкарам. Надявам се да ви помогне!
Ваш,
Lucifer
loading...
Lineage 2 GRACIA Final под Linux (Geek Time)
by Lucifer on Aug.05, 2009, under HowTo, PC, geek time
И така от липса на друга работа, реших да се хвана да се заиграя отново на Lineage 2 и попаднах на Gracia Final Server (Marines сървъра на spectrumNet). Само дето скоро съвсем ще остана без достъп до работещ Winbows, а няма да се върна заради една игра на него и за това седнах да ровя как да го Wine-зирам и се оказа, че то не е толкова трудно!
I. Подготовка:
1. Драйвери – слагате си драйверите на видео картата!
2. Wine
2.1 сваляте си Wine
2.2 компилирате и инсталирате Wine (има си много читав скрипт, който ви върши цялата работа)
3. Winetricks – разравяте се из google и си намирате скриптчето наречено wintericks
3.1 Инсталация на DirectX 9 – от winetricks става супер лесно
3.2 Инсталация на GECKO – пак от wintericks. Това е важно, само ако ще ползвате update през LineageII.exe
II. Сваляне:
1. Намирате си играта и си я сваляте L2. Тази стъпка трябва да ви е ясна! Забивате я някъде и готово!
(до колкото схващам от цялата философия може и да не ви се наложи да минете през другите стъпки, но това си зависи от вашата система. Аз все пак ще си ви ги напиша.)
III. Настройки – пипкавата работа:
1. /etc/hosts – тези от вас които са играли пиратски сървъри на Lineage 2 под добрата стара боза знаят как се правеха промените в %windows%/system32/driver/etc/hosts файл-а. Е тука ви трябва само в /etc/hosts да добавите:
xx.xx.xx.xx L2authd.lineage2.com
ако разбира се сървъра ви го иска!
(тук е момента да пробвате да влезете в папка system на играта и да напишете wine l2.exe – шанса е 50/50 да тръгне от воле. Не се притеснявайте от онова за AGP inconsistancy)
2. Шрифотве – и така влизате в прозореца на играта … и о чудо – всички бутончета са празни, вие не виждате какво пишете … проблем! Решението е просто: Намерете си tahoma.ttf (копирайте го от font дирецторията на който и да е winbows) и го сложете в ~/.wine/drive_c/windows/fonts
3. Ако точка 1 не успее – опитали сте по т.1 и сте ме наругали защото не е тръгнало. Не се предавайте – решението е просто – отивате в папка system на играта и отваряте l2.ini …
Вариант 1: l2.ini е текстов. Супер! Намерете редовете:
UseHardwareTL=True UseHardwareVS=True
и ги заменете на
UseHardwareTL=Flase UseHardwareVS=False
… и това е!
wine l2.exe … и готово.
Вариант 2: l2.ini е бинарен. Мааалка спънка! Но не за дълго:
- немрете си l2encdec от тук
- декриптирайте l2.ini (има си readme)
- когато l2.ini стане текстов … се върни на Вариант 1!
Ето ви го решението. Аз за сега не намирам проблем, а отняколко часа играя …
Ако имате проблеми – казвайте да ги мисля.
Ваш,
Lucifer
loading...
Една отдавна бавена стъпка … 2
by Lucifer on May.27, 2009, under HowTo, PC, geek time, misk
Проблем 6:
Как подяволите да си подкарам външните VGA/HDMI?
Решение:
Ми всъщност много много просто – в /etc/X11/xorg.conf в секция Screen, суб секция Display, добавяте:
Virtual 2048 2048
това максималната ви допустима разделителна способност толкова. Иначе xrandr взима максималната на 1 от мониторите. После си свалете arandr приложението (най-добре от svn)
svn co http://svn.amsuess.com/svn/tools/arandr/trunk/ arand
старитрате arandr … и готово! Можете като мен да го копирате в /usr/share и да направите sym link към /usr/bin само на изпълнимия arandr.
Проблем 7:
Опции за fglrx драйверите.
Решение:
за по лесно ви паствам целия си xorg.conf – при мен, на моята машна със горе изброените стъпки работи на max!
Section “ServerLayout”Identifier “Simple Layout”
Screen 0 “aticonfig-Screen[0]-0″ 0 0
InputDevice “Mouse1″ “CorePointer”
InputDevice “Keyboard1″ “CoreKeyboard”
EndSection
Section “Files”
RgbPath “/usr/share/X11/rgb”
FontPath “/usr/share/fonts/local/”
FontPath “/usr/share/fonts/misc/”
FontPath “/usr/share/fonts/OTF/”
FontPath “/usr/share/fonts/TTF/”
FontPath “/usr/share/fonts/Type1/”
FontPath “/usr/share/fonts/CID/”
FontPath “/usr/share/fonts/Speedo/”
FontPath “/usr/share/fonts/75dpi/:unscaled”
FontPath “/usr/share/fonts/100dpi/:unscaled”
FontPath “/usr/share/fonts/75dpi/”
FontPath “/usr/share/fonts/100dpi/”
FontPath “/usr/share/fonts/cyrillic/”
EndSection
Section “Module”
Load “dbe” # Double buffer extension
SubSection “extmod”
Option “omit xfree86-dga” # don’t initialise the DGA extension
EndSubSection
Load “type1″
Load “freetype”
#Load “speedo”
Load “GLcore”
Load “glx”
Load “dri”
EndSection
Section “InputDevice”
Identifier “Keyboard1″
Driver “kbd”
EndSection
Section “InputDevice”
Identifier “Mouse1″
Driver “mouse”
Option “Protocol” “Auto”
Option “ZAxisMapping” “4 5″
# The mouse device. The device is normally set to /dev/mouse,
Option “Device” “/dev/mouse”
# Option “Device” “/dev/psaux”
EndSection
Section “Monitor”
Identifier “aticonfig-Monitor[0]-0″
Option “VendorName” “ATI Proprietary Driver”
Option “ModelName” “Generic Autodetecting Monitor”
Option “DPMS” “true”
EndSection
Section “Device”
Identifier “aticonfig-Device[0]-0″
Driver “fglrx”
BusID “PCI:1:0:0″
Option “UseFastTLS” “1″
EndSection
Section “Screen”
Identifier “aticonfig-Screen[0]-0″
Device “aticonfig-Device[0]-0″
Monitor “aticonfig-Monitor[0]-0″
DefaultDepth 24
SubSection “Display”
Virtual 2048 2048
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section “DRI”
Mode 0666
EndSection
Проблем 8:
VirtualBox. Нямам USB и нямам USB!
Решенение:
Добавяте потребителя с, който искате да ползвате VirtualBox в vboxusers групата.
Добавяте и в /etc/fstab:
usbfs /proc/bus/usb usbfs devmode=666 0 0
и USB-то … чудотворно се оправя!
Това е от мен, поне за сега!
Ваш,
Lucifer
loading...
Една отдавна бавена стъпка …
by Lucifer on May.25, 2009, under HowTo, PC, geek time, misk
Предния път набързо само написах, че най-накрая минах на Линукс и по-специално на Slackware current. Винаги съм обичал да съм на ръба на технологиите. А и Slackware-а винаги ми е бил любимата ОС. Много по-лесно сигурно щеше да ми е да мина на нещо по-просто (HellMaster винаги е предлагал Fedora), но честно казано тогава нямаше да ми е интерестно. Предпочитам си Slack-чето. Успях да се сборя с драйверите, сбих се с мрежата, преборих се с ядрото и какво ли още не! За тези 2 седмици научих много. Сега искам да споделя със вас какво и как направих:
Железарии:
ASUS M51V-AP129
CPU: Intel Pentium Dual Core Processor T3200
RAM: 4GB
VC: Radeon HD 3470
Проблем 1:
Kernel-a, който върви със Slack-а не вижда 4-те гиги рам
Решение:
cd /usr/src/linux-2.6.29.2
rm .configure
cp /boot/configure-huge-smp-2.6.29.2-smp .configure
make menuconfig
Отбелязваме отметката за поддръжка до 64 GB RAM
exit
make bzImage
make modules
make modules_install
cp arch/x86/boot/bzImage /boot/vmlinuz-4g
cp System.map /boot/System.map-4g
Коригираме си любимия boot loader … и проблема е решен – ядрото вижда сичките 4 гиги
Проблем 2:
Поддръжка на 3d.
Решение:
Тука идва голямото четене мили деца, защото fglrx драйверите на ati са несъвместими с ядрото … освен, не се пачнат. Та сваляте си пача който е за версия 9.1 (споко работи си) и си пачвате версия 9.5 (тази която е сега), после си я инсталирате и готово! Имате 3D и compositing.
Проблем 3:
Скролера на мишката.
Решение: в /etc/X11/xorg.conf има ред в секцията за Device “mouse”
Protocol “imps/2″
сменяте го на auto и готово.
Проблем 4:
Поддръжка на кирлица в файловата система и KDE
Решение:
/etc/rc.d/rc.font:
#!/bin/sh # # Този скрипт зарежда шрифт за виртуален терминал (текстова конзола). # Достъпните шрифтове се намират в директорията # /usr/share/kbd/consolefonts. # echo -n -e '\033%@' # кодиране UTF-8 setfont Cyr_a8x16 /etc/profile.d/lang.sh: #!/bin/sh export LANG="bg_BG.UTF-8" ...... ...... # Променливата LC_MESSAGES указва какъв да бъде езика на интерфейса на програмите. # Ако желаете интерфейса на програмите да бъде # на английски вместо на български, махнете # в началото на следващия ред #export LC_MESSAGES=en # тази команда решава някои проблеми свързани с man export LESSCHARSET=utf-8 case `tty` in /dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*) # повторно зареждане на шрифт и клавиатурна подредба (за всеки случай) . /etc/rc.d/rc.keymap 2>/dev/null . /etc/rc.d/rc.font esac /etc/rc.d/rc.local: #!/bin/sh # # /etc/rc.d/rc.local: Local system initialization script. # # Put any local setup commands in here: # настройки за виртуален терминал от 1 до 6: for i in 1 2 3 4 5 6 do echo -n -e '\033%@' > /dev/tty$i done
Искам да благодаря на момчетата от форума на linux-bg.org за помоща, както и на Валентин Стойков, от чиято статия са извадките по-горе. О и да напомня, че това е за поддръжка на utf-8.
Проблем 5:
След инсталиране на драйврите, имам 3d поддръжка, само ако не ползвам kdm.
Решение:
rm -R /usr/share/config/kdm/*
genkdmconf
Та това е мили деца, от към проблеми с преминаването към linux. Поне при мен. Еми … да ми е честито!
Ваш,
Lucifer
loading...
qdisc htb … или лесен за правене shaper
by Lucifer on May.12, 2009, under HowTo, PC, geek time
И така … седя си аз на работа и се чудя как да се боря с големите лоши потребители, които ми заемата канала и не мога да си играя играта и да си точна порното. Ядосвам се! Писна ми да ги забранявам IP по IP. Зачетах се из интернет … добрия стар чичо Google ме препрати към lartc.org . Изтеглих си аз ръководството от там (препоръчвам го н а всички) и се хванах да го прочета. О очудване! То Правенето на shaper не било сложно!
Този shaper работи в моята мрежа. Не твърдя да е сложен, защото нямам нужда да се боря с хакери (потребителите ми са “многознайковци” (вие представяте ли си идота който ми се развика защо нямал нет, като се оказа, че сам си е преинсталирал Windows-a и не е сложил драйвери за дъно и LAN)).
Така, сега по същество:
Конструкция:
Имам 3 LAN мрежи:
192.168.0.0/24 – локална мрежа за администрацията, най-често използвана за служебни задължения, с изключение на 1 поттребител.
192.168.10.0/24 – локална мрежа за залата за обучение, която и трябва web, с изключение на 2-те машини зад които седя.
192.168.3.0/24 – Wi-Fi мрежа за гостите на хотела, която е отворена и безотчетна
Имам 12 Mbit/s biz download на 2Mbit/s upload от приятелите от БТК.
Slackware 12 машинка с 2 LAN карти (WAN и LAN)
Защо HTB?
HTB, ли? Ми защото се пише по-лесно от CBQ, а и в кернела-а на моя комп го има. Няма да ви лъжа, че е по-стабилен или по-напреднал. Аз съм си мързелив. Просто ми е най-лесен.
Лимитации.
За съжаление qdisc не се справя много добре с shape на igress трафик, за това се възползва от опцията на мрежовите протоколи да пращат само колкото бързо можеш да получиш. За това ще работим с egress трафика (изходящия).
Началото.
#/bin/sh WAN=eth1 LAN=eth2
Дефинираме bash скрипта и дефинираме LAN картите. Тук е мястото тези от вас които си вдигат лан картите или правят специфични настройки като “ip a a” да ги направят:
ifconfig $LAN 192.168.0.1 netmask 255.255.255.0 ifconfig $LAN:1 192.168.10.1 netmask 255.255.255.0 ifconfig $LAN:2 192.168.3.1 netmask 255.255.255.0 ip a a dev $WAN xx.xx.xx.xx
Препръчвам да правите всички мрежови настройки преди да започнете да правите shape-а. Започваме с орязване на входящия тряфик. Както казахме, всъщност не можем да го орежем, но можем да ограничим и контролираме изхода от картата към вътрешните мрежи (в случая $LAN).
tc qdisc del dev $LAN root tc qdisc add dev $LAN root handle 1: htb default 30
Или преведено на човешки – изтрий всички устройства коит “висят” на интерфейс $LAN и добави root “устройство” закачено на $LAN с идентификатор 1: и използващо htb (честно казано не знам какво прави default и 30, но си ги търси). Следващата стъпка е да създадем “правила” за устрйството.
tc class add dev $LAN parent 1: classid 1:1 htb rate 12000kbit ceil 12000kbit burst 15k tc class add dev $LAN parent 1:1 classid 1:10 htb rate 5000kbit ceil 12000kbit burst 15k prio 1 tc class add dev $LAN parent 1:1 classid 1:20 htb rate 1000kbit ceil 2000kbit burst 15k prio 2
Обяснявам и тук – добавяме клас 1:1 с “родител” 1: използвайки htb за контрол с минимална скорост 12000 kbit/s (винаги давайте по малки скорости от реалните) и максималан същата. Създаваме 2 “деца” на този клас 1:10 и 1:20. Като 1:10 има запазени 5000 kbit/s и максимум от 12000 kbit/s (когато има други клиенти има гарантирани 5000, но когато останалия канал е свободен, може да го ползва целия), 1:20 е с осигурен 1000 kbit/s и максимум от 2000 kbit/s. Сега, нека пратим трафика по класовете – това става с tc filter.
tc filter add dev $LAN protocol ip parent 1: prio 1 u32 match ip dst 192.168.10.0/24 flowid 1:10 tc filter add dev $LAN protocol ip parent 1: prio 1 u32 match ip dst 192.168.0.0/24 flowid 1:10 tc filter add dev $LAN protocol ip parent 1: prio 2 u32 match ip dst 192.168.3.0/24 flowid 1:20
Използваме така наречените u32 match-ове. В случая изпозлваме ip dst или destination ip. u32 позволява да се фитрира по много показатели:
- dst
- src
- dport
- sport
- tos
- protcol*
*protocol филтъра взима променливите си от /etc/protcols, например ако icmp е 1, то match ip protocol 1 0xff
като могат да се правят n на брой комбинации.
И така какво имам до тук? Имаме едно “дърво”:
1: | 1:1 /\ / \ | | 1:10 1:20
И филтри които да пращат към “клоните”. Това е за входящия трафик. Сега да направим същото за изходящия (извинете но тук няма да обяснявам, защото до сега го обясних достатъчно подробно). Та за $WAN интерфейса:
tc qdisc del dev $WAN root
tc qdisc add dev $WAN root handle 1: htb default 30
tc class add dev $WAN parent 1: classid 1:1 htb rate 2000kbit ceil 2000kbit burst 15k
tc class add dev $WAN parent 1:1 classid 1:10 htb rate 1000kbit ceil 2000kbit burst 15k prio 1
tc class add dev $WAN parent 1:1 classid 1:20 htb rate 512kbit ceil 1000kbit burst 15k prio 2
tc filter add dev $WAN protocol ip parent 1: prio 1 u32 match ip src 192.168.10.0/24 flowid 1:10
tc filter add dev $WAN protocol ip parent 1: prio 1 u32 match ip src 192.168.0.0/24 flowid 1:10
tc filter add dev $WAN protocol ip parent 1: prio 2 u32 match ip src 192.168.3.0/24 flowid 1:20
След този момент вече сте свободни да работите с iptables и да си направите колкото си искате правила за портове и настройки.
Отново подчертавам, че това е една малка и проста конструкция предиведна за SOHO мрежа. Както виждате има и слабо място, но смятам и това да изчистя. Когато го направя ще пиша още.
Ваш,
Lucifer
loading...
Squid 3 + IPTABALES … или transparent proxy за секунди!
by Lucifer on Apr.15, 2009, under HowTo, PC, fun, geek time
Тъй като съм алчно и гладно за трафик копеле, реших, че на потребителите не им трябва чак толкова web трафик и реших да им шибна едно прозрачно proxy. Пък и без това искам да знам кой къде ходи.
Та … как става номера:
1. Взимате един Slackware (дори не знам коя версия)
2. Сваляте си последния SQUID 3 (в моя случай squid-3.0.STABLE13)
3. tar -xvf squid-3.0.STABLEx
4. cd squid-3.0.STABLEx
5. ./configure –enable-ssl –enable-linux-netfilter
6. make all
6.1 (ако не сте като root) su
7. make install
8. mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.orig
ЧЕСТИТО! Ако всичко е минало правилно имате инсталиран squid без конфигурационен файл.
9. nano /usr/local/squid/etc/squid.conf
http_port 3128 transparent
cache_dir ufs /usr/local/squid/var/cache/ 1000 32 512
access_log /var/log/squid/access.log
acl localnet0 src 192.168.0.0/255.255.255.0
acl localnet10 src 192.168.10.0/255.255.255.0
acl localnet3 src 192.168.3.0/255.255.255.0
http_access allow localnet0
icp_access allow localnet0
http_access allow localnet10
icp_access allow localnet10
http_access allow localnet3
icp_access allow localnet3
Сега да обясня!
http_port – оказва порта на който ще слухти октоподчето (3128 – по подразбиране). Опцията “transperant” оказва на октоподчо да си работи невидимо.
cache_dir – оказва каде да е директорията където да се пазят нещата от сесиите. “usf” e файловата система кяото ползвате. След това пътеката където се помещава (squid трябва да има +rw). Следва големината на заделеното място за cache в MB. Другите 2 параметъра са за папки и подпапки за структуриране на информацията.
access_log – указва пътя на log файла (пак +rw)
acl – Access control layer – основния метод за настройка на сигурност. Какво имам аз? Първия параметър след acl е стринг за наименование на контролера, в този случай localnet0. “src” е вида контрол който ще указваме, в случая входящите заявки от 192.168.0.0/24. За съжаление трябва да окажете пълната netmask, “/24″ не върши работа! При мене имам 3 мрежи и ги дефинирам и трите!
http_access – разреши http достъпа за дадения acl.
icp_access – разреши icp достъпа за дадения acl.
Ето ви го конф-а за да работи леко и без проблемно … има още тоолкова опции и възможности, че няма на къде, но за едно бързо и малко web proxy не ви трябва много! Та … записвате конф-а и излизате от редактора!
10. /usr/local/squid/sbin/squid -z за да направим директориите за кеша.
11. /usr/local/squid/sbin/squid -N -d 1 -D – тъй като октоподчо е демон -N го караме да остане отгоре. -d 1 за да задедем debug level. -D за да не прави DNS query към някои основни хостове и да умре без причина! Ако искате да го пратите като демон махнете -N и -d 1.
12. tail -f /var/log/squid/access.log – за да наблудаваме какво иде реч!
13. Сега трябва да пренасочим целия web трафик през окти … аз съм го решил просто (искам само порт 80, защото потребителите ми са обикновенни хора):
iptables -t nat -A PREROUTING -i eth4 -p tcp –dport 80 -j REDIRECT –to-port 3128
14. ЧЕСТИТО! ИМАТЕ СИ ПРОЗРАЧНО PROXY и домаин logger!
За по-подробни разясянения за това кой, как къде, защо и как – ОКТО WIKI.
Ваш,
Lucifer
loading...
Windows XP Pro SP3 със Terminal Server
by Lucifer on Aug.23, 2008, under HowTo, PC, geek time
Снощи се хванах да си оправя малко компютър-а … Старата щайга бях забравил да patch-на tcpip.sys-a за конкурентни връзки (как да имам скорост и да не губя RAM като са 10?) …
Казах си така и така съм се хванал, дай да взема да го cheat-на на max … Предната ми работа беше свързана с един MS Windows 2003 Terminal Server и ми хареса идеята! По-принцип не съм фен на MS бози, но терминала е хубаво нещо… (само дето предпочитам UltraVNC, но това е друг въпрос)
Айде чичко Google за конкурентни RDP връзки … и намерих … То не е голяма философия…
Какато стана ясно ти трябва едно patch-нато dll и една промяна на регистрите, но да не избурзвам.
И така:
1. Отивате на тозиадрес и си дърпате архива.
2. Разархивирате
3. Отивате в %SystemRoot%system32dllcache и преименувате termsrv.dll
4. Отивате в %SystemRoot%system32 и преименувате termsrv.dll
5. Копирате разархивирания patch-нат termsrv.dll в %SystemRoot%system32
6. Прилагате *.reg от архива или
[HKEY_LOCAL_MACHINESYSTEMControlSet001ControlTerminal ServerLicensing Core]
“EnableConcurrentSessions”=dword:00000001
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
“EnableConcurrentSessions”=dword:00000001
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
“AllowMultipleTSSessions”=dword:00000001
7. Reboot
… et voila!
Честит ви TS!
Сега идва момента да попитате … ама как да контролирам потребителите? Кой да може да се логва?
Ето и това просто решение:
дясно копче (RB) на My Computer -> Management -> System Tools -> Local Users and Groups -> Groups -> Remote Desktop Users и там си добавяте потребителите които имат права!
Много хубаво! Хареса ми! До момента в който не се опитах да се log-на с активния в моманта на м ашината потребител … и тогава получих ядец!
не можете да се логнете поради политиките на акаунта! WTF??? Това се базика с мене! Цял ден четох как! Няма и няма! Единственото което намерих е командата shadow … но тя иска потвърждение от активния потребител!!!!!!! Четох, мислих, чудих се! Сега ще кажете е деобре де за що не ползва mstsc /console, ми щото неще! В SP3 е заменено с /admin ама пак не става!
Решение?
ИМА!!!
Start->run->gpedit.msc->Computer Configuration->Administrative Templates->Windows Components->Terminal Services->Sets rules for remote control of Terminal Services user sessions->enabled
за options -> Full control without user’s permission
Log-вате се като друг административен account -> cmd -> shadow 0 … et voila!!!
За да орекратите shadow се използва Ctrl + * (* от numpad) И …това е! Дано помогне на някого!
loading...
