ANAVARO.COM
BDSMblogfungeek timeHowTomiskPCГостиличнина пътприказкисоциалнифилософия
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • ChangeLogSeriesИзвратеност for dummies

    SOCKS 5 + PuTTY + SSH или лесен псевдо VPN(GeekTime)

    Днес сутринта на работа реших, че ми трябва достъп до сайт … който не е добре да разбират от работа, че гледам и реших да се заинтересувам от възможноста за създаване на някакво псевдо proxy и попаднах на този супер лесен начин.

    Какво ви трябва?

    PuTTY

    SSH Shell някъде

    Хубав browser (Firefox/Chrome/Opera)


    Каква е целта?

    Използвайки една малко известна функция на SSH създаваме връзка с shell-а, който може да е на всякъде (в моя случай – www.anavaro.com). После пренасочваме трафика през връзката и получаваме своебразен лесен VPN.


    Как става?

    Пускате PuTTY.

    Задавате адрес за SSH сесията.

    Отивате на Connections -> SSH -> Tunels.

    Задавате Source port (в моя случай 8888)

    Слагате отметките под Destination на Dynamic и Auto и давате Add

    Свързвате се с shell-а, пишете си user-а и паролата

    И вече имате тунел през който да пренасочите трафика си.

    Сега тънката част – Browser-а

    Тук ще спомена, че по принцип всеки Browser може да се използва, всеки който има възможности да ползва proxy. Защо споменах горните 3 ще разберете по-късно.

    За Firefox:

    Tools -> Options -> Advanced -> Network -> Settings

    Там избирате Manual Proxy Configuration и в SOCKS Host слагате 127.0.0.1, а за порт – порта който сте си избрали по рано.

    От тук на сетне целия трафик ще минава през отворената с PuTTY сесия …

    Тук идва въпроса – АМИ DNS ЗАЯВКИТЕ? Защото той трафика си минава през secure връзката, но сайтовете се резолвват през DNS.

    В адресната линия пишете “about:config”. Намирате си опцията “etwork.proxy.socks_remote_dns” и я правите на TRUE et voila …

    За Chrome:

    Отново като за Firefox сменяте proxy-то, но слагането на secure DNS е малко по-сложно:

    1. Добавяте към shortcut-а на Chrome

    --proxy-server=socks5://127.0.0.1:8888

    2. от настройките отивате на Under the hood и махате опцията “Use DNS pre-fetching to improve page load performance”

    и готово! Имате си secure връзка.

    А какво правите, ако сте като мен – под Linux?

    Дори още по-лесно:

    В някоя конзола пускате следния ред:

    $ ssh -D 8888 user@host

    И правите същите настройки на browser-а като за Windows …

    Това SOCKS5 Proxy може да използвате и с повеето чат клиенти, за да си прекарате връзката през него (Skype и Koppete знам със сигурност, че имат proxy options)

    Надявам се това да ви е помогнало!

    Ваш,

    Lucifer

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове: , , , , , , 4 коментара

    Kernel 2.6.32.x и ATI Catalyst (GeekTime)

    Нали ме знаете, че съм си гаден 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

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове: , , , , , , , , , , 2 коментара

    Малко хитрости за работа … или ffmpeg, WordPress и Viper's Videotags

    Ето че пак е време за поредното 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:

    [flv width="640" height="352"]http://www.anavaro.com/media/test.flv[/flv]

    Приятно прекарване и не забравяйте, че това е времеемко занимание. Надявам се да съм ви помогнал и днес!

    Ваш,

    Lucifer


    P.S.: Явно се оказва, че има много по хубав начин да се постигнат нещата … Както ще прочетете в коментарите. Направих няколко теста и за сметка по-голямото време за енкодване, можете да получите невероятни резултати с h264. Ето тук има ръководство: цък. Искам най-искрено да благодаря на drJeckyll за коментара и помощта …

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове: , , , , 7 коментара

    Nokia 6120 classic като Linux modem!(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

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове: , , , , , , 1 коментар

    Lineage 2 GRACIA Final под Linux (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

    VN:F [1.9.17_1161]
    Rating: 5.0/5 (1 vote cast)
    Под тагове: , , , , , 2 коментара

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

    Проблем 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

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове 1 коментар

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

    Предния път набързо само написах, че най-накрая минах на Линукс и по-специално на 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


    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове 1 коментар

    qdisc htb … или лесен за правене shaper

    И така … седя си аз на работа и се чудя как да се боря с големите лоши потребители, които ми заемата канала и не мога да си играя играта и да си точна порното. Ядосвам се! Писна ми да ги забранявам 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


    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове: , , 6 коментара

    Squid 3 + IPTABALES … или transparent proxy за секунди!

    Тъй като съм алчно и гладно за трафик копеле, реших, че на потребителите не им трябва чак толкова 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

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове: , , 2 коментара

    Windows XP Pro SP3 със Terminal Server

    Снощи се хванах да си оправя малко компютър-а … Старата щайга бях забравил да 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) И …това е! Дано помогне на някого!

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Под тагове 1 коментар