slacknews.org Всичко за Slackware

6окт/090

Когато rm се оплаква, че не може да трие

Има ограничение на командата rm, когато се опитате да триете много файлове с *. Например:

rm -rf something*

Ако има много файлове, които започват с something, rm няма да може да ги изтрие и ще изведе:

/bin/rm: Argument list too long.

Решението на проблема е да ползвате find, xargs и rm.

find . -name 'something*' -print0 | xargs -0 rm -rf

Проблема може да се разреши по още един начин:

find . -name 'something*' -exec rm -rf {} \;

Possibly Related Posts:


4окт/090

Slackware news: 4 Октомври 2009

Има две важни промени днес PHP и Samba. Промените са направени едновременно в -Stable и в -Current. В -Current, обаче има и доста други промени като MySQL, Amarok, QT, Perl, както и GCC 4.4.1.

Това е последното от -Current changelog-а:

Sun Oct 4 00:17:50 CDT 2009
ap/mysql-5.1.39-i486-1.txz: Upgraded. This bumps the version of the shared libraries to .so.16.0.0.
d/perl-5.10.1-i486-1.txz: Upgraded. Compiled against mysql-5.1.39, upgraded to perl-5.10.1, DBD-mysql-4.013, DBI-1.609, and URI-1.40.
kde/amarok-2.2.0-i486-1.txz: Upgraded.
l/qt-4.5_0bd8418-i486-1.txz: Upgraded. This is the KDE Qt 4.5.2-patched git branch, compiled against mysql-5.1.39.
l/redland-1.0.9-i486-1.txz: Upgraded. Compiled against mysql-5.1.39.
l/soprano-2.3.1-i486-1.txz: Upgraded.
l/taglib-1.6-i486-1.txz: Upgraded.
l/taglib-extras-1.0.1-i486-1.txz: Upgraded.
n/openssh-5.3p1-i486-1.txz: Upgraded.
n/php-5.2.11-i486-1.txz: Upgraded. This release fixes some possible security issues,
all of which have "unknown impact and attack vectors".For more information, see:

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3291

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3292

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3293

(* Security fix *)
Also, thanks to Frank Gingras and Rich Bowen for helping to improve the syntax in mod_php.conf.
n/samba-3.4.2-i486-1.txz: Upgraded.
This update fixes the following security issues.
A misconfigured /etc/passwd with no defined home directory could allow security restrictions to be bypassed.
mount.cifs could allow a local user to read the first line of an arbitrary file if installed setuid.
 (On Slackware, it was not installed setuid)
Specially crafted SMB requests could cause a denial of service.
For more information, see:

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2813

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2948

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2906

(* Security fix *)
testing/packages/gcc-4.4.1/gcc-4.4.1-i486-1.txz: Added.
testing/packages/gcc-4.4.1/gcc-g++-4.4.1-i486-1.txz: Added.
testing/packages/gcc-4.4.1/gcc-gfortran-4.4.1-i486-1.txz: Added.
testing/packages/gcc-4.4.1/gcc-gnat-4.4.1-i486-1.txz: Added.
testing/packages/gcc-4.4.1/gcc-java-4.4.1-i486-1.txz: Added.
testing/packages/gcc-4.4.1/gcc-objc-4.4.1-i486-1.txz: Added.

Possibly Related Posts:


19сеп/090

Основи на Линукс автоматизацията

Тази статия описва начина, по който могат да се изпълняват команди в определено време без да се налага на потребителя да ги въвежда. Програмите отговорни за това в линукс са cron и at.

Изпълняване на команди в точно определено време:

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

at midnight

След като изпълните това ще си се покаже at командния ред( at>; ). Напишете командата, която искате да се изпълни. Например:

at>; who > who.out

Можете да въвеждате по една команда на ред. Когато сте готови натиснете Ctrl и D. Сега би трябвало да видте :

X         2006-05-26 00:00 a yourname

Където X е номера на вашата команда. Тази поредица от команди казва на вашата машина да изпълни в полунощ командата, която сте въвели.

Ако решите, че вече на искате да се изпълнява тази команда, може да използвате :

atrm X

X е номера на командата, която искате да не се изпълнява. atrm е командата, с която се премахват задачи зададени с at.

atrm поддържа много разновидности на въведеното време. Например може да ползвате: morning, noon, teatime, or midnight. "teatime" също работи и изпълнява команди в  4 следобед!

Ако ви се налага да изпълнявате една команда всеки ден от месеца например, може тогава не е удобно всеки ден да назначавате да се изпълнява. Cron ви позволява да изпълнявате команди по този начин. Освен това има една много важна разлика между cron и at. at може да се изпълнява само от root, a cron от всички потребители.

Може да има различни настройки за всеки потребител на системата. Преди да започнете каквото и да било трябва да се уверите, че cron работи като демон.

За да можем да създаваме задачи, трябва да разберем как работи Cron. Най-добрия начин е чрез примери.

Първо, всяка задача за cron има следния синтаксис:

Minute (0-59) Hour (0-23) Day of Month (1-31) Month (1-12 or Jan-Dec) Day of Week (0-6 or Sun-Sat) Command

Не е нужно да се указва всяко поле. Ако искате да укажете всеки месец например може да използвате *. Това е пример как може да използване *.

* * * * 5 who

Това ще изпълнява командата who всяка минута, от всеки час, от всеки месец от за всеки петък. Използваме 5 на мястото на ден от седмицата.

5 * * * * who

Това ще изпълнява командата who на всяка пета минута, от всеки час, от всеки месец, за всеки ден от седмицата. Тук използваме 5 на мястото на минутите.

Ако искате някаква команда да се изпълнява всяка вечер в полунощ?

0 0 * * * whо

Това ще изпълнява командата who в полунощ, всеки месец, за всички дни от седмицата. Тук 0 има на мястото за часове и минути и представлява полунощ.

За повече гъвкавост може да използваме / (наклонена черта). Например:

*/15 * * * * who

Този ред ще изпълнява командата who всеки 15 минути, от всеки час, от всеки месец, за всички дни от седмицата. Използване /15 на мястото на минутите за да покажем колко често трябва да се изпълнява задачата.

Има и други опции, но за да не усложняваме ще ги пропуснем.

Създаване на автоматична задача

За да можете да задавате задачи на cron процеса трябва да използвате crontab. Тази команда се въвежда на командния ред. Като изпълните командата тя отваря редактора по подразбиране на вашата дистрибуция и ви дава възможност да редактирате всички задачи за вашия потребител. Може да въведете това, което искате да изпълнявате :

Първо изпълнявате командата с параметър -е (edit):

crontab -e

След това въвеждате задачата:

*/15 * * * * yourcommand

Заменете yourcommand, с това което искате да изпълнявате. След това запазете файла и излезте от редактора. Трябва да видите нещо от сорта на:

crontab: installing new crontab

Току що създадохте задача, която ще се изпълни от вашия потребител в уреченото време(на всеки 15 минути от всеки час, от всяка седмица, от всеки месец, за всеки ден от седмицата).

Изчакайте да се изпълни командата. Ако се пуснали crond с възможност да записва задачите, които изпълнява, може да проверите какво става така :

tail -f /var/log/cron

Може да редактирате задачата по същия начин, по който я създадохте, само че редактирате файла и запазвате. За да изтриете всички задачи може да използвате:

crontab -r

Ако искате да изтриете само някои:

crontab -е

След това изтривате редовете, които не са нужни вече и запазвате.

Possibly Related Posts:


6сеп/090

Как да правим всичко с dd ?

Синтаксиса на командата е :

dd if=<source> of=<target> bs=<byte size>(обикновено степен на 2, но не по-малко от 512 байта) skip= seek= conv=<conversion>.

Source са входните данни. Target е мястото, където се записва информацията. Ако направите грешка и им размените местата, може да затриете много информация.

Примери :

Копиране партишън от един хард диск на друг :

dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=notrunc,noerror

sda2, sdb2 са партишъните. В този случай копираме sda2 върху sdb2. Ако sdb2 не съществува, dd ще започне да пише от началото на диска и ще го създаде. Много е важна последователността на if и of. Може да запишете празен диск върху такъв с информация ако не внимавате.

Създаване на iso image на CD:

dd if=/dev/hdc of=/home/someone/mycd.iso bs=2048 conv=notrunc

CD секторите са дълги 2048 байта и тази команда копира сектор по сектор. Резултата е файл върху хард диска със съдържанието на CD. Може да монтирате копието с "mount -o loop /home/someone/mycd.iso /mnt/mycd". Файловата система ще вижда файловете и директориите в копието в директорията /mnt/mycd. Може да променяте съдържанието но копието, но няма да можете да го запишете понеже dd не може да пише по CD-та. Ще трябва да използвате друга програма за да записвате.

Копиране на дискета :

dd if=/dev/fd0 of=/home/sam/floppy.image bs=2x80x18b conv=notrunc

или

dd if=/dev/fd0 of=/home/someone/floppy.image conv=notrunc

18b указва 18 сектора по 512 байта, 2x умножава големината на сектора с броя на главите, а 80x указва цилиндрите - общо 1474560 байта. Тази команда чете наведнъж 1474560 байта от /dev/fd0 и после пише 1474560 байта в /home/someoune/floppy.image.

Изписване на "I loveBeer" вертикално.

echo -n "I love Beer" | dd cbs=1 conv=unblock 2> /dev/null

Клониране на хард диск:

dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror

В този пример копираме sda върху sdb. Важно не да объркате двата диска. noerror указва да се продължи копирането дори да има грешка. Обикновено dd спира при грешка.

За да видим виртуалната памет

dd if=/proc/kcore | hexdump -C | less

показва по един екран на терминала

За да видим какви файлови системи имаме

dd if=/proc/filesystems | hexdump -C | less

Заредени модули

dd if=/proc/kallsyms | hexdump -C | less

Таблицата с прекъсванията

dd if=/proc/interrupts | hexdump -C | less

Колко секунди е работила машината

dd if=/proc/uptime | hexdump -C | less

Партишъни и техните големини в kb

dd if=/proc/partitions | hexdump -C | less

Статистики за паметта

dd if=/proc/meminfo | hexdump -C | less

За да направим файл с 100 произволни байта

dd if=/dev/urandom of=/home/someone/myrandom bs=1 count=100

Записване на произволна информация върху файл преди да го изтрием

първо правил ls -l , за да видим колко е голям файла. В този случай е 3769

ls -l afile
-rw------- ... 3769 Nov 2 13:41 <filename>

dd if=/dev/urandom of=afile bs=3769 count=1 conv=notrunc

Това ще запише произволни символи върху файла.

