Около половин година след последния ми анонс по Dreambox monitoring ситестемата ми мога да анонсирам новата и вероятно някоя от последните си версии на Nuki. Версията беше готова още преди  2 месеца но къде от мързел къде заради дебъгване нещата се позабавиха с анонса. От няколко дни работи на 32 dreambox 500-s и общо взето резултатите са много добри. Промените са много – премахната е идиотската звисимост от Linux server на които да се прехвърлят логовете – вече е необходимо да имате apache + php, защото новата система за писане на логове е като се подава параметри към един php скрипт на сървъра. Отделно съм променил скрипта да работи и без сървърна част – ако имате малко сателитни приемници не е смислено да имате постоянно пуснат сървър от които да се взима инфото затова може да се нанесе хардкоднато в скрипта с 2 променливи информацията за CAM-а. Също така съм декларирал допълнителна променлива за debug – ако не искате няма да ви мята логове – отново малоумен пропуск в сравнение с преди 🙂 Леки поправики по кода бяха напревени, че приличаше като писан от полуграмотен олигофрен (не че несъм де). Остране ни бяха 2 критични грешки в кода водещи до прекратяване на работа на скрипта в някакъв случаен момент, отново олигофренски пропуски от моя страна. Общо взето писането не беше много просто трябваше да се помисли да се направи като хората, че busybox и ash не са най лесни неща за опитомяване. Тоя път мисля да спестя голямата тирада с кода и направо да обясня променливите коя за какво е и какви манипулации могат да се направят с нея (новите) 🙂


SERVER="192.168.100.1"
 STANDALONE="FALSE" #using like stand alone app no server side depends ; )
 HCAM1="" ## if starting like stand alone app give me CAM namezzz if HCAM1 is empty its means chanel is free
 HCAM2="" ## CAM2 name
 PORT="666" # port rockzzz : D : )))))))))))))))))
 IP=$(ifconfig eth0 | grep inet | awk '{print $2}' | sed -e 's@addr:@@')
 FILE='/tmp/debug'
 INFO='/tmp/info_file'
 NC=$(which nc)
 WGET=$(which wget)
 MAX_DAYS="10"
 TIMEOUT="600"
 MAX=70 #max cpu usage per process
DEBUGING="TRUE" #if u wanna script send debug information set DEBUGING to TRUE if SEVERLESS is set to true this var will be skiped
 NEWDBGSTYLE="TRUE" #debuging new style sending info to apache derectly, old style using nc

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

STANDALONE е една от най важните променливи ако е сетната на TRUE няма да се правят обръщения към сървъра и няма да изисква вече зависимост от сървър ако я използвате трябва да сложите стойности и на следната HCAM1 (незнам защо съм я кръстил така не помня вече но няма и значение). Ако няма стоиност в нея а скритпа е самостоятелен скрипта приема че ще работи на некриптиран канал и няма прави проверка за декриптиращ модул, ако има ще провери според зададената стоиност. HCAM2 е незадължителна ако декодиращия ви модул използва само 1 процес да речем CCcam например.

DEBUGING втората интересна променлива ще ви прлюе информация или ще пази мълчание според зависи каква стойност сте забили. Авотматично преминава в тих режи ако STANDALONE е TRUE

NEWDBGSTYLE трата важна променлива. Тя определя как ще се прехвърлят логовете към сървъра. Ако е TRUE ще е по новия начин без идиостката зависимост от netcat. Ако все пак си държите на стария метод слагате FALSE. В общи линии това са нещата на които трябва да наблегнете но мисля, че промените въпреки че са кардинални ще останат една идея прозрачни заради зададените стойности по подразбиране 🙂

Определено вече съм много доволен как се получиха нещата – скрипта стана достатъчно гъвкав отпднаха идиотките зависимост на допълнителни файлове за функции както и вече отпдна и зависимост на nc мисля или пък нуждата от сървър и прочие не всеки ползва 30+ box-a че да има и сървър или пък може да има само някакъв домаше router. Все още има какво да се подобри но засега мисля да се въздържам от таквиа неща защото не е наложително 🙂

Файловете както обикновено се намират в директорията  а крипта за въвеждане на логовете може да свалите от тук

И по случай добрия скрипт едно ускорено парче за всички ускорители 😀

Enhanced by Zemanta

Tux, as originally drawn by Larry Ewing

Image via Wikipedia

Днес мисля малко да по размишлявам върху това извращение на природата CentOS. Вдъхновен от наскоро излязлата CentOS 6-та версия имам какво и аз да кажа. Само по себе си тая глупост е разработка RedHat и е сървърен форк на тяхната Red Had Enterprise Linux. Използва rpm пакетния им менаджер (които е ужасно велик, да ама не).

Нека да започна с това което ме накара да започна да пиша и да размишлявам що за изрод е това CentOS и има ли почва в моите сървъри. Преди около седмица излезе верися 6 и реших да ъпдейтна настоящата ми 5.6 инсталация на VPS хостинга ни. Бях доста неприятно изненадан като видях, че не ми отчете пакети ъпдейт. Реших, че нещо аз бъркам и проверих в Интернет. Бях шокиран като видях препоръката на производителя е да се прави чиста инсталация и дистрибутививен ъпгрейд от 5.6 не е препоръчителен и се прави с кила черни магии и затова не е възможно по стандартен начин. Хммм доста интересен момент. 😆 И това се води enterprise дистрибуция, много интересно. Не виждам как може дори да се класира в тази категория освен, че производителя и сложил това гръмко наименование. Да приемем следните 2 сценария – единия е правим нов инстал другия е не правим.