Копиране на партишън във файл. Не копирайте партишън върху себе си.

dd if=/dev/sdb2 of=/home/someone/partition.image bs=4096 conv=notrunc,noerror

Възстановяване на партишън от файл:

dd if=/home/someone/partition.image of=/dev/sdb2 bs=4096 conv=notrunc,noerror

Конвертиране на символите във файл от малки в големи:

dd if=filename of=filename conv=ucase

Копиране на рам паметта във файл:

dd if=/dev/mem of=/home/someone/mem.bin bs=1024

/dev/mem представлява системната памет. Всъщност може да копирате каквото си искате от там с dd.

Ако искате да направите копие на партишън но на друга машина:

Използвайте ssh(secure shell), за да копиранте от отдалечената машина.

ssh 192.168.xx.yy "dd if=/dev/sda ibs=4096 conv=notrunc,noerror" | dd of=/dev/sda obs=4096

Използвайте ssh, за да копирате на отдалечената машина.

dd if=/dev/sda ibs=4096 conv=notrunc,noerror | (ssh 192.168.xx.yy dd of=/dev/sda obs=4096)

Операнди

Тези операнди се поддържат:

if=file

Указва входните данни. Ако не е указано взима стандартния вход stdin.

of=file

Указва изходящите данни. Ако не е указано взима стандартния изход stdout. Ако не е указано conv=notrunc, съдържанието на изходящия файл ще бъде изтрито преди да започне операцията.

ibs=n

Указва големината в на блокът на входните данни в байтове. Ако не е указано е 512.

obs=n

Указва големината в на блокът на изходните данни в байтове. Ако не е указано е 512.

bs=n

Указва едновременно големината на блокът на входните и изходните данни да е n байта.

cbs=n

Определя големината на блока за преобразуване в байтове. По подразбиране е 0. Ако cbs= е опропуснато или има стойност 0, използването на block или unblock има незнаен ефект.

files=n

Копира и съединява n входни файла преди да приключи. Има смисъл само като се записва върху магнитна лента или подобни устройства.

skip=n

Пропуска n блока от началото на входния файл преди да започне копирането.

iseek=n

Пропуска n блока от началото на входния файл преди да започне копирането. Използва се, когато горната опция е много бавна.

oseek=n

Пропуска n блока от началото на изходния файл преди да започне копирането.

seek=n

Пропуска n блока от началото на изходния файл преди да започне копирането.

count=n

Копира само n блока.

conv=value[,value. . . ]

Където value са разделени със запетая символи от този лист:

ascii

Конвертира EBCDIC в ASCII.

asciib

Конвертира EBCDIC в ASCII, като използваBSD-съвместими символи.

ebcdic

Конвертира ASCII в EBCDIC. Ако конвертирате ASCII със еднаква дължина без нови редове добавете pipeline с dd conv=unblock преди това.

ebcdicb

Конвертира ASCII в EBCDIC, като използваBSD-съвместими символи. Ако конвертирате ASCII със еднаква дължина без нови редове добавете pipeline с dd conv=unblock преди това.

block

Взима входа като записи, завършващи с нов ред или край на файл (EOF), без значение колко е голям входния блок. Всеки запис се конвертира в запис с определена дължина. Премахват се символите за нов ред. Добавят се SPACE символи към редовете, които са по-къси от големината на блока. Тези редове които имат повече символи отколкото е големината на блока се отрязват, като се разпечатва номера на отрязаните редове.

unblock

Конвертира записите с еднаква дължина в записи с променлива дължина.

lcase

Променя символите за големи букви, определени от LC_CTYPE в малки букви.

ucase

Променя символите за малки букви, определени от LC_CTYPE в големи букви.

swab

Разменя всяка двойка входни байтове. Ако входните байтове са нечетен брой, се пропуска последния ред.

noerror

Не спира при грешка. Когато има грешка при копирането, се изкарва съобщените за грешка, последвано от настоящия брои на блоковете на входния и на изходния файл. Ако е указано sync липсващите данни се заменят с нулеви байтове, иначе входния блок ще се пропусне при записаването.

notrunc

Не изтрива съдържанието на изходния файл преди да започне да копира. Запазва съдържанието на данните, които са не са записани от dd процеса, който извършва операцията. (See also the preceding of=file operand.)

sync

Прави всеки входен блок с големината на ibs= buffer, като при нужда добавя нулеви байтове.
Ако са използвани пове4е от един conv= операнд, се използва последната двойка operand=value.
За bs=, cbs=, ibs=, и obs= операндите, приложението трябва да предостави големината в байтове от вида:

положителен десетичен символ
положителен десетичен символ последван от k, указващ умножение с 1024
положителен десетичен символ последван отM,указващ умножение с 1024*1024
положителен десетичен символ последван отb,указващ умножение с 512
два или повече положителни десетични символа (с или без k или b) разделени от x, указваще произведението на символите.

Possibly Related Posts:


4авг/090

Излезе KDE 4.3.0

Днес на 04.08.2009 излезе новата версия на KDE - 4.3.0. В нея са отстранени много бъгове и има много подобрения, някой от които са нова тема по подразбиране, подобрения във файловия мениджър. Добавени и подобрени са също много приложения.

Пълният списък с промените може да намерите тук.

Possibly Related Posts:


22юни/090

Инсталиране на Tor. The Slackware way.

Ще ви представя един много лесен начина за инсталиране на Tor под Slackware.

Следващата процедура работи само ако имате инсталиран slapt-get.

Стъпка 1:

Отваряте /etc/slapt-get/slapt-getrc и добавяте в края :

SOURCE=http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-$version/

като заменяте $version с версията от /etc/slackware-version на вашия Slackware.

Стъпка 2:

root@darkstar:~#slapt-get --update

Стъпка 3:

root@darkstar:~#slapt-get --install tor-0.2.0.34-i486-1sl tork-0.31-i486-1as privoxy-3.0.12-i486-1ng

Стъпка 4:

Вече може да ползвате Tor.

Possibly Related Posts:


20юни/090

Конфигуриране на Tor като междинна точка

Мрежата на Tor разчита на доброволци, които даряват честотна лента. Колкото повече хора участват с междинни точки, толкова по-бързо ще работи мрежата на Tor. Ако имате поне 20 килобайта в двете посоки, моля, помогнете на Tor, като конфигурирате своя Tor и като междинна точка. Имаме много функции, които правят междинните точки на Tor лесни и удобни, включително лимит на скоростта на връзката, правила за изход, които позволяват да ограничите възможността да бъдете обвинени в злоупотреба, както и поддръжка на динамични IP адреси.

Това, което пази и подсигурява потребителите на Tor онлайн, са многото междинни точки на различни места в Интернет. Вие също можете да имате по-добра анонимност, тъй като отдалечени сайтове не могат да знаят дали вашите връзки идват от вашия компютър или са препредадени от другите.

Настройването на Tor като междинна точка е лесно и удобно:

  • Tor има вградена поддръжка за ограничаване на скоростта. Освен това, ако имате бърза връзка, но искате да ограничите количеството байтове на ден (или седмица, месец), които дарявате, вижте функцията хиберниране.
  • Всяка междинна Tor точка има правила за изход, които определят какъв вид изходящи връзки са разрешени или отхвърлени от тази междинна точка. Ако не ви е приятно хората да излизат от вашата междинна точка, можете да я настроите само да разрешава връзки към други междинни точки в Tor.
  • Няма проблем, ако понякога междинната точка е офлайн. Директориите забелязват това бързо и спират да рекламират тази точка. Само е добре да се уверите, че това не се случва твърде често, тъй като връзките, които ползват тази точка, ще се прекъснат в момента на изключването й.
  • Можем отлично да поддържаме междинни точки с динамични IP адреси — просто оставете полето Address config празно и Tor ще се опита да налучка.
  • Ако вашата точка се намира зад NAT (network address translation) и не знае публичното си IP (например, ако има IP като 192.168.x.y), трябва да настроите пренасочване на портовете. Пренасочването на TCP връзките зависи от системата, но тази FAQ секция дава някои примери как може да се направи това.
  • Вашата точка пасивно ще прецени и рекламира капацитета на своята честотна лента, така че естествено, междинните точки с по-висока скорост ще привлекат повече потребители от тези с по-ниска. Следователно точките с по-малък капацитет на честотната лента също могат да бъдат полезни.

Можете да включите Tor като междинна точка върху която и да е операционна система, но все пак вижте тази FAQ секция за съвет кои работят най-добре и на какви проблеми можете да се натъкнете.

Стъпка 1: Сваляне и инсталиране на Tor

Преди да започнете, уверете се, че Tor е пуснат и работи.

Ако е удобно, можете също да използвате за малко Tor като клиент, за да се убедите, че наистина работи.

Стъпка 2: Настройте го като междинна точка

  1. Проверете дали часовникът на компютъра ви е настроен правилно. Ако е възможно, синхронизирайте го с публичните сървъри за точно време.
  2. Уверете се, че имената ще бъдат разчетени правилно (идеята е вашият компютър да разчита правилно интернет адреси).
  3. Най-лесният начин да конфигурирате междинна точка е като използвате Vidalia. По-трудната стъпка е директно да редактирате вашия torrc.
    Лесно конфигуриране:

    • Кликнете с десен бутон върху иконата на Vidalia в лентата със задачи. Изберете Control Panel.
    • Кликнете Setup Relaying.
    • Изберете Relay Traffic for the Tor network.
    • Въведете кратко име за вашата междинна точка. (По желание можете да въведете и информация за контакт.)
    • Изберете Attempt to automatically configure port forwarding. Натиснете бутона Test, за да проверите дали работи. Ако работи, чудесно. Ако не, вижте номер 4 по-долу.
    • Изберете таб the Bandwidth Limits. Изберете колко честотна лента искате да дадете на подобните на вас потребители на Tor.
    • Изберете таб the Exit Policies. Ако желаете да позволите на другите да използват вашата междинна точка за тези услуги, не променяйте нищо. Размаркирайте услугите, които не искате да разрешите през вашата междинна точка. Ако искате да бъдете междинна точка без право на изход, размаркирайте всички услуги.
    • Кликнете върху бутона Ok. Вижте Стъпка 2 по-долу за потвърждение, че междинната точка работи нормално.

    Конфигуриране за напреднали:

    • Редактирайте долната част на вашия torrc. (Вижте тази FAQ секция, ако имате нужда от помощ.) Дефинирайте поне кратко име и ORPort. Създайте DataDirectory, ако е необходимо, и проверете дали е на същия собственик, който ще пуска Tor. Ако искате да активирате повече от една междинна точка, това е прекрасно, но трябва да настроите опцията MyFamily във всички конфигурационни файлове на вашата междинна точка.
  4. Ако използвате защитна стена, направете пробив в нея, така че входящите връзки да могат да достигнат портовете, които сте конфигурирали (ORPort, както и DirPort, ако сте го активирали). Проверете дали сте разрешили всички изходящи връзки, така че вашата междинна точка да може да достигне до други Tor точки.
  5. Рестартирайте своята междинна точка. Ако показва предупреждения, съобразете се с тях.
  6. Абонирайте се за or-announce мейлинг листа. Тя е с много малък обем, но ще ви държи в течение на новите стабилни версии. Може също така да решите да се абонирате и за or-talk (с по-голям обем), където анонсираме разработването на новите версии.
  7. Хвърлете едно око на наръчника. Наръчникът за последната стабилна версия дава списък с всички възможни опции за конфигуриране, както за клиенти, така и за междинни точки. Ако използвате версията на Tor за разработчици, наръчник можете да намерите тук.

Стъпка 3: Уверете се, че работи

Щом вашата междинна точка успее да се свърже с мрежата, тя ще се опита да определи дали портовете, които сте конфигурирали, са достъпни отвън. Това може да отнеме около 20 минути. Търсете запис в лог файла, който да е нещо като Self-testing indicates your ORPort is reachable from the outside. Excellent. Ако не виждате това съобщение, това означава, че вашата междинна точка не е достъпна отвън – трябва да проверите отново защитните си стени, да проверите отново портовете и IP адресите и т.н.

Когато точката стане достъпна отвън, в директориите ще бъде качен “server descriptor” . Това ще даде възможност на клиентите да знаят кой адрес, портове, ключове и т.н. използва вашата междинна точка. Можете да заредите ръчно някой от мрежовите статуси, да го прегледате, за да намерите краткото име, което сте избрали и да се уверите, че съществува. Може да се наложи да изчакате няколко секунди, за да дадете достатъчно време на системата да създаде нова директория.

Стъпка 4: След като вече работи

Ние ви препоръчваме също така следните стъпки:

8. Прочетете този документ, за да добиете представа как можете да подобрите сигурността на своята междинна точка.

9. Вземете решение каква политика на изход желаете. По подразбиране вашата междинна точка позволява достъп до много от популярните услуги, но ограничава някои други (като порт 25) поради възможна злоупотреба. Вие може да желаете политика на изход, която е повече или по-малко ограничаваща; редактирайте вашия torrc по съответния начин. Прочетете FAQ секцията за проблеми, с които може да се сблъскате, ако изберете политика на изход по подразбиране. Ако изберете особено отворена политика на изход, добре е да сте сигурни, че вашият локален интернет доставчик е съгласен с вашия избор. Ако има ресурси, до които вашият компютър не може да достигне (например, ако се намирате зад ограничаваща защитна стена или филтър на съдържанието), моля, специално ги отбележете в своята политика на изход, в противен случай биха могли да засегнат и другите потребители на Tor.

10. Вземете решение относно размера на честотната лента. Тези с кабелен модем, DSL, както и други потребители, които имат несиметрична честотна лента (например повече за сваляне, отколкото за качване) е добре да ограничат скоростта до по-ниска стойност, за да се избегне претоварване. Вижте FAQ секцията за ограничаване на скоростта за повече подробности.

11. Направете резервно копие на личния ключ за вашата междинна точка в Tor (намира се в “keys/secret_id_key” във вашата DataDirectory). Това е “идентичността” на вашата междинна точка, така че трябва добре да я пазите, за да не може никой да следи трафика, който преминава през нея. Това е най-важният файл, който трябва да пазите, ако се наложи да преместите или възстановите вашата междинна точка в Tor, в случай, че нещо се обърка.

12. Ако имате контрол над имената на сървърите за вашия домейн, настройте вашия обратен DNS hostname на ‘anonymous-relay’, ‘proxy’ или ‘tor-proxy’, така че когато други хора видят адреса в своите уеб логове, да могат бързо да разберат какво се случва. Добавянето на изходящо Tor съобщение на vhost за това име може да помогне да се отклонят обвинения в злоупотреба срещу вас и вашия локален интернет доставчик, ако поддържате крайна точка.

13. Ако на вашия компютър не работи уеб сървър, помислете дали да не промените вашия ORPort на 443 и вашия DirPort на 80. Много Tor потребители се намират зад защитни стени, които им позволяват само да браузват в Мрежата, а тази промяна ще им позволи да достигнат до вашата междинна точка в Tor. Междинните точки под Win32 могат просто да променят своя ORPort и DirPort директно в техните torrc и да рестартират Tor. Междинните точки под OS X или Unix не могат да се свържат директно с тези портове (освен ако не са с права на root), така че те ще трябва да настроят някакъв вид пренасочване на портовете, така че връзките да могат да достигат до техните Tor точки. Ако вече използвате портове 80 и 443, но все още искате да помогнете, други полезни портове са 22, 110 и 143.

14. Ако вашата междинна точка предлага и други услуги със същия IP адрес — например публичен уеб сървър — проверете дали връзките към този уеб сървър също са разрешени от локалния хост. Ще трябва да разрешите тези връзки, защото Tor клиентите ще засекат, че вашата Tor точка е най-безопасният начин да достигнат до този уеб сървър и винаги изгражда верига, която свършва при вас. Ако не желаете да разрешите свързванията, трябва специално да ги отбележите с отказ в политиката си на изход.

15. (само за Unix) Създайте отделен потребител, който ще поддържа междинната точка. Ако сте инсталирали OS X пакета или deb или rpm, това вече е направено. В противен случай можете да го направите ръчно. (Междинната Tor точка няма нужда да работи като root, така че е по-добре да не я пускате като root. Пускането като ‘tor’ потребител избягва проблеми с identd и други услуги, които засичат потребителско име. Ако сте параноичен тип, чувствайте се свободни да пуснете Tor в chroot jail.)

16. (само за Unix) Вашата операционна система вероятно ограничава номера на отворените файлови дескриптори за процес до 1024 (или дори по-малко). Ако планирате да поддържате бърза изходна точка, това вероятно няма да е достатъчно. Под Linux ще трябва да добавите ред като “toruser hard nofile 8192″ към вашия /etc/security/limits.conf файл (където toruser е потребителят, който пуска Tor процеса), след което рестартирайте Tor, ако е бил инсталиран като пакет (или се разлогнете и логнете обратно, ако вие сами го пускате).

17. Ако сте инсталирали Tor чрез някакъв пакет или инсталатор, той вероятно ще ви стартира Tor автоматично при пускане на компютъра. Но ако сте го инсталирали от сорс, може би инитскриптовете в contrib/tor.sh или contrib/torctl ще ви бъдат полезни.

Когато променяте вашата Tor конфигурация, помнете, че трябва да проверите дали междинната ви точка продължава да си работи нормално след промените. Не забравяйте да настроите своята “ContactInfo” информация в torrc, за да можем да се свържем с вас, ако решите да ъпгрейдвате или нещо се обърка. Ако имате някакви проблеми или въпроси, вижте секцията ни за поддръжка или се свържете с нас в tor-ops листата. Благодарим ви, че помагате мрежата на Tor да се разрасне!

Ползване и разпространение на статията
Настоящата статия е превод на част от оригиналната документация на Tor, с автор Анелия Костова-Бозгунова.  Статията се разпространява при условията на Creative Commons – Attribution 3.0, което ви дава право свободно да използвате и променяте произведението, стига да запазите бележката относно автора на текста и превода.

Лично аз ви насърчавам и ще съм благодарен, ако публикувате цялата статия или връзка към нея, на колкото можете повече места.

Possibly Related Posts:


20юни/090

Инсталиране и конфигуриране на Tor клиент под Linux/BSD/Unix

Инсталиране и конфигуриране на Tor клиент под Linux/BSD/Unix

Стъпка 1: Сваляне и инсталиране на Tor

Последната версия на Tor можете да намерите на страница download.

Ако го създавате от сорс, първо инсталирайте libevent, като се уверите, че имате openssl и zlib (включително пакетите the -devel, ако е приложимо). След това пуснете:
tar xzf tor-0.2.0.34.tar.gz; cd tor-0.2.0.34
./configure && make

Сега можете да пуснете tor като src/or/tor, или можете да пуснете make install (като root, ако е необходимо), за да го инсталирате в /usr/local/, след което можете да го стартирате, като просто пуснете tor.

Tor идва конфигуриран като клиент по подразбиране. Използва вграден файл за конфигуриране по подразбиране и повечето хора не биха имали нужда да променят която и да е от настройките в него. Tor вече е инсталиран.

Стъпка 2: Инсталиране на Privoxy за уеб браузване

След като инсталирате Tor и Privoxy, трябва да конфигурирате приложенията си, за да работят с тях. Първата стъпка е да настроите уеб браузъра си.

Започнете с инсталирането на Privoxy: кликнете върху ‘recent releases’ и изберете пакетът, който ви харесва или инсталиране от сорс. Privoxy е филтриращо уеб прокси, което е добре интегрирано с Tor.

След като Privoxy вече е инсталиран (директно от пакета или от сорс), трябва да го конфигурирате да използва Tor. Може би тази примерна конфигурация на Privoxy ще ви се стори полезна. В противен случай ще ви се наложи да го конфигурирате ръчно, като използвате следващите обяснения.

Отворете в Privoxy файла “config” (вижте в /etc/privoxy/ или /usr/local/etc/) и добавете реда
forward-socks4a / 127.0.0.1:9050 .
в началото на config файла. Не пропускайте да добавите точката накрая.

Privoxy пази лог файл с всичко, което минава през него. За да спрете това, ще ви се наложи да коментирате три реда, като добавите a # преди реда. Трите реда са:
logfile logfile
и редът
jarfile jarfile
и (за някои системи) редът
debug 1 # show each GET/POST/CONNECT request

В зависимост от това кой config файл по подразбиране имате за Privoxy, може също така да се наложи да изключите enable-remote-toggle, enable-remote-http-toggle и enable-edit-actions.

За да влязат промените в сила, трябва да рестартирате Privoxy.

Стъпка 3: Конфигурирайте вашите приложения за работа с Tor

След като инсталирате Tor и Privoxy, трябва да конфигурирате приложенията си, за да работят с тях. Първата стъпка е да настроите уеб браузъра си.

За повече сигурност препоръчваме да използвате Tor с Firefox и Torbutton. Просто инсталирайте плъгина Torbutton, рестартирайте вашия Firefox и това е всичко:

screenshot-torbutton

Ако имате намерение да използвате Firefox и на друг компютър, вижте FAQ – Използване на Tor на друг компютър.

За да свържете с Tor и други приложения, които поддържат HTTP проксита, просто ги посочете в Privoxy (localhost port 8118). За да използвате SOCKS протокол директно (за комуникация в реално време, Jabber, IRC и т.н.), можете да посочите приложението директно в Tor (localhost port 9050), но първо вижте в тази секция от FAQ защо това би могло да бъде опасно. За приложения, които не поддържат нито SOCKS, нито HTTP, хвърлете едно око на tsocks or socat. За повече информация относно използването на Tor върху други приложения, вижте Как да използваме Tor.

Стъпка 4: Уверете се, че работи

След това трябва да опитате да използвате браузъра си с Tor и да се уверите, че вашият IP адрес е анонимизиран. Кликнете върху Tor детектора и вижте дали той смята, че използвате Tor, или не. (Ако сайтът в момента не работи, вижте тази FAQ секция за повече предложения как да тествате вашия Tor.)

Ако имате собствен файъруол (защитна стена), който ограничава възможността на вашия компютър да се свързва със самия себе си (това включва и неща като SELinux), уверете се, че сте разрешили връзките от вашите локални приложения към Privoxy (порт 8118) и Tor (порт 9050). Ако вашият файъруол блокира изходящите връзки, позволете му поне да се свърже с TCP портове 80 и 443, след което вижте тази FAQ секция. Ако вашата SELinux config не позволява tor или privoxy да тръгнат нормално, създайте файл с името booleans.local в директорията /etc/selinux/targeted. Редактирайте този файл във вашия любим текстов редактор и вмъкнете “allow_ypbind=1″. Рестартирайте компютъра си, за да влязат в сила направените промени. Ако продължава да не работи, вижте тази FAQ секция за други идеи. Ако работи, научете повече за възможностите на Tor.

Стъпка 5: Конфигурирайте го като междинна точка

Мрежата на Tor разчита на доброволци, които даряват честотна лента. Колкото повече хора участват с междинни точки, толкова по-бързо ще работи мрежата на Tor. Ако имате поне 20 килобайта в двете посоки, моля, помогнете на Tor, като конфигурирате своя Tor и като междинна точка. Имаме много функции, които правят междинните точки на Tor лесни и удобни, включително лимит на скоростта на връзката, правила за изход, които позволяват да ограничите възможността да бъдете обвинени в злоупотреба, както и поддръжка на динамични IP адреси.

Това, което пази и подсигурява потребителите на Tor онлайн, са многото междинни точки на различни места в Интернет. Вие също можете да имате по-добра анонимност, тъй като отдалечени сайтове не могат да знаят дали вашите връзки идват от вашия компютър или са препредадени от другите.


Инсталиране на Torbutton

Torbutton е приложение за Firefox потребители, което позволява с един клик да се включва или изключва употребата на Tor в браузъра. Той добавя панел в статусбара, който показва “Tor Enabled” (в зелено) или “Tor Disabled” (в червено). Потребителят може да кликне върху бтона, за да промени статуса. Ако потребителят (или някой друг) промени прокси настройките, промяната автоматично ще се отрази в статусбара.

За да ви предпази, Torbutton дезактивира много видове активно съдържание. Можете да научите повече от Torbutton FAQ, или да прочетете повече детайли в списъка с възможности на Torbutton.

Някои потребители може да предпочитат тулбар бутон за лентата с инструменти вместо панел в статусбара. Torbutton ви позволява да добавите тулбар бутон, като кликнете с десния бутон на мишката върху желания тулбар, изберете “Customize…”, след което издърпате иконата на Torbutton върху самия тулбар. Има и възможност в настройките да скриете панела в статусбара (Tools->Extensions, избирате Torbutton, кликвате върху Preferences).


Предупреждение: Искате ли Tor наистина да работи?

…тогава моля, недейте просто да инсталирате и продължавате напред. Ще ви се наложи да промените част от навиците си, както и да преконфигурирате вашия софтуер! Сам по себе си Tor НЕ Е всичко, от което имате нужда, за да запазите своята анонимност. Има няколко големи подводни камъка, за които е добре да сте нащрек:

  1. Tor защитава само интернет приложения, които са конфигурирани да изпращат трафика си през него — той няма да анонимизира по вълшебен начин целия ви трафик само защото сте го инсталирали. Препоръчваме ви да използвате Firefox с Torbutton.
  2. Браузърни плъгини като Java, Flash, ActiveX, RealPlayer, Quicktime, Adobe PDF и други могат да бъдат манипулирани така, че да разкриват вашия IP адрес. Вероятно ще трябва да деинсталирате своите плъгини (отидете на “about:plugins”, за да видите какво е инсталирано), или проучете дали изобщо имате нужда от QuickJava или FlashBlock. Помислете дали да не премахнете разширения, които търсят повече информация за уебсайтовете, които разглеждате (като Google toolbar), тъй като те могат да заобиколят Tor и/или да разпространят важна лична информация. Някои хора предпочитат да използват два браузъра (един за Tor, един за небезопасно браузване). Torbutton предлага много възможности да защитите своята анонимност. Той може да бъде инсталиран съвсем спокойно, вместо много други плъгини, като например FoxyProxy или NoScript.
  3. Пазете се от кукис: ако някога решите да браузвате без Tor и Privoxy и даден сайт ви постави куки, това куки може да ви идентифицира, дори ако отново започнете да използвате Tor. Добре е редовно да почиствате вашите кукита. CookieCuller може да ви помогне да запазите кукитата, които не бихте искали да изгубите.
  4. Tor прави анонимен произхода на вашия трафик и криптира всичко, което минава през неговата мрежа, но не е в състояние да криптира вашия трафик между собствената си мрежа и крайната точка, до която трафикът достига. Ако изпращате или получавате важна лична информация, най-добре бъдете не по-малко предпазливи, отколкото в обикновените условия на необезопасен Интернет – използвайте HTTPS или друго криптиране от начало до край, както и автентикация.
  5. Докато Tor блокира възможните атаки към вашата локална мрежа, свързани с разкриване или променяне на вашата крайна точка, това крие и нови рискове: злонамерени или зле конфигурирани изходящи точки в Tor могат да ви изпратят погрешната страница, ли дори да ви изпратят вградени Java аплети, маскирани като домейни, на които имате доверие.

Бъдете любознателни и научете повече. Разберете какво точно предлага Tor. Този списък с подводни камъни не е пълен, затова имаме нужда от вашата помощ при откриването и описанието на всякакви проблеми.


Ползване и разпространение на статията
Настоящата статия е превод на част от оригиналната документация на Tor, с автор Анелия Костова-Бозгунова.  Статията се разпространява при условията на Creative Commons – Attribution 3.0, което ви дава право свободно да използвате и променяте произведението, стига да запазите бележката относно автора на текста и превода.

Лично аз ви насърчавам и ще съм благодарен, ако публикувате цялата статия или връзка към нея, на колкото можете повече места.

Possibly Related Posts:


18юни/090

Slackware News: 17 Юни 2009

Новия ъпдейт включва нова версия на Mozilla Firefox и apr-util. Сменена е версията на aaa-base пакета на 13.0, което ни навежда на мисълта, че Slackware 13.0 ще излезе съвсем скоро.

a/aaa_base-13.0-noarch-1.txz:  Rebuilt.  Updated slackware-version.
a/e2fsprogs-1.41.6-i486-1.txz:  Upgraded.
a/ed-1.3-i486-1.txz:  Upgraded.
a/file-5.03-i486-1.txz:  Upgraded.
a/findutils-4.4.2-i486-1.txz:  Upgraded.
a/jfsutils-1.1.14-i486-1.txz:  Upgraded.
a/ntfs-3g-2009.4.4-i486-1.txz:  Upgraded.
a/usbutils-0.82-i486-1.txz:  Upgraded.
a/xfsprogs-3.0.1-i486-1.txz:  Upgraded.
ap/dmapi-2.2.10-i486-1.txz:  Upgraded.
ap/man-pages-3.21-noarch-1.txz:  Upgraded.
ap/sqlite-3.6.14.2-i486-1.txz:  Upgraded.
ap/xfsdump-3.0.1-i486-1.txz:  Upgraded.
d/git-1.6.3.2-i486-1.txz:  Upgraded.
d/m4-1.4.13-i486-1.txz:  Upgraded.
d/subversion-1.6.2-i486-1.txz:  Upgraded.
  Thanks to Robby Workman and Vincent Batts for work done on enabling the
  bindings for Python, perl, and Ruby.
kde/kdelibs-4.2.4-i486-2.txz:  Rebuilt.  Patched popupapplet.cpp to fix
  plasmaboard, a virtual keyboard for plasma.
l/apr-1.3.5-i486-1.txz:  Upgraded.
l/apr-util-1.3.7-i486-1.txz:  Upgraded.
  Fix underflow in apr_strmatch_precompile.
  Fix a denial of service attack against the apr_xml_* interface
  using the "billion laughs" entity expansion technique.
  For more information, see:
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0023
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1955
  (* Security fix *)
l/neon-0.28.4-i486-1.txz:  Upgraded.
l/sdl-1.2.13-i486-4.txz:  Upgraded.  Use SDL_image-1.2.7, and compile SDL
  without esd, as linking to esd breaks audio within VirtualBox.  Thanks to
  Luigi Trovato for the bug report.  Also, compile without arts support.
l/seamonkey-solibs-1.1.16-i486-2.txz:  Added.  This is a subset of the
  shared libraries from the seamonkey package used for runtime support of
  programs (such as rpm) on machines without X, or applications for X.
n/bluez-utils-3.36-i486-6.txz:  Rebuilt.  Edited rc.bluetooth to start hidd
  before any other bluetooth service.  This avoids an address conflict that
  can cause devices to fail to reconnect if the connection is lost.
  Thanks to Heinz Wiesinger.
n/iptables-1.4.3.2-i486-1.txz:  Upgraded.
n/iw-0.9.14-i486-1.txz:  Upgraded.
n/lftp-3.7.14-i486-1.txz:  Upgraded.
xap/mozilla-firefox-3.0.11-i686-1.txz:
  Upgraded to firefox-3.0.11.
  This fixes some security issues.
  For more information, see:
    http://www.mozilla.org/security/known-vulnerabilities/firefox30.html
  (* Security fix *)