1. Сценарии – Свалям сървъра разкачам го спира всички услуги които поддържа. Инсталирам го за 1 час или повече бизнеса за които работя търпи големи загуби като парички. Аз си губя работата като системен админснитратор вероятно или ще отнеса солени глоби. Да не коментираме всички мъки покрай настройките и правилния архив на данни и настройки. Кила нерви резулатта е имаме чиста система. Очевидно варианта не е приемлив.

2. Сценарии – Не правим дистрибутивен ъпгрейд системата си седи така докато се пускат кръпки по сигурноста. Докато в един момент не и се прекрати подръжката след известно време бива хакната заради пробойна в някоя от услугите които предлага, заради невъзможноста да си да осигурява диструбутивно надграждане. Крадат се данни или просто само се компроментира сървъра – отновно солени глоби или си губиш работата.

Доста интересно и двата сценария завършват доста неприятно за системния им администратор заради капитална греша в дизайна на дистрибуцията подбора и  мързела на компанията която я разработва за да не осигури съвместимост между пакетите. Докато от друга страна има не чак толкова enterprise дистрибуции които се надграждат тихо и кротко, без да носят гръмки имена. Имам Debian сървър които е от версия 3 надграден до актуаланта версия 6 в момента сиреч преживял е 3 големи надграждания като не е имало отказ до достъпа на услугите. По принцип единия от основните принцип на админа е – „Ако работи не се пипа“ но затова хората откриват дупки пускат кръпки затова излизат нови пакети да подобряват стабилността или да ускоряват производителността. В заключение освен мое лично мнение но и мнение на много мои приятели къде по добри админи от мен е CenOS не струва.

Enhanced by Zemanta

BackTrack 5 беше издаден на 10-ти май. За първи път се появи официална версия с Gnome вероятно натискът на обществото си каза думата 🙂 и поради точно си този факт реших да го инсталирам на моето EEE 1000H. Все пак Gnome ми е любимата графична среда 😉 . Пак както 4-та версия отново и настоящата е базирана на Ubuntu 10.04LTS. Което според мен не недостатък да речем все пак целевата група са ламави хахори 😀 . Както обикнове основен мрежови мениджър е wicd, които по принцип е доста приятен поне според мен е предпочитан ( когато ми е нужен 😉 ), но на eee-то ми прави бъг че не може да се закача към некриптирани безжични мрежи. Доста неприятно определено, с нормалния си мрежови менажер на Gnome този проблем отсъства. Вече ситуацията е ясна имам проблем имам и решението му.

Общо взето няма да наблягам на инсталцията и премахването а на основния подводен камък които ще се случи. Иначе предишните 2 операции по стандартния начин с apt-get или през synaptic  както ви е най комфортно. Така споменах за подводен камък и тои е следния заради съдържанието в /etc/network/interfaces network-manager-a не може да инициализира мрежовите ви адаптери. Необходимо е да за коментирате всичко излишно, включително настройките с IP адреси. След като изчистих съдържанието на моя се получи нещо такова

auto loe th0 wlan0
allow-hotplug wlan0
allow-hotplug eth0

По този начин се решава проблема с не работещия network manager.

Enhanced by Zemanta

Миналата неделя ми беше модулния изпит за втория ми семестър на Cisco академията върху Routing Protocols and Concepts. Общо взето за разлика от първия семестър този път съм доволен от резултата на изпита извадих 98% което ще рече от 50 въпроса 49 верни. Резултата не е чак толкова изненадващ понеже все пак разбирането на routing-a и протоколите около него е част от работата ми, вярно не съм работил с динамични routing протоколи като OSPF IS-IS или EIGRP но пък поне статичния routing и самите таблици са ми ясни както и самите мтрики в тях. Резултата както бях отбелязал и в предишния final exam не е определящ за сертифицирането но е вид надъхване за следващия семестър. С по голямо самочувствие да се заходи към материята.

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

Засега остава да се наслаждам на моя момент на малка слава (както каза една приятелка) 😀 все пак резултата не е от най ниските 😉

При мен интернета ми се рутира от домашно рутерче D-Link DIR-600 което на което съм инсталирал DD-WRT . Общо взето никак не лош маршрутизатор подържа относително добър максимум стабилна работа и N wi-fi стандарт. Отделно DD-WRT софтуера ми дава голяма свобода на настройки и вуду магии.

Зад него в локалната ми мрежа е сървъра на които се хоства скромния ми блог. Общо взето драмите се получават от факта, че когато се изпрати запитване към dns-a отговаря публичното ми IP на което съм направил forwarding към хоста на блог-а ми и когато заявката от вътрешната мрежа не е необходимо да се обръщам към публичния си адреса. Решението на проблема се оказа повече от елементарен трябва да се направи запис в /etc/hosts файлът в които да се посочи domain-a и IP адреса. Това става посредством следните 2 команди

echo '192.168.1.2 host.com' >> /etc/hosts
killall -HUP dnsmasq

Тях ги слагате като startup script в administration ->commands часта. След това си рестартирате рутера или дайте run на командата за да се изпълни и сте готови вече хоста коиот сте описали от вътрешната ви мрежа ще бъде видим с локалния ви адрес.