xap/seamonkey-1.1.16-i486-2.txz:  Rebuilt.
xap/xfce4-power-manager-0.6.6-i486-1.txz:  Upgraded.
xap/xine-lib-1.1.16.3-i686-6.txz:  Rebuilt.  Use i686 arch, not i486.
extra/tightvnc/tightvnc-1.3.10-i486-1.txz:  Added.
+--------------------------+

Possibly Related Posts:


4юни/090

KDE 4.2.4 CornRow

От KDE не спират да ни изненадват тези дни. Днес беше пуснато KDE 4.2.4. KDE 4.2.4 се препоръчва на всички, които са чакали до сега да пробват KDE 4.2.

За момента изглежда, че от KDE  се опитват да концентрират всички усилия за следващата версия 4.3.0, която вече започва да се оформя, и е много верятно да няма KDE 4.2.5. Ако няма сериозни проблеми или дупки по сигурността, се очаква KDE 4.2.4 да е последната от KDE 4.2 сериите.
По-рано днес сорса е пуснат официално, което означава че скоро може да се очакват готови пакети.

Possibly Related Posts:


21мар/090

Slackware news: 21 Март 2009

Днес беше обновено ядрото в -Current до 2.6.28.8 според последния -Current changelog. Освен това са обновени и някои други пакети като gcc и glibc, както и gimp. Ето го и сравнително малкия changelog:

Thu Mar 19 20:35:06 CDT 2009
 a/glibc-solibs-2.9-i486-2.tgz:  Recompiled against 2.6.28.8 headers.
 a/glibc-zoneinfo-2.9-noarch-2.tgz:  Upgraded to tzdata2009c.
 a/kernel-firmware-2.6.28.8-noarch-1.tgz:  Upgraded to Linux 2.6.28.8 firmware.
 a/kernel-generic-2.6.28.8-i486-1.tgz:  Upgraded to Linux 2.6.28.8.
 a/kernel-generic-smp-2.6.28.8_smp-i686-1.tgz:  Upgraded to Linux 2.6.28.8.
 a/kernel-huge-2.6.28.8-i486-1.tgz:  Upgraded to Linux 2.6.28.8.
 a/kernel-huge-smp-2.6.28.8_smp-i686-1.tgz:  Upgraded to Linux 2.6.28.8.
 a/kernel-modules-2.6.28.8-i486-1.tgz:  Upgraded to Linux 2.6.28.8.
 a/kernel-modules-smp-2.6.28.8_smp-i686-1.tgz:  Upgraded to Linux 2.6.28.8.
 ap/hplip-3.9.2-i486-2.tgz:  Patched an issue that could cause high CPU
   utilization after switching to a different user.
 d/kernel-headers-2.6.28.8_smp-x86-1.tgz:  Upgraded to Linux 2.6.28.8.
 k/kernel-source-2.6.28.8_smp-noarch-1.tgz:  Upgraded to Linux 2.6.28.8.
 l/glibc-2.9-i486-2.tgz:  Recompiled.
 l/glibc-i18n-2.9-i486-2.tgz:  Rebuilt.
 l/glibc-profile-2.9-i486-2.tgz:  Recompiled.
 l/lesstif-0.95.0-i486-3.tgz:  Patched to compile with gcc-4.3.x.
 xap/gimp-2.6.6-i486-1.tgz:  Upgraded to gimp-2.6.6.
xap/gimp-help-2-0.8-noarch-1.tgz:  Removed.  This is out of date, the newer
   versions are very large, and using the online help (which is the built-in
   default) works fine.
 extra/grub/grub-0.97-i486-7.tgz:  Patched to fix loading x86-64 Linux kernels.
 extra/linux-2.6.28.8-nosmp-sdk/:  Updated SMP to no-SMP kernel source patch.
isolinux/initrd.img:  Rebuilt with newly compiled kernel modules.
 usb-and-pxe-installers/:  Rebuilt usbboot.img with newly compiled
   kernel modules.

Possibly Related Posts:


17мар/090

Поддръжка на Ext4

След големите ъпдейти тези дни от Slackware имат още една изненада. Дистрибуцията вече официално има поддръжка за ext4 файловата система. Ext4 беше въведена в ядро 2.6.28, което означава, че стандартното -Current ядро има поддръжка за тази файлова система още при зареждането. Има много подобрения в ext4, които не са достъпни в ext3. Можете да използвате ext4 върху ext3.Това може да ви помогне, ако се опитвате да решите дали да ъпгрейдвате или не. Някой от главните подобрения в са :

  • по-голям размер на файловата система
  • extents
  • по-добри алгоритми за разположение на данните
  • по-бързо
  • по-бърза работа с журнала и дефрагментация в реално време

Possibly Related Posts:


17мар/090

Slackware news: 16 Март 2009

Няколко дни след големия ъпдейт на - Current следва още един, само че този е по-малък. Changelog :

Mon Mar 16 00:11:40 CDT 2009
 ChangeLog bugs in the last update:
   eigen was removed, not moved from /testing.  This was intentional, as we
   are not aware of anything that has not moved to using eigen2 now.
   k3b was upgraded to k3b-r936571 in kde/, but does not seem to be stable.
   The installers were updated and now support ext4.
 a/cpio-2.9-i486-2.tgz:  Patched for new gcc version.
   Thanks to Fred Emmott.
 ap/foomatic-filters-4.0_20090315-i486-1.tgz:
   Upgraded to foomatic-filters-4.0_20090315.
   Thanks to Beej Jorgensen for pointing out this version with many bugfixes.
 d/gcc-4.3.3-i486-2.tgz:  Recompiled with --enable-libssp.  Removing that was
   a regression as there are binaries out there that expect to link with
   libspp.  If it causes any problems, let me know.
 d/gcc-g++-4.3.3-i486-2.tgz:  Recompiled.
 d/gcc-gfortran-4.3.3-i486-2.tgz:  Recompiled.
 d/gcc-gnat-4.3.3-i486-2.tgz:  Recompiled.
 d/gcc-java-4.3.3-i486-2.tgz:  Recompiled.
 d/gcc-objc-4.3.3-i486-2.tgz:  Recompiled.
 kde/kdebase-workspace-4.2.1-i486-2.tgz:  Recompiled against freetype-2.3.9,
   removed broken hicolor theme index.
 l/cairo-1.8.6-i486-2.tgz:  Recompiled against freetype-2.3.9.
 l/freetype-2.3.9-i486-1.tgz:  Upgraded to freetype-2.3.9.
   freetype-2.3.8 accidentally broke the ABI.  Binaries linked with 2.3.8 that
   use the FT_Get_PS_Font_Info function will need to be recompiled.
 l/hicolor-icon-theme-0.10-noarch-5.tgz:  Rebuilt.
 l/libcap-2.16-i486-1.tgz:  Upgraded to libcap-2.16.
 l/libwnck-2.24.2-i486-1.tgz:  Upgraded to libwnck-2.24.2.
 l/qt-r931082-i486-2.tgz:  Recompiled against freetype-2.3.9.
 n/iwlwifi-4965-ucode-228.57.2.23-fw-1.tgz:  Upgraded iwlwifi-4965-2.ucode
   firmware to version 228.57.2.23.
 x/compiz-0.7.8-i486-3.tgz:  Recompiled against libwnck-2.24.2.
 xap/pidgin-2.5.5-i486-1.tgz:  Upgraded to pidgin-2.5.5.
 xap/xfce-4.6.0-i486-2.tgz:  Recompiled against libwnck-2.24.2.
 xap/xfce4-power-manager-0.6.4-i486-2.tgz:  Patched to only start the power
   manager inside the Xfce environment.

Possibly Related Posts:


11мар/090

Slackware news: 10 Март 2009

Днес от Slackware са ни зарадвали с доста голям ъпгрейд. Промените са направени в -current клона. Първото, което се вижда е, че е ъпгрейднато ядрото до 2.6.28.7, както и KDE 4.2.1, което вече замества KDE 3.5.10. Освен това има ъпгрейди по почти всички категории. Ето извадката от changelog-a :

Mon Mar  9 21:25:51 CDT 2009
 Here are a few updates...  enjoy.
 Thanks to Eric Hameleers, Robby Workman, Piter Punk, and the rest of the crew
 for helping with this batch!  Also thanks to the KDE team, the Xfce team, and
 everyone else upstream.
 a/aaa_terminfo-5.7-noarch-1.tgz:  Updated with terminfo files from ncurses-5.7.
 a/attr-2.4.43_1-i486-1.tgz:  Upgraded to attr-2.4.43-1.
 a/coreutils-7.1-i486-1.tgz:  Upgraded to coreutils-7.1.
 a/dialog-1.1_20080819-i486-1.tgz:  Upgraded to dialog-1.1-20080819.
 a/e2fsprogs-1.41.4-i486-1.tgz:  Upgraded to e2fsprogs-1.41.4.
 a/ed-1.2-i486-1.tgz:  Upgraded to ed-1.2.
 a/etc-12.34567890-noarch-1.tgz:  Added uid 51 (oprofile), gid 16 (dialout),
   gid 51 (oprofile), and gid 86 (netdev).
 a/file-5.00-i486-1.tgz:  Upgraded to file-5.00.
 a/findutils-4.4.0-i486-1.tgz:  Upgraded to findutils-4.4.0.
 a/glibc-solibs-2.9-i486-1.tgz:  Upgraded to glibc-2.9.
 a/glibc-zoneinfo-2.9-noarch-1.tgz  Upgraded to tz{code,data}2009b.
 a/grep-2.5.4-i486-1.tgz:  Upgraded to grep-2.5.4.
 a/kernel-firmware-2.6.28.7-noarch-1.tgz:  Upgraded to Linux 2.6.28.7 firmware.
 a/kernel-generic-2.6.28.7-i486-1.tgz:  Upgraded to Linux 2.6.28.7.
 a/kernel-generic-smp-2.6.28.7_smp-i686-1.tgz:  Upgraded to Linux 2.6.28.7.
 a/kernel-huge-2.6.28.7-i486-1.tgz:  Upgraded to Linux 2.6.28.7.
 a/kernel-huge-smp-2.6.28.7_smp-i686-1.tgz:  Upgraded to Linux 2.6.28.7.
 a/kernel-modules-2.6.28.7-i486-1.tgz:  Upgraded to Linux 2.6.28.7.
 a/kernel-modules-smp-2.6.28.7_smp-i686-1.tgz:  Upgraded to Linux 2.6.28.7.
 a/module-init-tools-3.6-i486-1.tgz:  Upgraded to module-init-tools-3.6.
 a/ntfs-3g-2009.2.1-i486-1.tgz:  Upgraded to ntfs-3g-2009.2.1.
 a/reiserfsprogs-3.6.21-i486-1.tgz:  Upgraded to reiserfsprogs-3.6.21.
 a/tar-1.22-i486-1.tgz:  Upgraded to tar-1.22.
 a/util-linux-ng-2.14.2-i486-1.tgz:  Upgraded to util-linux-ng-2.14.2.
 a/which-2.20-i486-1.tgz:  Upgraded to which-2.20.
 a/xfsprogs-3.0.0-i486-1.tgz:  Upgraded to xfsprogs-3.0.0.
 ap/a2ps-4.14-i486-1.tgz:  Upgraded to a2ps-4.14.
 ap/alsa-utils-1.0.18-i486-1.tgz:  Upgraded to alsa-utils-1.0.18.
 ap/cupsddk-1.2.3-i486-1.tgz:  Added cupsddk-1.2.3.
 ap/dmapi-2.2.9-i486-1.tgz:  Upgraded to dmapi-2.2.9.
 ap/foomatic-filters-4.0.0-i486-1.tgz:  Upgraded to foomatic-filters-4.0.0.
 ap/groff-1.20.1-i486-1.tgz:  Upgraded to groff-1.20.1.
 ap/gutenprint-5.2.3-i486-1.tgz:  Upgraded to gutenprint-5.2.3.
 ap/hplip-3.9.2-i486-1.tgz:  Upgraded to hplip-3.9.2.
 ap/jove-4.16.0.70-i486-1.tgz:  Upgraded to jove-4.16.0.70.
 ap/lsscsi-0.22-i486-1.tgz:  Upgraded to lsscsi-0.22.
 ap/man-pages-3.19-noarch-1.tgz:  Upgraded to man-pages-3.19.
 ap/mc-4.6.2-i486-1.tgz:  Upgraded to mc-4.6.2.
 ap/pm-utils-1.2.4-i486-1.tgz:  Upgraded to pm-utils-1.2.4.
 ap/sox-14.2.0-i486-1.tgz:  Upgraded to sox-14.2.0.
 ap/xfsdump-3.0.0-i486-1.tgz:  Upgraded to xfsdump-3.0.0.
 d/bison-2.4.1-i486-1.tgz:  Upgraded to bison-2.4.1.
 d/clisp-2.47-i486-1.tgz:  Upgraded to clisp-2.47.
 d/doxygen-1.5.8-i486-1.tgz:  Upgraded to doxygen-1.5.8.
 d/gcc-4.3.3-i486-1.tgz:  Upgraded to gcc-4.3.3.
 d/gcc-g++-4.3.3-i486-1.tgz:  Upgraded to gcc-4.3.3.
 d/gcc-gfortran-4.3.3-i486-1.tgz:  Upgraded to gcc-4.3.3.
 d/gcc-gnat-4.3.3-i486-1.tgz:  Upgraded to gcc-4.3.3.
 d/gcc-java-4.3.3-i486-1.tgz:  Upgraded to gcc-4.3.3.
 d/gcc-objc-4.3.3-i486-1.tgz:  Upgraded to gcc-4.3.3.
 d/guile-1.8.6-i486-1.tgz:  Upgraded to guile-1.8.6.
 d/indent-2.2.10-i486-1.tgz:  Upgraded to indent-2.2.10.
 d/kernel-headers-2.6.28.7_smp-x86-1.tgz:  Upgraded to Linux 2.6.28.7.
 d/mercurial-1.1.2-i486-1.tgz:  Upgraded to mercurial-1.1.2.
 d/oprofile-0.9.4-i486-1.tgz:  Upgraded to oprofile-0.9.4.
 d/swig-1.3.38-i486-1.tgz:  Added swig-1.3.38.
 k/kernel-source-2.6.28.7_smp-noarch-1.tgz:  Upgraded to Linux 2.6.28.7.
 kde/amarok-2.0.2-i486-1.tgz:  Upgraded to amarok-2.0.2.
 kde/guidance-power-manager-4.2.0-i486-1.tgz:
   Added guidance-power-manager-4.2.0.
 kde/kaudiocreator-r888119-i486-1.tgz:  Added kaudiocreator-r888119.
 kde/kdeaccessibility-4.2.1-i486-1.tgz:  Upgraded to kdeaccessibility-4.2.1.
 kde/kdeadmin-4.2.1-i486-1.tgz:  Upgraded to kdeadmin-4.2.1.
 kde/kdeartwork-4.2.1-i486-1.tgz:  Upgraded to kdeartwork-4.2.1.
 kde/kdebase-4.2.1-i486-1.tgz:  Upgraded to kdebase-4.2.1.
 kde/kdebase-runtime-4.2.1-i486-1.tgz:  Added kdebase-runtime-4.2.1.
 kde/kdebase-workspace-4.2.1-i486-1.tgz:  Added kdebase-workspace-4.2.1.
 kde/kdebindings-4.2.1-i486-1.tgz:  Upgraded to kdebindings-4.2.1.
 kde/kdeedu-4.2.1-i486-1.tgz:  Upgraded to kdeedu-4.2.1.
 kde/kdegames-4.2.1-i486-1.tgz:  Upgraded to kdegames-4.2.1.
 kde/kdegraphics-4.2.1-i486-1.tgz:  Upgraded to kdegraphics-4.2.1.
 kde/kdelibs-4.2.1-i486-1.tgz:  Upgraded to kdelibs-4.2.1.
 kde/kdemultimedia-4.2.1-i486-1.tgz:  Upgraded to kdemultimedia-4.2.1.
 kde/kdenetwork-4.2.1-i486-1.tgz:  Upgraded to kdenetwork-4.2.1.
 kde/kdepim-4.2.1-i486-1.tgz:  Upgraded to kdepim-4.2.1.
 kde/kdepimlibs-4.2.1-i486-1.tgz:  Added kdepimlibs-4.2.1.
 kde/kdeplasma-addons-4.2.1-i486-1.tgz:  Added kdeplasma-addons-4.2.1.
 kde/kdesdk-4.2.1-i486-1.tgz:  Upgraded to kdesdk-4.2.1.
 kde/kdetoys-4.2.1-i486-1.tgz:  Upgraded to kdetoys-4.2.1.
 kde/kdeutils-4.2.1-i486-1.tgz:  Upgraded to kdeutils-4.2.1.
 kde/kdewebdev-4.2.1-i486-1.tgz:  Upgraded to kdewebdev-4.2.1.
 kde/koffice-1.9.98.7-i486-1.tgz:  Upgraded to koffice-1.9.98.7.
 kde/konq-plugins-4.2.0-i486-1.tgz:  Added konq-plugins-4.2.0.
 kde/ktorrent-3.2-i486-1.tgz:  Added ktorrent-3.2.
 kde/skanlite-0.2_kde4.2.0-i486-1.tgz:  Added skanlite-0.2_kde4.2.0.
 kdei/kde-l10n-*-4.2.1-noarch-1.tgz:  Upgraded to KDE 4.2.1 l10n packages.
 kdei/koffice-l10n-*-1.9.98.7-noarch-1.tgz:
   Upgraded to KOffice 1.9.98.7 l10n packages.
 l/PyQt-4.4.4-i486-1.tgz:  Added PyQt-4.4.4.
 l/QScintilla-2.3-i486-1.tgz:  Added QScintilla-2.3.
 l/akonadi-1.1.1-i486-1.tgz:  Added akonadi-1.1.1.
 l/alsa-lib-1.0.18-i486-1.tgz:  Upgraded to alsa-lib-1.0.18.
 l/arts-1.5.10-i486-2.tgz:  Removed.
 l/atk-1.24.0-i486-1.tgz:  Upgraded to atk-1.24.0.
 l/automoc4-0.9.88-i486-1.tgz:  Added automoc4-0.9.88.
 l/babl-0.0.22-i486-1.tgz:  Added babl-0.0.22.
 l/boost-1.36.0-i486-1.tgz:  Added boost-1.36.0.
 l/cairo-1.8.6-i486-1.tgz:  Upgraded to cairo-1.8.6.
 l/chmlib-0.39-i486-1.tgz:  Added chmlib-0.39.
 l/clucene-0.9.21b-i486-1.tgz:  Added clucene-0.9.21b.
 l/dbus-1.2.12-i486-1.tgz:  Upgraded to dbus-1.2.12.
 l/dbus-glib-0.80-i486-1.tgz:  Upgraded to dbus-glib-0.80.
 l/djvulibre-3.5.21-i486-1.tgz:  Added djvulibre-3.5.21.
 l/eigen-1.0.5-i486-1.tgz:  Added eigen-1.0.5.
 l/eigen2-r922425-i486-1.tgz:  Added eigen2-r922425.
 l/exiv2-0.17.1-i486-1.tgz:  Added exiv2-0.17.1.
 l/freetype-2.3.8-i486-1.tgz:  Upgraded to freetype-2.3.8.
 l/gamin-0.1.10-i486-1.tgz:  Upgraded to gamin-0.1.10.
 l/gegl-0.0.20-i486-1.tgz:  Added gegl-0.0.20.
 l/glib2-2.18.3-i486-1.tgz:  Upgraded to glib-2.18.3.
 l/glibc-2.9-i486-1.tgz  Upgraded to glibc-2.9.
 l/glibc-i18n-2.9-i486-1.tgz  Upgraded to glibc-2.9.
 l/glibc-profile-2.9-i486-1.tgz  Upgraded to glibc-2.9.
 l/gmm-3.1-noarch-1.tgz:  Added gmm-3.1.
 l/gnome-icon-theme-2.24.0-noarch-1.tgz:  Upgraded to gnome-icon-theme-2.24.0.
 l/gtk+2-2.14.7-i486-1.tgz:  Upgraded to gtk+-2.14.7.
 l/gmp-4.2.4-i486-1.tgz:  Upgraded to gmp-4.2.4.
 l/hal-info-20090309-noarch-1.tgz:  Upgraded to hal-info-20090309.
 l/icon-naming-utils-0.8.90-noarch-1.tgz:  Upgraded to icon-naming-utils-0.8.90.
 l/ilmbase-1.0.1-i486-1.tgz:  Added ilmbase-1.0.1.
 l/iso-codes-3.5-noarch-1.tgz:  Added iso-codes-3.5.
 l/libarchive-2.6.2-i486-1.tgz:  Added libarchive-2.6.2.
 l/libcaca-0.99.beta16-i486-1.tgz:  Upgraded to libcaca-0.99.beta16.
 l/libdvdread-4.1.3-i486-1.tgz:  Added libdvdread-4.1.3.
 l/libical-0.42-i486-1.tgz:  Added libical-0.42.
 l/libmcs-0.7.1-i486-1.tgz:  Upgraded to libmcs-0.7.1.
 l/libmsn-r93-i486-1.tgz:  Added libmsn-r93.
 l/libspectre-0.2.1-i486-1.tgz:  Added libspectre-0.2.1.
 l/libvncserver-0.9.1-i486-1.tgz:  Added libvncserver-0.9.1.
 l/libxklavier-3.8-i486-1.tgz:  Added libxklavier-3.8.
 l/libzip-0.9-i486-1.tgz:  Added libzip-0.9.
 l/ncurses-5.7-i486-1.tgz:  Upgraded to ncurses-5.7.
 l/openexr-1.6.1-i486-1.tgz:  Added openexr-1.6.1.
 l/pango-1.22.4-i486-1.tgz:  Upgraded to pango-1.22.4.
 l/phonon-4.3.1-i486-1.tgz:  Added phonon-4.3.1.
 l/poppler-0.10.4-i486-1.tgz:  Upgraded to poppler-0.10.4.
 l/poppler-data-0.2.1-noarch-1.tgz:  Upgraded to poppler-data-0.2.1.
 l/pycairo-1.8.2-i486-1.tgz:  Upgraded to pycairo-1.8.2.
 l/pycups-1.9.42-i486-1.tgz:  Added pycups-1.9.42.
 l/pygobject-2.16.0-i486-1.tgz:  Upgraded to pygobject-2.16.0.
 l/pygtk-2.14.0-i486-1.tgz:  Upgraded to pygtk-2.14.0.
 l/pyrex-0.9.8.5-i486-1.tgz:  Upgraded to pyrex-0.9.8.5.
 l/qca-2.0.1-i486-1.tgz:  Upgraded to qca-2.0.1.
 l/qca-cyrus-sasl-2.0.0_beta3-i486-1.tgz:  Added qca-cyrus-sasl-2.0.0_beta3.
 l/qca-gnupg-2.0.0_beta3-i486-1.tgz:  Added qca-gnupg-2.0.0_beta3.
 l/qca-ossl-2.0.0_beta3-i486-1.tgz:  Added qca-ossl-2.0.0_beta3.
 l/qca-tls-1.0-i486-6.tgz:  Removed.
 l/qimageblitz-r900905-i486-1.tgz:  Added qimageblitz-r900905.
 l/qt-r931082-i486-1.tgz:  Upgraded to qt-copy r931082.
 l/raptor-1.4.18-i486-1.tgz:  Added raptor-1.4.18.
 l/rasqal-0.9.16-i486-1.tgz:  Added rasqal-0.9.16.
 l/readline-5.2-i486-4.tgz:  Recompiled with official patch readline52-013.
 l/redland-1.0.8-i486-1.tgz:  Added redland-1.0.8.
 l/shared-mime-info-0.60-i486-1.tgz:  Upgraded to shared-mime-info-0.60.
 l/sip-4.7.9-i486-1.tgz:  Added sip-4.7.9.
 l/soprano-2.2.2-i486-1.tgz:  Added soprano-2.2.2.
 l/strigi-0.6.3-i486-1.tgz:  Added strigi-0.6.3.
 l/svgalib-1.9.25-i486-2.tgz:  Patched for recent kernel headers and configured
   to no longer use the helper kernel module.
 l/svgalib_helper-1.9.25_2.6.27.7-i486-2.tgz:  Removed, as the helper module
   does not work with recent kernels.
 l/tango-icon-theme-0.8.90-noarch-1.tgz:  Upgraded to tango-icon-theme-0.8.90.
 l/vte-0.19.4-i486-1.tgz:  Upgraded to vte-0.19.4.
 n/curl-7.19.4-i486-1.tgz:  Upgraded to curl-7.19.4.
   This fixes a security issue where automatic redirection could be made to
   follow file:// URLs, reading or writing a local instead of remote file.
   For more information, see:
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0037
   (* Security fix *)
 n/dhcpcd-3.2.3-i486-1.tgz:  Upgraded to dhcpcd-3.2.3.
 n/dirmngr-1.0.2-i486-1.tgz:  Upgraded to dirmngr-1.0.2.
 n/gnupg2-2.0.11-i486-1.tgz:  Upgraded to gnupg-2.0.11.
 n/gnutls-2.6.3-i486-1.tgz:  Upgraded to gnutls-2.6.3.
 n/gpgme-1.1.8-i486-1.tgz:  Upgraded to gpgme-1.1.8.
 n/libgcrypt-1.4.3-i486-1.tgz:  Upgraded to libgcrypt-1.4.3.
 n/libgpg-error-1.7-i486-1.tgz:  Upgraded to libgpg-error-1.7.
 n/libksba-1.0.5-i486-1.tgz:  Upgraded to libksba-1.0.5.
 n/netwatch-1.3.0-i486-1.tgz:  Upgraded to netwatch-1.3.0.
 n/rsync-3.0.5-i486-1.tgz:  Upgraded to rsync-3.0.5.
 x/compiz-0.7.8-i486-2.tgz:  Patched for Qt4/KDE4 and rebuilt.
 x/scim-1.4.7-i486-8.tgz:  Edited profile scripts to use the Qt4
   scim-bridge immodule with Qt4/KDE4.
 x/scim-bridge-0.4.14-i486-4.tgz:  Rebuilt with qt4 immodule enabled.
 x/x11-skel-7.1-noarch-7.tgz:  Adjusted xwmconfig menu dimensions.
 x/xterm-241-i486-1.tgz:  Upgraded to xterm-241.
   This fixes a vulnerability where displaying a file containing
   DECRQSS (Device Control Request Status String) sequences could
   cause arbitrary commands to be executed as the user running xterm.
   For more information, see:
     http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2383
   (* Security fix *)
 xap/gimp-2.6.5-i486-1.tgz:  Upgraded to gimp-2.6.5.
 xap/mozilla-firefox-3.0.7-i686-1.tgz:
   Upgraded to firefox-3.0.7.
   This fixes some security issues:
   For more information, see:
     http://www.mozilla.org/security/known-vulnerabilities/firefox30.html
   (* Security fix *)
 xap/thunar-volman-0.3.80-i486-1.tgz:  Added thunar-volman-0.3.80.
 xap/xfce-4.6.0-i486-1.tgz:  Upgraded to xfce-4.6.0.
 xap/xfce4-power-manager-0.6.4-i486-1.tgz:  Added xfce4-power-manager-0.6.4.
 xap/xine-lib-1.1.16.2-i686-1.tgz:  Upgraded to xine-lib-1.1.16.2.
 extra/kde3-compat/arts-1.5.10-i486-opt1.tgz:  Added arts-1.5.10.
 extra/kde3-compat/kdelibs3-3.5.10-i486-opt1.tgz:  Added kdelibs3-3.5.10.
 extra/kde3-compat/qca-tls1-1.0-i486-opt1.tgz:  Added qca-tls1-1.0.
 extra/kde3-compat/qca1-1.0-i486-opt1.tgz:  Added qca1-1.0.
 extra/kde3-compat/qt3-3.3.8b-i486-opt1.tgz:  Added qt3-3.3.8b.
 extra/linux-2.6.28.7-nosmp-sdk/:  Updated SMP to no-SMP kernel source patch.
 testing/packages/bash-4.0.0-i486-1.tgz:  Upgraded to bash-4.0.

Possibly Related Posts:


24фев/090

Етернет мостове с линукс

Какво е мост ?

Мостът свързва два мрежови сегмента, за да могат пакетите да преминават от единия сегмент в другия все едно са в една мрежа. Този процес се извършва на втория слой от OSI модела и не за виси от протокола, който се използва в мрежата. Обикновено, когато не използваме мостове, компютър с две мрежови карти би бил свързан към две различни мрежи. Въпреки че компютърът не маршрутизира пакети между двете мрежи, на всеки интерфейс би имало различен мрежов адрес и маска в зависимост от мрежата, в която е свързан. Когато ползваме мостове, и двата мрежови интерфейса са част от един и същ логически мрежов сегмент. Двата интерфейса могат да бъдат представени като един мостов интерфейс, а устройствата, свързани към двата мрежови сегмента ще получат адреси от една и съща мрежа.

Само пакетите, които трябва да минат от един сегмент в друг ще преминават физически от единия интерфейс към другия. Мостът ще научи MAC адресите на устройствата от двата сегмента, за да знае кои пакети трябва да се препредават към другия мрежов сегмент. Това прави мостовете полезни за намаляването на трафика като сегментираме мрежата по такъв начин, че в един сегмент е намират устройства, между които се предава голям обем данни. Днес почти всяка мрежа съдържа поне един суич. Суичът може да се разгледа като устройство, което има мост на всеки порт. Това означава, че когато се пренасят данни от един порт на друг данните не се предават и на всички останали портове.

Защо да използваме мостове?

Няма особено голям смисъл да използваме Линукс машина за мост или за суич при положение, че последните са доста по-евтини, тихи и ефективни. Освен това всеки интерфейс, които е конфигуриран на Линукс машина като мост трябва да работи в безразборен режим за да може да получава пакети, които не са предвидени за него. Това би повишило натоварването на машината. За това е добре да се ползва отделна машина като мост, а не такава която изпълнява и други функции.  Има работи които могат да се направят с линукс мостове, които не могат да се направят с обикновени суичове. Например мост между една мрежа и ppp интерфейс или мост между няколко частни мрежи.

Поддръжка на мостове в линукс

Поддръжка за мостове в линукс има във всички ядра след 2.4.0.

Конфигурация на ядрото

Ако използвате ядро, което е инсталирано с дистрибуцията която ползвате и не сте си го компилирали вие, има шанс да имате вече поддръжка за мостове в него. Много вероятно поддръжката да е включена като модул. В този случай трябва да заредите модула по този начин:


# modprobe bridge

Ако се налага да прекомпилирате ядрото уверете се че променливата 'CONFIG_BRIDGE'  има присвоена стойност 'y' или 'm' по време на конфигурацията. Как да си компилирате ядро, не е част от обхвата на тази статия.

Допълнителни инструменти

Повечето дистрибуции имат пакет, които се казва 'bridge-utils'. Пакетът съдържа командата 'brctl'. Ако вашата дистрибуция няма такава команда можете да свалите сорса от тук.

Компилирането и инсталирането е доста лесно

# tar xzf bridge-utils-1.4.tar.gz
# cd bridge-utils-1.4
# ./configure --prefix=/usr/local
# make
# su
# make install

Създаване и използване на мостове

Като пример, нека си представим, че имаме два физически мрежови сегмента и искаме да ги обединим в една логическа мрежа. Имаме една машина, която е мостът, с два мрежови интерфейса eth0 и eth1. Освен това в двата сегмента имаме други машини.

bridge01

Преди да създадем моста, трябва да сме сигурни, че и двата интерфейса не са вдигнати и нямат мрежови адреси.


# ifconfig eth0 0 down
# ifconfig eth1 0 down

След това може да създадем мрежовия интерфейс. Използваме командата brctl 'addbr', която създава мостов интерфейс с име 'br0'.


# brctl addbr br0

Няма ограничения за името на мостовия интерфейс, стига да няма вече такъв интерфейс със същото име. По принцип, обаче е добре да се  именуват br0, br1 и т.н.

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


# brctl addif br0 eth0
# brctl addif br0 eth1

От тук нататък може да използваме мостовия интерфейс като всеки друг интерфейс в Линукс. Първото нещо което  трябва да направим е да му дадем мрежов адрес и да го вдигнем.


# ifconfig br0 10.1.9.1 netmask 255.255.255.0 broadcast 10.1.9.255 up

# ifconfig br0
br0 Link encap:Ethernet HWaddr 10:00:01:04:71:06
inet addr:10.1.9.1 Bcast:10.1.9.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:9442 (9.2 KiB)

Командата brctl има опция 'show' function, чрез която можем да видим състоянието на мостовите интерфейси на машината.


# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.100001047106 yes eth0 eth1

Нека да отбележим, че "bridge id" се използва от Spanning Tree протокола, който е обяснен по-нататък.

В този момент би трябвало да имате ping от моста до клиенти от двата сегмента на мрежата.


bridge01:/# ping -c 1 -n 10.1.9.2
PING 10.1.9.2 (10.1.9.2) 56(84) bytes of data.
64 bytes from 10.1.9.2: icmp_seq=1 ttl=64 time=20.6 ms

bridge01:/# ping -c 1 -n 10.1.9.4
PING 10.1.9.4 (10.1.9.4) 56(84) bytes of data.
64 bytes from 10.1.9.4: icmp_seq=1 ttl=64 time=20.6 ms

Би трябвало също да имате връзка от единия сегмент до другия през моста.


linux01:/# ping -c 1 -n 10.1.9.5
PING 10.1.9.5 (10.1.9.5) 56(84) bytes of data.
64 bytes from 10.1.9.5: icmp_seq=1 ttl=64 time=20.6 ms

По-важното е, че трябва да се вижда като трафик между две усторйства в един мрежов сегмент. Това може да се провери по следния начин. Пускаме tcpdump на една машина и пращаме ICMP от втора машина към трета. Първата машина е в единия сегмент а другите две са в другия сегмент.


linux03:/# tcpdump -n -i eth0 icmp

linux01:/# ping -n 10.1.9.3
PING 10.1.9.3 (10.1.9.3) 56(84) bytes of data.
64 bytes from 10.1.9.3: icmp_seq=1 ttl=64 time=20.6 ms

Ако мостът работи правилно машината, на която сме пуснали tcpdump, не трябва да вижда трафика между другите две, въпреки че се намират в един и същ логическа мрежа.

От друга страна ако пратим ICMP пакет на broadcast адреса на мрежата, моста трябва да до предаде и във другия сегмент.


linux01:/# ping -c 1 -b 10.1.9.255
WARNING: pinging broadcast address
PING 10.1.9.255 (10.1.9.255) 56(84) bytes of data.
64 bytes from 10.1.9.2: icmp_seq=1 ttl=64 time=0.251 ms

linux03:/# tcpdump -n -i eth0 icmp
tcpdump: listening on eth0
19:39:48.273806 10.1.9.2 > 10.1.9.255: icmp: echo request (DF)
19:39:48.273965 10.1.9.4 > 10.1.9.2: icmp: echo reply
19:39:48.274582 10.1.9.5 > 10.1.9.2: icmp: echo reply

Важно е да се спомене, че ако не бяхме дали мрежов адрес на моста, той пак щеше да работи, но нямаше да може да участва в комуникацията от по-високо ниво от layer 2.

С командата 'showmacs' можем да видим MAC адресите на устройствата в мрежата и на кой порт са свързани.


bridge01:/# brctl showmacs br0
port no mac addr is local? ageing timer
2 10:00:01:02:24:04 no 0.49
1 10:00:01:02:95:35 no 0.98
1 10:00:01:02:34:56 no 3.84
2 10:00:01:03:26:02 no 9.19
1 10:00:01:03:73:03 yes 0.00
2 10:00:01:04:71:06 yes 0.00

Този списък показва MAC адресите на шест устройства свързани в мрежата. Периода откакто мостът е видял пакет от определен MAC адрес се нарича Ageing Time. След определено време мостът ще премахне адреса от своя списък. Това осигурява актуална таблица ако има устройства, които се местят от един порт на друг.

Времето, което мостът да държи записа за адреса в таблицата си, може да се конфигурира с 'setageingtime' командата:


# brctl setageingtime br0 40

Това ще накара мостът да премахва адреси от таблицата си след 40 секунди.

Премахване на мостови портове и мостови интерфейси

Ако ви се налага да пременете порт от моста, можете да го направите така :


# brctl delif br0 eth1

Ако искате да премахнете мостът изцяло трябва да използвате 'delbr', но трябва да свалите интерфейса преди да направите това.


# ifconfig br0 down
# brctl delbr br0

Spanning Tree протоколът

Spanning Tree Protocol (STP) се използва от суичове, когато в мрежата между тях има повече от един път. По принцип ако суича или моста, които направихме по-горе може да представлява сериозна проблем за нашата мрежа. Например, ако има повреда в устройството, двете части на сегмента няма да могат да комуникират помежду си. Това може коригира когато се добави втори мост. STP позволява тези два моста да комуникират и да се "разберат", кой да е активен и кок пасивен. Активния мост пренасочва всички пакети, докато пасивния не прави нищо докато няма проблем с активния.

STP е доста сложен протокол и не може да бъде покрит в такава статия затова ще разгледаме само основите на протокола.

Както се уверихме по-рано всеки мост има уникален осем битов номер. Първите два байта представляват приоритета на моста, които могат да се променят ръчно, а следващите шест са MAC адреса на моста. Под Линукс приоритета по подразбиране е 32768. MAC адреса на моста се избира да е този с най-малка стойност от всички MAC адреси на машината. Например 8000.100001037303 е номера на моста с приоритет 32768 (8000 hex) и MAC адрес 10:00:01:03:73:03.

В мрежа с много мостове мостът с най-малък номер се избира да бъде главен(root bridge). Главния мост определя приоритета за всеки дублиращ се път в мрежата. Когато се получат зацикяния между мостове с дублиращи се връзки, някои от портовете трябва да преминато в "blocking" режим. Това означава, че тези портове няма да предават повече пакети.

По принцип под линукс STP протоколът е изключен по подразбиране. Може да проверите дали е включен или изключен с командата "brctl show br0", а режима може да се сменя така :


# brctl stp br0 on

или


# brctl stp br0 off

За да получите повече информация за настройките на STP на моста може да ползвате командата "showstp":


bridge01# brctl showstp br0
br0
bridge id 8000.100001037303
designated root 8000.100001037303
root port 0 path cost 0
max age 20.00 bridge max age 20.00
hello time 2.00 bridge hello time 2.00
forward delay 15.00 bridge forward delay 15.00
ageing time 300.00
hello timer 0.17 tcn timer 0.00
topology change timer 0.00 gc timer 0.00
flags

eth0 (1)
port id 8001 state forwarding
designated root 8000.100001037303 path cost 100
designated bridge 8000.100001037303 message age timer 0.00
designated port 8001 forward delay timer 0.00
designated cost 0 hold timer 0.00
flags

eth1 (2)
port id 8002 state forwarding
designated root 8000.100001037303 path cost 100
designated bridge 8000.100001037303 message age timer 0.00
designated port 8002 forward delay timer 0.00
designated cost 0 hold timer 0.00
flags

Това, което виждаме е че моста е главен мост за мрежата(погледнете "bridge id" и "designated root") и освен това и двата му интерфейса предават пакети. Ако пуснем същата команда на втория мост, ще видим някой различия:


bridge02# brctl showstp br0
br0
bridge id 8000.100001087423
designated root 8000.100001037303
root port 1 path cost 100
max age 20.00 bridge max age 20.00
hello time 2.00 bridge hello time 2.00
forward delay 15.00 bridge forward delay 15.00
ageing time 300.00
hello timer 0.00 tcn timer 0.00
topology change timer 0.00 gc timer 238.59
flags

eth1 (1)
port id 8001 state forwarding
designated root 8000.100001037303 path cost 100
designated bridge 8000.100001037303 message age timer 18.63
designated port 8001 forward delay timer 0.00
designated cost 0 hold timer 0.00
flags

eth2 (2)
port id 8002 state blocking
designated root 8000.100001037303 path cost 100
designated bridge 8000.100001037303 message age timer 18.63
designated port 8002 forward delay timer 0.00
designated cost 0 hold timer 0.00
flags

Моста има номер 8000.100001087423, но полето designated root показва номера на другия мост. Това е така понеже само един мост може да бъде главен в една мрежа. Освен това виждаме, че единия от портовете му не предава пакети. Това е смисъла на STP протокола. Той предпазва мрежата от зацикляне на пакети междъ мостове. Ако мостът получи пакети, които трябва да бъдат предадени на друд мрежов сегмент, той ще ги игнорира понеже дргуя мост ще ги обработи.

Ако, по някаква причина, искате да смените приоритета на мост, можете да го направите с 'setbridgeprio' командатаcommand. Тук сменяме приоритета на 4096 (1000 hex).


# brctl setbridgeprio br0 4096

Сега можем да се уверим, че номера на моста се е сменил.


# brctl show
bridge name bridge id STP enabled interfaces
br0 1000.100001047106 yes eth0
eth1

Възможно е да се слага приоритет и на порт. Това може да е нужно, когато по-бавния порт е избран за главен вместо по-бързия и искате да промените това.


# brctl setportprio br0 eth1 50

В зависимост от топологията на мрежата някой мостови портове може да си сменят режима от "forwarding" в "blocking". Това се случва когато чсто от мрежата е недостижима, но би трябвало бързо да се стабилизира.

За повече информация относно Spanning Tree протоколът: IEEE 802.1D specification.

Заключение

След като сте прочели тази статия може да експериментирате с по-слжни конфигурации. Това може да ви е полезно ако имате много виртуални машини и трябва да свържите мрежите, в които се намират те с мостове. Така можете да направите сравнително сложни топологии.

Possibly Related Posts: