събота, август 28, 2010
понеделник, август 16, 2010
понеделник, август 09, 2010
неделя, август 08, 2010
Linksys WRT54GL with dd-wrt
Цена: до 100 лв.
Реализция:
Устройство: Linksys WRT54GL (по препоръка като най-стабилен SOHO router, а и наличен в необходимите количества на склад) - микротик рутербордове по това време на БГ пазара нямаше
Software: dd-wrt tomato-не предлагаше нужната функционалност; open-wrt-по мненията из разни форуми и етц не толкова стабилен, и по-малък брой поддържани устройства; други проекти както и варинта да се инсталира пълноценна Linux дистрибуция отпаднаха по една или друга причина (като цяло крайната реализация трябваше да бъде не произведение на изкуството, а нещо достатъчно стабилно и лесно да подръжка, обслужване и евентуален extend/expand )
Configuration:
1. 30/30/30 Hard reset procedure
2. Избран е този image заради размера, възможността да се mount-не router flash-a with read&write permissions, подръжка на необходимите неща + още някоя и друга глезотийка която може и да не се ползва, но е добре да я има в случай на нужда
3. Заради големият брой устройства които трябва да се конфигурират и разпратят така, че само да се закачат и всичко да тръгне almost zero-day install се реализира така:
а) basic config На един от рутерите - всички необходими неща които са еднакви за всички nodes - firewall, QoS, disable DHCP on LAN, remote access, enable/disable services, NAT, etc и цялото това нещо се запази като backup bin file през WEB интерфейса.
firewall-а e стандартен iptables чиято конфигурация се записва в /tmp/.rc_firewall, но може да се пишат тези правила през WEB-Administration-Commands-Save firewall
b) за спецефичните за всеки node неща (WAN IP, LAN IP,Tunnel IP, BGP neighbor, static routes, etc) се използва startup script (/tmp/.rc_startup или през WEB-Administration-Commands-Save Startup). StratUp script-a е последователност от nvram set name=value
формат:
nvram set lan_ipaddr=10.134.254.253
nvram set lan_netmask=255.255.255.252
nvram set routing_bgp_neighbor_ip=172.16.254.253
nvram commit
За routing demon се използва bird - трябва да се прочете повече дали и как може да се правят повече неща с него в тази му реализация (load balance, prefix filters, BGP attributes change, etc). Има възможност да се инсталират стандартни *.deb и *.ipk packages през ipkg, но quagga не можах да инсталирам (а и нямах време да дебъгвам)
По интересно е нещото което не се поддържа директно от конкретният image - IPinIP/GRE tunnels. Беше избран IPinIP тунелинг заради по-малкият овърхед, през него не минава мултикаст (сиреч no OSPF,no RIP), но пък GRE тунелите използват protocol 47 (също като pptp) който се филтрира от някои доставчици.Повече инфо тук и тук Като алтернатива могат да се използват подържаните от image pptp, openvpn и EoIP tunnels, но най-лесно и чисто като че ли е варианта с IPinIP tunnel
Наличието на iproute2 пакета улесни и опрости много нещата тъй че в моят случай сетъпа изглежда така:
#tunnel specific
insmod ipip.o
# local == Tunnel Source
ip tu ad tun0 mode ipip local $Tunnel_source_IP remote $Tunnel_dest_IP ttl 250 dev vlan1
# 172.17.254.254 == Tunnel IP spoke side; peer 172.17.254.253/32 == tunnel IP remote side
ip ad ad dev tun0 172.17.254.254 peer 172.17.254.253/32
ip li se dev tun0 up
Това присъства в startup script-a и се изпълнява при всеки (re)start на рутера.
Linksys WRT54 има един WAN порт + switch module в който членуват останалите 4 порта. За да има реална бекъп връзка до Spoke през вторият тунел най-чистият вариант беше да се "осигури" втори WAN порт. В случая е реализирано така:
# vadim port 1 ot switch-modula i go prawim WAN
# nvram show | grep vlan.ports
#0 = port 4
#1 = port 3
#2 = port 2
#3 = port 1
#4 = WAN
#5 = CPU internal
#5* = CPU internal default
nvram set vlan0ports="0 1 2 5*"
nvram set vlan1ports="3 4 5"
nvram commit
Правилната статия по темата е тук
Най-сериозният проблем (който в момента не ми е толкова критичен, но си е сериозен) е добавянето на user с ограничени права...
Номерът с echo 'admin:$1$bLL3EQ3А$3SNexDssIzKZx9KmUP1.O.:0:0:Admin User,,,:/tmp/root:/bin/sh' >> /etc/passwd работи като ми добавя User: admin с root права;
Но пък:
mkdir /tmp/user
echo 'user:$1$unix crypted pass here.:1234:1234:LimitedUser,,,:/tmp/user:/bin/sh' >> /etc/passwd
echo 'user:x:1234' >> /etc/group
ми дава един мноооого limited user който дори и ping команда не може да изпълни въпреки, че върху /bin/ping са UID bits
Anyway... за целите на first level support-a по-скоро ще се мисли за някакъв вариант в който се изпълнява някой script който да се логва на устройството и взима Output-a на няколкото команди необходими за това да се отвори или затвори тикет или ще получава същите работи през snmp
ToDo: всичкото това със сигурност може да се постигне с един startup script т.е. да се избегне стъпката с изливането на basic_config.bin, но искаше повече копане и време (което нямах). Някой ден ще трябва да го направя (но защо да отлагам днешната работа за утре, като мога да я отложа за вдругиден)
P.S. 3 седмици след старта иснталациите изглежда като да работят нещата добре, въпреки, че имаме 2 (засега) рутера които след някакви токови удари и/или други незнайни причини са си загубили напълно конфига и на практика са brick-нати. Да се надяваме, че са "случайни случки", а не някакъв посевместен бъг в имиджа който изливаме
понеделник, юли 19, 2010
На попрището жизнено в средата
Отказът ми е свързан с причини от чисто лично естество и няма отношение към техническите параметри на отправената оферта и същността на свободната позиция.
Още веднъж се извинявам за отнетото време и ресурси и пожелавам бързо откриване на правилният човек за сглобяването на успешен ИТ тиим.
Дано изборът да работя нещо което мисля, че е по-интересно спрямо нещо което е (доста) по-добре платено се оакже правилен и да не се налага да съжалявам (и за това) в последствие.
понеделник, юни 28, 2010
сряда, юни 16, 2010
Monthly wisdom - June
четвъртък, юни 10, 2010
Google Maps for Windows Mobile
Та в това топло и задушно посреднощие се заиграх с телефона и инсталираните google maps... Тези не са хора! Освен доста приличните снимки навързани една с друга по един почти незабелижим начин така, че се създава илюзията за едно цялостно фото-изображение, има доста точни карти на забутани места (като наше село например), че и навигация от рода step-by-step-instructions-to-reach-Пичковци N42a от асансьора в дясно до хладилника.Слоевете са много практични... въпреки, че доста цъках из София така и не намерих място което да ми каже нещо по-различно от "тук няма информация за трафика". За сметка на това като се натисне и задържи в/у някоя точка изкача адреса от който мога да си изтегля упътвания как да стигна пеш (къ ли пъ не! пеш само до тоалетната и то ако не ме мързи... много); Какво има наблизо - изкачат много интересни неща (например Студио за епилация и солариум 'АриАяр' някъде наблизо около нас); Изпращане на SMS с точният адрес по Google Maps (дали може и GPS координати да изпраща? Сигурно трябва да включа GPS-a преди това едва ли не ?!), а на всичкото отгоре и повечето места са нацвъкани с Wikipedia лого-то през което се стига до кратка извадка (с опция read full article) от статията в Wikipedia.
Но пък най-интересното нещо беше когато планирах (за пореден път) обиколка из Лондон... има Градски Изглед! Същото като РС версията на Google Earth... дори с опция да се "поразходиш" из улицата напред-назад (даже и бегъл поглед през витрината на някакъв магазин на Gucci хвърлих). Това което ми направи впечатление: номерата на колите по улиците са замазани и не си личат (но пък лицата на хората се виждат почти прилично!). Още по-интересното е, че успях да се "разходя" из Waterloo Station и да видя графитите по стените (като как са го излъгали този сателит да се навре там и да снима на - съда не стана ясно )
А това как тиквите от google labs успяват да определят позцията ми с точност до 200м в/у картата без SIM и без пуснат GPS само с активирана wireless връзка си остава загадка... v.0.0.1a теоритично нещата (биха могли да) се случват така: има определени сървъри с точно известни GPS координати (примерно на AKAMAI акселераторите са такива); аз през активната си wireless връзка пращам нещо (хелло уорлд! ) на най-близките до мен (на база текущо IP/hop path); те си джуркат тяхната триангулираща магия и казват - те тука си. Слабото ми място е, че според мен за да ме заковат в радиус от 200м ... бая на брой трябва да са тези сървъри с фиксирани координати... от друга страна кой знае колко са тез TCP-IP-триангулачни точки.. може и да са достатъчен брой
ToDo: да взема да си синифна трафика м/у телефона и АР-то да видим дали и кои си говорят така
Да го направят цялото това нещо 3D и тези от ... забраих къде беше може да идват у нас да снимат Аватар 2 (или пък онези от онзи филм с Брус Уилис дето го играеше детектив и си имаха по една кукла с която излизаха навън да се фукат... и него го забравих как се казваше)
четвъртък, юни 03, 2010
Mikrotik L2 filtering
от рутера (в случая RouterBoard RB705, но предполагам, че ще работи и за
други модели)
До 3 работещи варианта стигнах в крайна сметка
1.
interface bridge filter export
# jan/09/1970 01:36:42 by RouterOS 4.6
#
/interface bridge filter
add action=accept chain=input comment="" disabled=no mac-protocol=arp \
src-mac-address=00:2D:7D:C1:4F:01/FF:FF:FF:FF:FF:FF
add action=drop chain=input comment="" disabled=no mac-protocol=arp \
src-mac-address=FF:FF:FF:FF:FF:FF/FF:FF:FF:FF:FF:FF
(add action=drop chain=input comment="" disabled=no mac-protocol=arp \
src-mac-address=00:00:00:00:00:00/FF:FF:FF:FF:FF:FF)
Микротик firewall-a има експлитицно правило allow any any... т.е. ако
нещо изрично не е забранено, то ТО по подразбиране е разрешено
В този случай не сработиха последните правила (XOR) които според мен
трябваше да забранят всичко останало което не е match-нато в първото
правило.
Сиреч може да се използва при зададено условие: на всички е разрешено,
освен на тези на които изрично е забранено
2.
2.1. маркираме пакети и конекшъни
/ip firewall mangle export
# jan/10/1970 01:05:47 by RouterOS 4.6
#
/ip firewall mangle
add action=mark-connection chain=prerouting comment="" disabled=no \
new-connection-mark=allowedpassthrough=yes src-mac-address=\
00:1D:7D:C1:4F:01
add action=mark-packet chain=prerouting comment="" disabled=no \
new-packet-mark=allowedpassthrough=yes src-mac-address=00:1D:7D:C1:4F:01
2.2. block/allow на базата на маркировката от 2.1.
/ip firewall filter
add action=drop chain=forward comment="" connection-mark=!allowed
disabled=yes packet-mark=!allowed
Основният плюс тука, е че наличната "марка" може да се използва и за
други неща... Queue примерно...
3.
/ip firewall filter> export
# jan/04/1970 02:39:09 by RouterOS 4.5
#
/ip firewall filter
add action=accept chain=input comment="" disabled=no src-mac-address=\
00:19:66:09:64:14
add action=accept chain=input comment="" disabled=no src-mac-address=\
00:1D:7D:C1:6F:BE
add action=accept chain=input comment="" disabled=no src-mac-address=\
00:13:8F:3A:70:02
add action=drop chain=input comment="" disabled=no in-interface=\
ether2-local-master
(add action=drop chain=input comment="" disabled=no
src-address=192.168.88.0/24)
Първите 3 правила описват allowed PC закачени зад switch "модула" (2-5
порт по подразбиране с default config на RB750), като последните 2 (XOR)
забраняват всичко останало
Хитрото тук е, че се блок-ва трафика иницииран от "вътрешният интерфейс"
(т.е. този за който in-interface е споменат в правилото), но трафика
адресиран "от вън" към този МАС си е ОК. Може да се използва в при
зададено условие: на всички е забранено, освен на тези на които изрично
им е разрешено.
понеделник, май 17, 2010
събота, май 08, 2010
Monthly wisdom
четвъртък, април 29, 2010
неделя, април 25, 2010
КРАТЪК КУРС ПО РОДНА ИСТОРИЯ
Второто царство било още по спешъл пак на три курорта. Най-големия баровец бил Джони Калоян. Значи веднъж се довлякло от запад някакво тъпо копеле с тайфа макаронаджий. Обаче Джони бил направил комбина с кумани и всякакви боклуци па ги гепил тия, а копелето го турил в една кула да се скапе. Джони си имал страхотно гадже, чифутка. Тя си падала по баровеца в кулата и почнала да го рути. Джони като ги скивал един път му пробил на оня кратуната с шиш. После го бутнал от кулата или обратно, все едно.
Царството се свършило защото се довлекли всякакви рязани гагаузи и кукери. Те набивали готините копелета на колове а мацките на вериги, жестока отврат. След рязаните дошло и Третото царство. Обаче то било балъшко, щото комунягите го срутили. Отначало те не били на власт и разни фашаги им рязали главите и им набивали клечки под ноктите. Тия после като докопали кокала заровили мръсните копелета или ги пращали да се здухват в Ловеч или Белене, дето им пръскали главите с тояги. Гнус и отврат. И накрая ню таим демокрация бабета правят купони по улицата или кибичат по опашки, припадат и после се бесят. Жестоко. Само дето водката татарлии я пробутват по трийсет кинта мангасарите му с мангасари...
Иво Беров
P.S.що пък не... и това е вариант
Simple като свинска опашка
rsync -avrpogPht -e "ssh -l eol" eol@backup.serv:/daily .
вторник, април 20, 2010
BG Peering
Apr 19, 2010 RETN became a participant of the traffic exchange point BIX.BG in Sofia, Bulgaria (Bulgarian Internet eXchange). This is the 22th traffic exchange point where RETN is involved
ето това според мен би трябвало да промени интернет бизнеса у нас. Най-малкото вместо традиционният БГ пииринг се отвори exchange point в който членуваха само БГ оператори, но след влизането на най-малко 1 по-голям чуждестранен такъв (и изтърването на BIX префиксите в пииринг-а от което пострадахо доста хора за различно време) вече понятието Peering & Internet (като услуги които се продават от ISP-та) вече ->0... вярно, че ISP-та нямат финансова изгода от това, но явно някой има иначе нямаше да се интерконектва в RU-NET :)
понеделник, април 19, 2010
Automatically end RDP session
Start - Run - tscc.msc - RDP-Tcp Properties - Sessions - Override User
Settings
GPO (domain policy has precedence over local policy or manual configuration)
Computer Configuration\Administrative Templates\Windows
Components\Terminal Services\Sessions
сряда, април 07, 2010
вторник, април 06, 2010
Free Coupons from DinoDirect
First of them is for $5 discount for orders that are more than $20. The second one is for $10 discount with same condition. These coupons are expires on 30 April 2010.
Cash Coupon ID (same for both) 10Spring4E6N
Just leave a comment when you are going to use them.
The easiest /lazy way...
Та моят TOP XXX от рънг§тръг open source solutions за момента е :
I. SOHO entry box - Firewall (NAT/DMZ/VPN)
II. LAMP & Mail server
III. Entry box - Router
IV. Desktop
сряда, март 31, 2010
понеделник, март 29, 2010
сряда, март 24, 2010
Look at ...
вторник, март 23, 2010
петък, март 05, 2010
The easiest /lazy way to install (L)AMP server
...One OS to rule them all...
сряда, март 03, 2010
R.I.P.
Хочу с прискорбием добавить что на той же фотографии два человека уже не с нами. Губочкин Валерий Борисович, учитель русского языка и летиратуры, и девушка, что стоит рядом с ним, Таня Гайер. Пусть земля им будет пухом.Току що ми отиде около 70% от желанието да се върна дори и за седмица в Коми
[/quote]
петък, февруари 26, 2010
The Soul Of The Game
This is ten percent luck, twenty percent skill
Fifteen percent concentrated power of will
Five percent pleasure, fifty percent pain
And a hundred percent reason to remember the name
четвъртък, февруари 18, 2010
Kubuntu remove KDE/desktop
amarok-utils apport-kde apturl-kde ark cdrdao dolphin dragonplayer exiv2
foomatic-db-gutenprint gdebi-kde gnupg-agent gtk2-engines-qtcurve
gwenview hpijs-ppds ibus-qt4 ijsgutenprint imagemagick install-package
jockey-kde k3b k3b-data kaddressbook kamera kate kcm-gtk
kde-icons-oxygen kde-style-qtcurve kde-window-manager kde-zeroconf
kdebase-bin kdebase-data kdebase-plasma kdebase-runtime
kdebase-runtime-bin-kde4 kdebase-runtime-data
kdebase-runtime-data-common kdebase-workspace-bin kdebase-workspace-data
kdebase-workspace-kgreet-plugins kdebase-workspace-libs4+5 kdebluetooth
kdegraphics-strigi-plugins kdelibs-bin kdelibs5 kdelibs5-data
kdemultimedia-kio-plugins kdepasswd kdepim-groupware kdepim-kresources
kdepim-runtime kdepim-runtime-data kdepim-runtime-libs4
kdepim-strigi-plugins kdepim-wizards kdepimlibs-data kdepimlibs5 kdesudo
kdm kfind khelpcenter4 kipi-plugins klipper kmag kmail kmix kmousetool
knotes konq-plugins konq-plugins-l10n konqueror konqueror-nsplugins
konqueror-plugin-searchbar konqueror-plugins konsole kontact kopete
korganizer kpackagekit kppp krdc krfb ksnapshot ksysguard ksysguardd
ksystemlog ktimetracker ktorrent ktorrent-data kubuntu-artwork-usplash
kubuntu-default-settings kubuntu-desktop kubuntu-docs
kubuntu-firefox-installer kubuntu-konqueror-shortcuts kvkbd
kwalletmanager kwin-style-qtcurve language-selector-qt
libakonadiprivate1 libao2 libaudio2 libboost-program-options1.38.0
libclucene0ldbl libepub0 libexiv2-5 libfftw3-3 libflac++6
libindicate-qt0 libjpeg-progs libk3b6 libkabcommon4 libkcddb4 libkdcraw7
libkdecorations4 libkdepim4 libkexiv2-7 libkipi6 libkleo4
libknotificationitem1 libkonq5 libkonq5-templates libkonqsidebarplugin4
libkontactinterfaces4 libkopete4 libkorundum4-ruby1.8 libkpgp4 libksane0
libksieve4 libkwineffects1 liblancelot0 liblastfm0 liblzma0 libmimelib4
libmodplug0c2 libmpcdec3 libmsn0.1 libokularcore1 libotr2
libpackagekit-glib11 libpackagekit-qt11 libplasma3 libpolkit-dbus2
libpolkit-grant2 libpolkit-qt0 libpolkit2 libpoppler-qt4-3 libqca2
libqca2-plugin-ossl libqimageblitz4 libqscintilla2-5 libqt4-assistant
libqt4-dbus libqt4-designer libqt4-help libqt4-network libqt4-opengl
libqt4-phonon libqt4-qt3support libqt4-ruby1.8 libqt4-script
libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite
libqt4-svg libqt4-test libqt4-webkit libqt4-xml libqt4-xmlpatterns
libqtcore4 libqtgui4 libqtscript4-core libqtscript4-gui
libqtscript4-network libqtscript4-sql libqtscript4-uitools
libqtscript4-xml libruby1.8 libscim8c2a libsmokekde4-2 libsmokeqt4-2
libsoprano4 libstreamanalyzer0 libstreams0 libstrigiqtdbusclient0
libtag-extras1 libtidy-0.99-0 libvncserver0 libxcb-shape0 libxcb-shm0
libxcb-xv0 libxine1 libxine1-bin libxine1-console libxine1-misc-plugins
libxine1-x libzip1 mysql-server-core-5.1 okular okular-extra-backends
openoffice.org-kde openoffice.org-style-oxygen oxygen-cursor-theme
packagekit packagekit-backend-apt phonon-backend-xine pinentry-gtk2
pinentry-qt4 plasma-dataengines-addons plasma-dataengines-workspace
plasma-scriptengine-python plasma-widget-facebook
plasma-widget-folderview plasma-widget-googlecalendar
plasma-widget-indicatordisplay plasma-widget-kimpanel
plasma-widget-kubuntu-qa-feedback plasma-widget-lancelot
plasma-widget-networkmanagement plasma-widget-quickaccess
plasma-widgets-addons plasma-widgets-workspace policykit printer-applet
python-kde4 python-packagekit python-qt4 python-qt4-dbus python-sip4
quassel quassel-data ruby ruby1.8 software-properties-kde soprano-daemon
speedcrunch system-config-printer-kde systemsettings ttf-arphic-uming
ttf-dejavu ttf-dejavu-extra update-manager-kde update-notifier-kde
usb-creator-kde userconfig
..................
0 upgraded, 0 newly installed, 263 to remove and 123 not upgraded.
After this operation, 967MB disk space will be freed.
Do you want to continue [Y/n]?
apt-get remove kde*
Reading package lists... Done
Building dependency tree
Reading state information... Done
...........................
0 upgraded, 0 newly installed, 136 to remove and 134 not upgraded.
After this operation, 366MB disk space will be freed.
Do you want to continue [Y/n]?
събота, януари 23, 2010
сряда, януари 13, 2010
NS4300 + VMware ESXi
The nfs server does not support mount version 3 over tcp.
Оказа се, че ESXi NFS client-а работи само по ТСР, докато NS4300 NFS server-a само на UDP.
От SmartStore ме почерпиха културно: SmartStor products are not qualified for VMWare ESX(i) environment. They won't work at all. At the moment there is no planning to support this.
Реших да се правя на интересен: NS4300 export over UDP -> Linux NFS client + NFS server re-export over TCP before mounted NFS (UDP) share -> ESXi -- строшена схема ама като в онзи виц: така и така не кълве, що не вземеш да се изкъпеш поне?
apt-get install nfs-kernel-server nfs-common portmap
mount.nfs 192.168.0.100:/VOLUME1/NFS /mnt/nfs/
cat /etc/exports | grep nfs
/mnt/nfs 192.168.0.253(rw,sync,insecure)
Е... не работи! След малко четене се оказа, че неможе да се re-експортват преди импортнати NFS shares. Simlink-a м/у NFS mount и NFS export folder-a пак не върши работа - ESXi монтира каквото съм му експортнал, но не отваря simbolyc link-a
Next try по идея на K0b3 - NS4300 smb share -> Linux smb client + NFS server re-export over TCP before mounted SMB share -> ESXi
apt-get install smbfs smbclient
modprobe smbfs
echo 'smbfs' >> /etc/modules
mount -t cifs //192.168.0.100/NFS /mnt/nfs -o username=DOMAIN/eol,password=*********
/mnt/nfs 192.168.0.253(rw,sync,insecure)
Е... не работи!
Определено е ден за гаври:
apt-get install fuse-utils sshfs
modprobe fuse
sshfs root@192.168.0.253:/vmfs/volumes/datastore1/ /home/eol/ssh-mount/
Не че ми трябва или ще ми свърши някаква работа, ама поне частично щях да си оправдая износването на клавиатурата ако проработеше.Е... не работи!
Изчерпах се откъм гениални идеи и се чувствам празен като главата на хибрид м/у чалга певица и футболист от А група.
Извод: два дни блъскане спестява два реда четене!
П.С. и на всичкото отгоре:
lguest.c:1027: warning: implicit declaration of function ‘eventfd’
make[1]: *** [lguest] Error 1
make[1]: Leaving directory `/usr/src/linux-2.6.32.3/Documentation/lguest'
make: *** [debian/stamp/build/kernel] Error 2
Song of the Post: тази
неделя, януари 10, 2010
Toyota Yaris payments
Вече 585 дни се возим с горната машина. Основният й минус, е че е simple като американски скункс; освновният й плюс е … че е simple като американски скункс… правена е като за американци който изпадат в паника и звънят на 911 когато има повече от 2 показания на таблото, и независимо от двете си врати :) е достатъчно мощна за да не се налага да изключвам климатика когато тръгвам да изкачвам някой баир или да изпреварвам някой. Малко цифри за периода на ползването на yaris-a:
за 585 дни съм изгорил 1635.62 л бензин А95Н като за него съм дал 2842.88 BG лв (средна цена за литър 1.888 лв като най-много съм плащал 2.26лв/л, а най-малко 1.56лв/л зареждайки средно по 32.06 л) изминавайки средно 34.03 км дневно (общо 19906.56) като 80% от този път, е шофиране в градски условия (в стандартните софийски задръствания сутрин и вечер) От тези цифри –> средният разход на гориво на машинката е приблизително 8.22 л/100км (но ми се струва, че статиската куца малко защото няколкото междинни засичания по-малко от 9.5 л/100км не са показвали). Средният ми дневен финансов разход (касаещ горивото на автомобила) е 4.723 лв.
P.S. ето ако имах интерфейс към бордовият компютър можеше да си спестя всичките тези сметки и да взема резултатите наготово :(
понеделник, януари 04, 2010
UDP flood
2. #chmod +x /tmp/flood.pl
3. Copy the this code to /tmp/flood.pl:
#!/usr/bin/perl
##############
# udp flood.
##############
use Socket;
use strict;
if ($#ARGV != 3) {
print "flood.pl
събота, януари 02, 2010
Новогодошен
След сериозният провал с миналогодишният ToDo list за тази година си пожелавам единственно да приключвам (успешно?) започнатите неща! Amen!
неделя, декември 20, 2009
Back to the future
Я помню чудное мгновенье:
Передо мной явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.
В томленьях грусти безнадежной,
В тревогах шумной суеты,
Звучал мне долго голос нежный
И снились милые черты.
Шли годы. Бурь порыв мятежный
Рассеял прежние мечты,
И я забыл твой голос нежный,
Твои небесные черты.
В глуши, во мраке заточенья
Тянулись тихо дни мои
Без божества, без вдохновенья,
Без слез, без жизни, без любви.
Душе настало пробужденье:
И вот опять явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.
И сердце бьется в упоенье,
И для него воскресли вновь
И божество, и вдохновенье,
И жизнь, и слезы, и любовь.
вторник, декември 15, 2009
No title
Всяка сутрин африканският лъв се събужда с мисълта, че трябва да надбяга най-бавната газела, за да не умре от глад.
понеделник, декември 07, 2009
TFTP
- Runs on top of UDP (port 69), unlike FTP
- Provides no user authentication
- Cannot list directories
- Limited header
TFTP uses a 2-byte op-code header that follows immediately after the IP and UDP headers.
Figure 4.
- RRQ Read Request
- WRQ Write Request
- DATA
- ACK Acknowledgement
- ERROR
0 - Not defined
1 - File not found
2 - Access violation
3 - Disk full
4 - Illegal operation
5 - Unknown transfer id
6 - File already exists
7 - No such user
събота, декември 05, 2009
How people working
To prepare for the restructuring process, the Active Directory deployment team must obtain the necessary design information from the Active Directory design team
Това е от MS Best Practice... в конкретният случай за ADMT ама все пак... как работят хората само - AD deployment team, че AD design team ... не както до сега ми се е случвало AIO+бай Иван дето копа (доакто менажерите покрай него гледат давайки акъл)
вторник, ноември 24, 2009
Sony MDR-RF800
Това което ми харесва:
1. По-леки са (спрямо предните)
2. Обхвата е по-голям
3. По-"гъвкави" и предполагам по-чупливоустойчиви
4. Качеството на звука е по-добро (ниодимовите магнити явно оказват влияние)
5. При липса на сигнал не се чува никакъв "бял" шум
Това което не ми харесва (спрямо предните и по принцип):
1. Не стоят толкова стегнати на главата колкото предните (може и да не е толкова голям минус колкото ми изглежда в момента)
2. Нямат стойка на която да ги прибирам което означава, че ще се мандахерцат из бюрото насам-натам
3. Зареждането на батериите става през семплият предавател с едно 20 см кабелче хардкоднато в малкият и лекият предавател
4.Индикатора за заряд на батерията е ... червено светодиодче - сиреч пак нямам дори ориентировъчна индикация на това колко време слушане ми остава
5. Няма индикатор кога работят (приемат сигнал) така, че не мога да разбера дали се изключват при липса на входящ сигнал
вторник, ноември 17, 2009
събота, ноември 14, 2009
петък, ноември 13, 2009
Useful *nix commands - grep
by SathiyaMoorthy on March 26, 2009
Grip on the Unix Grep Command
Photo courtesy of Alexôme's
This is part of the on-going 15 Examples series, where 15 detailed
examples will be provided for a specific command or functionality.
Earlier we discussed 15 practical examples for Linux find command, Linux
command line history and mysqladmin command.
In this article let us review 15 practical examples of Linux grep
command that will be very useful to both newbies and experts.
First create the following demo_file that will be used in the examples
below to demonstrate grep command.
$ cat demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Two lines above this line is empty.
And this is the last line.
1. Search for the given string in a single file
The basic usage of grep command is to search for a specific string in
the specified file as shown below.
Syntax:
grep "literal_string" filename
$ grep "this" demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
2. Checking for the given string in multiple files.
Syntax:
grep "string" FILE_PATTERN
This is also a basic usage of grep command. For this example, let us
copy the demo_file to demo_file1. The grep output will also include the
file name in front of the line that matched the specific pattern as
shown below. When the Linux shell sees the meta character, it does the
expansion and gives all the files as input to grep.
$ cp demo_file demo_file1
$ grep "this" demo_*
demo_file:this line is the 1st lower case line in this file.
demo_file:Two lines above this line is empty.
demo_file:And this is the last line.
demo_file1:this line is the 1st lower case line in this file.
demo_file1:Two lines above this line is empty.
demo_file1:And this is the last line.
3. Case insensitive search using grep -i
Syntax:
grep -i "string" FILE
This is also a basic usage of the grep. This searches for the given
string/pattern case insensitively. So it matches all the words such as
"the", "THE" and "The" case insensitively as shown below.
$ grep -i "the" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
And this is the last line.
4. Match regular expression in files
Syntax:
grep "REGEX" filename
This is a very powerful feature, if you can use use regular expression
effectively. In the following example, it searches for all the pattern
that starts with "lines" and ends with "empty" with anything in-between.
i.e To search "lines[anything in-between]empty" in the demo_file.
$ grep "lines.*empty" demo_file
Two lines above this line is empty.
From documentation of grep: A regular expression may be followed by one
of several repetition operators:
* ? The preceding item is optional and matched at most once.
* * The preceding item will be matched zero or more times.
* + The preceding item will be matched one or more times.
* {n} The preceding item is matched exactly n times.
* {n,} The preceding item is matched n or more times.
* {,m} The preceding item is matched at most m times.
* {n,m} The preceding item is matched at least n times, but not more
than m times.
5. Checking for full words, not for sub-strings using grep -w
If you want to search for a word, and to avoid it to match the
substrings use -w option. Just doing out a normal search will show out
all the lines.
The following example is the regular grep where it is searching for
"is". When you search for "is", without any option it will show out
"is", "his", "this" and everything which has the substring "is".
$ grep -i "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Two lines above this line is empty.
And this is the last line.
The following example is the WORD grep where it is searching only for
the word "is". Please note that this output does not contain the line
"This Line Has All Its First Character Of The Word With Upper Case",
even though "is" is there in the "This", as the following is looking
only for the word "is" and not for "this".
$ grep -iw "is" demo_file
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
6. Displaying lines before/after/around the match using grep -A, -B and -C
When doing a grep on a huge file, it may be useful to see some lines
after the match. You might feel handy if grep can show you not only the
matching lines but also the lines after/before/around the match.
Please create the following demo_text file for this example.
$ cat demo_text
4. Vim Word Navigation
You may want to do several navigation in relation to the words, such as:
* e - go to the end of the current word.
* E - go to the end of the current WORD.
* b - go to the previous (before) word.
* B - go to the previous (before) WORD.
* w - go to the next word.
* W - go to the next WORD.
WORD - WORD consists of a sequence of non-blank characters, separated
with white space.
word - word consists of a sequence of letters, digits and underscores.
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.
6.1 Display N lines after match
-A is the option which prints the specified N lines after the match as
shown below.
Syntax:
grep -A "string" FILENAME
The following example prints the matched line, along with the 3 lines
after it.
$ grep -A 3 -i "example" demo_text
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.
6.2 Display N lines before match
-B is the option which prints the specified N lines before the match.
Syntax:
grep -B <N> "string" FILENAME
When you had option to show the N lines after match, you have the -B
option for the opposite.
$ grep -B 2 "single WORD" demo_text
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
6.3 Display N lines around match
-C is the option which prints the specified N lines before the match. In
some occasion you might want the match to be appeared with the lines
from both the side. This options shows N lines in both the side(before &
after) of match.
$ grep -C 2 "Example" demo_text
word - word consists of a sequence of letters, digits and underscores.
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
7. Highlighting the search using GREP_OPTIONS
As grep prints out lines from the file by the pattern / string you had
given, if you wanted it to highlight which part matches the line, then
you need to follow the following way.
When you do the following export you will get the highlighting of the
matched searches. In the following example, it will highlight all the
this when you set the GREP_OPTIONS environment variable as shown below.
$ export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8'
$ grep this demo_file
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
8. Searching in all files recursively using grep -r
When you want to search in all the files under the current directory and
its sub directory. -r option is the one which you need to use. The
following example will look for the string "ramesh" in all the files in
the current directory and all it's subdirectory.
$ grep -r "ramesh" *
9. Invert match using grep -v
You had different options to show the lines matched, to show the lines
before match, and to show the lines after match, and to highlight match.
So definitely You'd also want the option -v to do invert match.
When you want to display the lines which does not matches the given
string/pattern, use the option -v as shown below. This example will
display all the lines that did not match the word "go".
$ grep -v "go" demo_text
4. Vim Word Navigation
You may want to do several navigation in relation to the words, such as:
WORD - WORD consists of a sequence of non-blank characters, separated
with white space.
word - word consists of a sequence of letters, digits and underscores.
Example to show the difference between WORD and word
* 192.168.1.1 - single WORD
* 192.168.1.1 - seven words.
10. display the lines which does not matches all the given pattern.
Syntax:
grep -v -e "pattern" -e "pattern"
$ cat test-file.txt
a
b
c
d
$ grep -v -e "a" -e "b" -e "c" test-file.txt
d
11. Counting the number of matches using grep -c
When you want to count that how many lines matches the given
pattern/string, then use the option -c.
Syntax:
grep -c "pattern" filename
$ grep -c "go" demo_text
6
When you want do find out how many lines matches the pattern
$ grep -c this demo_file
3
When you want do find out how many lines that does not match the pattern
$ grep -v -c this demo_file
4
12. Display only the file names which matches the given pattern using
grep -l
If you want the grep to show out only the file names which matched the
given pattern, use the -l (lower-case L) option.
When you give multiple files to the grep as input, it displays the names
of file which contains the text that matches the pattern, will be very
handy when you try to find some notes in your whole directory structure.
$ grep -l this demo_*
demo_file
demo_file1
13. Show only the matched string
By default grep will show the line which matches the given
pattern/string, but if you want the grep to show out only the matched
string of the pattern then use the -o option.
It might not be that much useful when you give the string straight
forward. But it becomes very useful when you give a regex pattern and
trying to see what it matches as
$ grep -o "is.*line" demo_file
is line is the 1st lower case line
is line
is is the last line
14. Show the position of match in the line
When you want grep to show the position where it matches the pattern in
the file, use the following options as
Syntax:
grep -o -b "pattern" file
$ cat temp-file.txt
12345
12345
$ grep -o -b "3" temp-file.txt
2:3
8:3
Note: The output of the grep command above is not the position in the
line, it is byte offset of the whole file.
15. Show line number while displaying the output using grep -n
To show the line number of file with the line matched. It does 1-based
line numbering for each file. Use -n option to utilize this feature.
$ grep -n "go" demo_text
5: * e - go to the end of the current word.
6: * E - go to the end of the current WORD.
7: * b - go to the previous (before) word.
8: * B - go to the previous (before) WORD.
9: * w - go to the next word.
10: * W - go to the next WORD.
Useful *nix commands - find
This is a basic usage of the find command. This example finds all files
with name — MyCProgram.c in the current directory and all it's
sub-directories.
# find -name "MyCProgram.c"
./backup/MyCProgram.c
./MyCProgram.c
2. Find Files Using Name and Ignoring Case
This is a basic usage of the find command. This example finds all files
with name — MyCProgram.c (ignoring the case) in the current directory
and all it's sub-directories.
# find -iname "MyCProgram.c"
./mycprogram.c
./backup/mycprogram.c
./backup/MyCProgram.c
./MyCProgram.c
3. Limit Search To Specific Directory Level Using mindepth and maxdepth
Find the passwd file under all sub-directories starting from root directory.
# find / -name passwd
./usr/share/doc/nss_ldap-253/pam.d/passwd
./usr/bin/passwd
./etc/pam.d/passwd
./etc/passwd
Find the passwd file under root and one level down. (i.e root — level 1,
and one sub-directory — level 2)
# find -maxdepth 2 -name passwd
./etc/passwd
Find the passwd file under root and two levels down. (i.e root — level
1, and two sub-directories — level 2 and 3 )
# find / -maxdepth 3 -name passwd
./usr/bin/passwd
./etc/pam.d/passwd
./etc/passwd
Find the password file between sub-directory level 2 and 4.
# find -mindepth 3 -maxdepth 5 -name passwd
./usr/bin/passwd
./etc/pam.d/passwd
4. Executing Commands on the Files Found by the Find Command.
In the example below, the find command calculates the md5sum of all the
files with the name MyCProgram.c (ignoring case). {} is replaced by the
current file name.
# find -iname "MyCProgram.c" -exec md5sum {} \;
d41d8cd98f00b204e9800998ecf8427e ./mycprogram.c
d41d8cd98f00b204e9800998ecf8427e ./backup/mycprogram.c
d41d8cd98f00b204e9800998ecf8427e ./backup/MyCProgram.c
d41d8cd98f00b204e9800998ecf8427e ./MyCProgram.c
5. Inverting the match.
Shows the files or directories whose name are not MyCProgram.c .Since
the maxdepth is 1, this will look only under current directory.
# find -maxdepth 1 -not -iname "MyCProgram.c"
./MybashProgram.sh
./create_sample_files.sh
./backup
./Program.c
6. Finding Files by its inode Number.
Every file has an unique inode number, using that we can identify that
file. Create two files with similar name. i.e one file with a space at
the end.
# touch "test-file-name"
# touch "test-file-name "
[Note: There is a space at the end]
# ls -1 test*
test-file-name
test-file-name
From the ls output, you cannot identify which file has the space at the
end. Using option -i, you can view the inode number of the file, which
will be different for these two files.
# ls -i1 test*
16187429 test-file-name
16187430 test-file-name
You can specify inode number on a find command as shown below. In this
example, find command renames a file using the inode number.
# find -inum 16187430 -exec mv {} new-test-file-name \;
# ls -i1 *test*
16187430 new-test-file-name
16187429 test-file-name
You can use this technique when you want to do some operation with the
files which are named poorly as shown in the example below. For example,
the file with name — file?.txt has a special character in it. If you try
to execute "rm file?.txt", all the following three files will get
removed. So, follow the steps below to delete only the "file?.txt" file.
# ls
file1.txt file2.txt file?.txt
Find the inode numbers of each file.
# ls -i1
804178 file1.txt
804179 file2.txt
804180 file?.txt
Use the inode number to remove the file that had special character in it
as shown below.
# find -inum 804180 -exec rm {} \;
# ls
file1.txt file2.txt
[Note: The file with name "file?.txt" is now removed]
7. Find file based on the File-Permissions
Following operations are possible.
* Find files that match exact permission
* Check whether the given permission matches, irrespective of other
permission bits
* Search by giving octal / symbolic representation
For this example, let us assume that the directory contains the
following files. Please note that the file-permissions on these files
are different.
# ls -l
total 0
-rwxrwxrwx 1 root root 0 2009-02-19 20:31 all_for_all
-rw-r--r-- 1 root root 0 2009-02-19 20:30 everybody_read
---------- 1 root root 0 2009-02-19 20:31 no_for_all
-rw------- 1 root root 0 2009-02-19 20:29 ordinary_file
-rw-r----- 1 root root 0 2009-02-19 20:27 others_can_also_read
----r----- 1 root root 0 2009-02-19 20:27 others_can_only_read
Find files which has read permission to group. Use the following command
to find all files that are readable by the world in your home directory,
irrespective of other permissions for that file.
# find . -perm -g=r -type f -exec ls -l {} \;
-rw-r--r-- 1 root root 0 2009-02-19 20:30 ./everybody_read
-rwxrwxrwx 1 root root 0 2009-02-19 20:31 ./all_for_all
----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read
-rw-r----- 1 root root 0 2009-02-19 20:27 ./others_can_also_read
Find files which has read permission only to group.
# find . -perm g=r -type f -exec ls -l {} \;
----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read
Find files which has read permission only to group [ search by octal ]
# find . -perm 040 -type f -exec ls -l {} \;
----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read
8. Find all empty files (zero byte file) in your home directory and it's
subdirectory
Most files of the following command output will be lock-files and place
holders created by other applications.
# find ~ -empty
List all the empty files only in your home directory.
# find . -maxdepth 1 -empty
List only the non-hidden empty files only in the current directory.
# find . -maxdepth 1 -empty -not -name ".*"
9. Finding the Top 5 Big Files
The following command will display the top 5 largest file in the current
directory and it's subdirectory. This may take a while to execute
depending on the total number of files the command has to process.
# find . -type f -exec ls -s {} \; | sort -n -r | head -5
10. Finding the Top 5 Small Files
Technique is same as finding the bigger files, but the only difference
the sort is ascending order.
# find . -type f -exec ls -s {} \; | sort -n | head -5
In the above command, most probably you will get to see only the ZERO
byte files ( empty files ). So, you can use the following command to
list the smaller files other than the ZERO byte files.
# find . -not -empty -type f -exec ls -s {} \; | sort -n | head -5
11. Find Files Based on file-type using option -type
Find only the socket files.
# find . -type s
Find all directories
# find . -type d
Find only the normal files
# find . -type f
Find all the hidden files
# find . -type f -name ".*"
Find all the hidden directories
# find -type d -name ".*"
12. Find files by comparing with the modification time of other file.
Show files which are modified after the specified file. The following
find command displays all the files that are created/modified after
ordinary_file.
# ls -lrt
total 0
-rw-r----- 1 root root 0 2009-02-19 20:27 others_can_also_read
----r----- 1 root root 0 2009-02-19 20:27 others_can_only_read
-rw------- 1 root root 0 2009-02-19 20:29 ordinary_file
-rw-r--r-- 1 root root 0 2009-02-19 20:30 everybody_read
-rwxrwxrwx 1 root root 0 2009-02-19 20:31 all_for_all
---------- 1 root root 0 2009-02-19 20:31 no_for_all
# find -newer ordinary_file
./everybody_read
./all_for_all
./no_for_all
13. Find Files by Size
Using the -size option you can find files by size.
Find files bigger than the given size
# find ~ -size +100M
Find files smaller than the given size
# find ~ -size -100M
Find files that matches the exact given size
# find ~ -size 100M
Note: – means less than the give size, + means more than the given size,
and no symbol means exact given size.
14. Remove big archive files using find command
The following command removes *.zip files that are over 100M.
# find / -type f -name *.zip -size +100M -exec rm -i {} \;"
Remove all *.tar file that are over 100M using the alias rm100m (Remove
100M). Use the similar concepts and create alias like rm1g, rm2g, rm5g
to remove file size greater than 1G, 2G and 5G respectively.
# alias rm100m="find / -type f -name *.tar -size +100M -exec rm -i {} \;"
# alias rm1g="find / -type f -name *.tar -size +1G -exec rm -i {} \;"
# alias rm2g="find / -type f -name *.tar -size +2G -exec rm -i {} \;"
# alias rm5g="find / -type f -name *.tar -size +5G -exec rm -i {} \;"
# rm100m
# rm1g
# rm2g
# rm5g
вторник, октомври 20, 2009
Първи учебен ден
Чувството е като в гора - професорите - пънове, колегите чворове тук
таме по някое цвете
Общото впечатление, че това задочното обучение за магистърска степен е
измикярска работа ... предполагам, че и за другите степени е така. За
мноооого кратко време се опитват да набутат много материал и в крайна
сметка зубриш нещо, за да вземеш някакви изпити някак си. Никой на сила
не може да ме нуачи на нещо, но 24 часа просто не стигат...
неделя, октомври 18, 2009
Windows 2008 Server
Случвало ми се е и преди да работя с Windows като сървърна OS, дори
веднъж гледах в Youtube как един хакер инсталира 2003, ама това е нищо
в сравнение с усещането да седнеш пред 2к8 с administrator
credentials... малко са общите неща с 2к3 и като идеология, и като
реализиция и като... де да знам scope of practice. Може да съм толкова
впечатлен защото моето journey с 2008 тепърва започва и още не съм успял да настъпя достатъчно "грабли", но поживем - увидем
вторник, октомври 13, 2009
Office stuffs
Уважаеми Колеги,
И... някои в офиса се радват, на други им е през ... Лично аз по-скоро съжалявам.... независимо какъв човек/колега/приятел е той е доста технически грамотен тип (за да вземеш CCIE със сигурност знаеш поне да четеш и да пишеш ) и фирмата като цяло (а с това и аз) губи.
Поне така мисля на този етап
Cisco expo 2009
Според програмата за експо-то май-струващите си лекции са:
0:25 - 11:10 ASR 9000 - Новата платформа на Cisco за Edge & Core. Архитектура, производителност и предоставяне на класически и нови услуги - Димитър Василев -- новия IOS XR и нещото предвидено да бъде доста по-евтината алтернатива на М960 си струва да се чуе/види
-------------------------------------
16:20 - 17:05 Мрежово управление - Ясен Спасов. Решения за управление на корпоративни мрежи. Разглежда продуктите за управление на мрежовите компоненти. Сигурността и елементите на Обединени Комуникации от Cisco
Задачка
add-нати в него.
Искаме нов AD domain (друг forest, друг domain) и искаме users от
старият домейн с техните си user profiles да се озоват в новият домейн.
Варианта с ръчно copy/rename на %USERPROFILE% и ръчно сетване на
permissions не е желан.
Интересно и занимателно...
понеделник, октомври 12, 2009
Уникално!
Малко на чужд език е написано, но пък тук става ясно за какво иде реч ако ми свършат нервите да чета превод от оригинала
А за този проект (The Divine Comedy) дори и не подозирах! (Общомедия)
петък, октомври 09, 2009
MPLS LAB
А аз съм голям бот... 2 часа за да го направя и ден и половина за да "разбера че работи"
вторник, септември 15, 2009
Installing VMware Tools on linux VM
Host - ESXi 4
Guest - debian linux (lenny)
uname -a
Linux vm-host 2.6.26-2-686 #1 SMP Wed Aug 19 06:06:52 UTC 2009 i686
GNU/Linux
vSphere Client - десен click в/у guest машината - Guest секцията -
Install/Upgrade VMware Tools
След това ssh или console до vmachine
mount /dev/cdrom /mnt/
cp VMwareTools-4.0.0-171294.tar.gz /tmp && cd /tmp
tar xfv VMwareTools-4.0.0-171294.tar.gz
apt-get install psmisc make gcc-4.1 linux-headers-2.6.26-2-686
cd vmware-tools-distrib/
./vmware-install.pl
------------------------
vmware-config-tools.pl (YES/ENTER докато не се откаже да пита)
Сменяме типът на NIC на виртуалната машина на оптимизираният за работа
във виртуална среда VMXNET3
Секс, рок'н рол и работещо дистанционно за да се наслади човек на
предните две.
сряда, септември 09, 2009
MS DHCP multinet server
Решението е superscope с няколко scope (за всеки интерфейс по един). Такава е схемата
The проблем:
Когато РС намиращо се във vlan 1 направи dhcp request полчуава IP от scope1 от мрежата отговаряща за vlan1
Когато същото РС се премести във vlan 2 и направи dhcp request получава същото IP от scope1 от мрежата отговаряща за vlan1... доакто не се изтрие lease в scope1... тогава след ipconfig /release && ipconfig /renew няма проблеми
Като цяло проблема се дължи на факта, че Windows-a стартира 1 dhcp-server процес и съответно чете само от една база (Systemroot\System32\Dhcp което си е Exchange Server JET storage engine) така, че при повторно запитване от същото РС (т.е. същият МАС адрес в broadcast dhcp discovery packet-a) е нормално сървъра да отговори с IP което му се намира в базата.
Май не е толкова проблем колкото неудобство защото надали ще има толкова РС-та щъкащи от един vlan на друг. Не съм сигурен как е при Linux dhcpd (най-вероятно ефектът ще е същият), но при cisco, mikrotik, HP (ProCurve 48xx) за всеки "scope" се стартира отделен dhcp процес и съответно се създава отделна база
сряда, септември 02, 2009
Да не забравя...
Key Features:
Integrated 10/100/1000 transceiver
Plug-and-Play compatible
Support IEEE 802.1q VLAN tagging
Transmit/Receive FIFO (32K) support
Support Wake-on-LAN (WoL) function and remote wake-up
Crossover Detection & Auto-Correction
16KB Jumbo Frame Support
За евтина е евтина и подържа vlans ама никой не казва, че става въпрос
единственно и само за 1 (един)
vlan... което е почти напълно излишно ... дали ще си пусна последният
порт на switch-а tagged или untagged e все тая като мога да имам само 1
логически интерфейс. Едиственното реално приложение което виждам на
подобно решение е ако имам N на брой "тъпи" switches м/у сървъра на
който съм сложил тази карта и core/access switch-a
сряда, август 12, 2009
Apache2+WebDAV on Debian
a2enmod dav_fs
a2enmod dav
a2enmod auth_digest (ако digest ще се ползва за auth)
apache2ctl -k restart
Към vhost.cfg се добавя:
Alias /webdav /path/to/vhost/DocumentRoot
<Location /webdav> DAV On
AuthType Digest
AuthName "webdav-auth"
AuthDigestFile /path/to/auth_file/.digest.passwd
Require valid-user
</Location>
или ако auth type ще е Basic :
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav-auth"
AuthDigestFile /path/to/auth_file/.basic.passwd
Require valid-user
< /Location>
apache2ctl -t
apache2ctl -k restart
С добавянето на users е малка греда... принципно се добавят така:
htdigest -c /path/to/auth_file/.digest.passwd webdav-auth webdav-user-name
htpasswd -c /path/to/auth_file/.basic.passwd webdav-user-name
Но пък после като тръгнат да установяват връзка сървъра не ми приема credentials, та решението е ако ще се вързват към webdav.server.com потребителите да се добавят така:
htdigest -c /path/to/auth_file/.digest.passwd webdav-auth webdav.server.com\\webdav-user-name
htpasswd -c /path/to/auth_file/.basic.passwd webdav.server.com\\webdav-user-name
И сме в играта...
cadaver http://webdav.server.com/webdav
Authentication required for webdav on server `webdav.server.com':
Username: eol
Password:
dav:/webdav/>
Ама под Windows големият пръчкогриз... каквото и да му подаваш, какъвто и да е auth type все тая ... все ритник в метатарзисите...
В крайна сметка се оказа, че XP/2003 включително и с SP2 не разбират от Basic Authentication Method ... този reg file оправя работа
Малко (доста) по-късно намерих един sexy trick с който аз да наритам XP-то по крупата, а именно докато се добавя с Add Network Place Wizard new location в полето connect to Internet or network address да се добави порта към който се закача webdav user-a сиреч: http://webdav.server.com/webdav:80 и слънцето свети, птичките пеят, а камилите решават диференциални уравнения наум
Следващото което трябва да се направи е интеграция на цялата тази дивотия с MS Active Directory ама за този клиент няма да я бъде... и без това това няма да разбере какво е това и с какво мезе върви
вторник, август 11, 2009
събота, август 08, 2009
MTU Cisco vs Juniper
... but remember that Cisco and Juniper also disagree
about what ping "size" means. Cisco means it to be the size of the
entire packet, Juniper means it to be the size of the ping payload, so
in the case of IPv4 you would need to subtract 28 (20 bytes IP, 8 bytes
ICMP) from the "size" param to match a Cisco side. Between that and the
mtu issue above, Cisco and Juniper have created a real mess for
inter-provider MTU negotiation.
Защо не го намерих това преди 2 часа :(
събота, август 01, 2009
четвъртък, юли 23, 2009
unusual...
Проблем 169418 претърпя развитие. Моля НЕ отговаряйте на тази поща. Тя е генерирана автоматично. --- Клиент: ХХХХ ХХХХХ ХХХХХ ООД URL: https://spnet.net/customer/cХХХХХ/ Постинг от: Кирил ХХХХХ Дата: 2009-07-22 23:08:16 Детайли: https://spnet.net/customer/cХХХХХ/?context_form_class=tt&context_form_action=update&key=169418 --- От ХХХХХ сигнализираха че неизвестни лица се опитват да проникнат в офиса на Шипченски проход. Админа е уведомен.Оставих му и координати на дежурния диспечър на охранителната фирма в съседство[/quote]
И аз работя в ISP ама такова нещо не съм очаквал ... доставчика да ми се обади да ме уведоми, че някой разбива офиса!!!
Хвала на такъв support
вторник, юни 16, 2009
Word of the Day
www.youtube.com как си се напил.
Жоро & K0b3
сряда, юни 10, 2009
MS Windows XP pptp active sessions
вторник, юни 02, 2009
Gadgets
Да сумаризирам:
Нещата които ме дразнят:
1. Голям донгъл който ми пречи да прибера латопа без да го извадя и трябва да му търся отделно сигурно и защитено място (2do да проверя продават ли се резервни)
2. Прекалено силно "скърца" scroll-a когато е изключено "turbo"-то
3. Нестандартният накрайник на USB charge cabel-а (mouse plug side)
Нещата които ми харесват:
1. Голяма е
2. С "ортопедична" форма
3. Достатъчен брой настройваеми бутони (които не мога да си настроя заради проблем с инсталцията на софтуера ама това е в моят телевизор)
4. Wireless
5. Отдавна искам такава
понеделник, юни 01, 2009
събота, май 30, 2009
mantis MySQL troubles
Database query failed. Error received from database was #145: Table './dbname/mantis_bug_history_table' is marked as crashed and should be repaired for the query: INSERT INTO mantis_bug_history_table
( user_id, bug_id, date_modified, type, old_value, new_value, field_name )
VALUES
( '1', '22044', '2009-05-30 10:02:06', '1', '', '', '' ).
Голяма греда като за добро утро...
mysqlcheck -u root -p dbname дава че всичко е ОК, но пък mysql> SELECT COUNT(*)
-> FROM mantis_bug_monitor_table
-> WHERE user_id='3' AND bug_id='21975';
ERROR 145 (HY000): Table './dbname/mantis_bug_monitor_table' is marked as crashed and should be repaired ... след като той така тогава аз така:
mysqlcheck --auto-repair -u root -p dbname
Enter password:
dbname.mantis_bug_history_table
error : Table './dbname/mantis_bug_history_table' is marked as crashed and should be repaired
Repairing tables
dbname.mantis_bug_history_table
warning : Number of rows changed from 318190 to 318192
status : OK
и после пак греда:
mysqldump --create-options --add-drop-table --no-data --default-character-set=utf8 dbname -u root -p > dbname-nodata.sql
Enter password:
mysqldump: Got error: 145: Table './dbname/mantis_bug_history_table' is marked as crashed and should be repaired when using LOCK TABLES
Ех да умреш от сол в кофите с боклук дано ...
~/var/lib/mysql/dbname# myisamchk -cs *.MYI
myisamchk: MyISAM file mantis_bug_monitor_table.MYI
myisamchk: warning: Table is marked as crashed
myisamchk: warning: Size of datafile is: 252999 Should be: 252990
MyISAM-table 'mantis_bug_monitor_table.MYI' is usable but should be fixed
myisamchk: MyISAM file mantis_user_table.MYI
myisamchk: warning: 1 client is using or hasn't closed the table properly
MyISAM-table 'mantis_user_table.MYI' is usable but should be fixed
В крайна сметка възможно най-лесното решение се оказа:
mysqlcheck --auto-repair -u root -p dbname mantis_bug_history_table ... това беше ключа за палатката... да упомена изрично таблица която искам да ми repair-не
четвъртък, май 14, 2009
The best ways to learn
1. Work with others. Share screen sessions and watch how others work—you'll see new approaches to doing things. You may need to swallow your pride and let other people drive, but often you can learn a lot.
2. Read the man pages. Seriously; reading man pages, even on commands you know like the back of your hand, can provide amazing insights. For example, did you know you can do network programming with awk?
3. Solve problems. As the system administrator, you are always solving problems whether they are created by you or by others. This is called experience, and experience makes you better and more efficient."
петък, април 10, 2009
Windows batch scripting
Windows NT 4.0 introduced several extensions to cmd.exe. Use these extensions to ensure that the HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions registry entry is set to 1. The following table lists the most commonly used commands.
| call <batch file> | Calls one batch file from inside another. The current batch file's execution is suspended until the called batch file completes. |
| exit | Stops a batch file from running. If one batch file calls another, exit stops both batch files. |
| findstr <string> <filename(s)> | Finds a string in a file. This powerful command has several parameters. |
| for | Standard for loop. The commandfor /L %n IN (1,1,10) DO @ECHO %n Would print 1 to 10. |
| goto <label> | Causes a program's execution to skip to a given point. A colon must precede the label name. For example,goto label1 |
| if <condition> .. | The if statement has a lot of functionality. Common uses include the following.if /i <string1> <compare> <string2> <command> The /i parameter makes the comparison case-insensitive. The comparison can be one of the following.EQU—equal NEQ—not equal LSS—less than LEQ—less than or equal GTR—greater than GEQ—greater than or equal if errorlevel |
| rem <string> | A comment. |
| start <window title> <command> | Starts a new command session and runs a given command. Unlike with the call command, the current batch file's execution continues. |
The Microsoft Windows NT Resource Kit includes some additional utilities that you might find useful.
понеделник, март 16, 2009
NS2300N II
http://www.avsforum.com/avs-vb/showthread.php?t=859675&page=7
Това което най-много ме дразнеше в това устройство беше убийственно бавната скорост когато копирам нещо от една "шерната" папка в другата... може да отнесе и дни ако content-a е по-голям защото не го правилокално ами "завърта" трафика през машина през която съм го отворил.
В горният форум някакъв тип преправил оригиналният iTunes plug-in на Promise и след като го инсталирам вече имам истинска ash console през телнет
C:\Documents and Settings\eol>telnet nas 2380
NS2300N R1.0 A1 (Version 01.03.0000.07) - Promise Technology, INC.
nas login: engmode
Password:hawk201
BusyBox v1.00-rc2 (2006.11.07-01:55+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
engmode is allowed to login.
[engmode@nas]# help
Built-in commands:
-------------------
. : alias bg break cd chdir command continue eval exec exit export
false fg getopts hash help jobs kill let local pwd read readonly
return set shift times trap true type ulimit umask unalias unset
wait [ ash basename bunzip2 busybox bzcat cat chgrp chmod chroot
chvt clear cmp cp cut dd deallocvt df dirname dmesg du echo egrep
env expr false fgrep free getty grep gunzip gzip head hostname
id ifconfig insmod install kill killall ln loadkmap logger login
ls lsmod mkdir mknod mkswap more mv netstat nslookup openvt passwd
pidof ping ps pwd reset rm rmdir rmmod route run-parts sed sh
sleep sort start-stop-daemon strings stty sulogin swapoff swapon
sync tail tar tee test time top touch tr true tty uname uniq
unzip uptime usleep vi vlock wc whoami xargs yes zcat
[engmode@nas]#
Здраве, бобър и console root access - какво повече му трябва на човек за пълно щастие?!
Остава да си сложа това media streaming и това за BitTorrent client и съм шампион
петък, март 13, 2009
gadgets
Предавател + адаптер за 200V; кабелче за връзка м/у предавателя и лаптопа (в моят случай); самите слушалки + 2 rechargeable батерии ААА 1.5V
Това което ми хареса в тях:
1.Auto tuning button за range в който работят слушалките (863MHz-865Mhz)
2. Приличен обхват - по целият етаж на офиса + етаж отгоре/отдолу - никакви драми
3. Звукът е много приличен
Това което не ми хареса:
1. Нямат индикатор на батерията - ако съм почнел да чувам/усещам
интерференции значи батериите били "на малко"
2. Малко трудно се наместват на предавателя който го играе и зарядно и стойка за слушалките
3. За да стигна до батериите дърпам и вадя меката част на наушника която е хваната за слушалката с някакви пластмасови щифтчета които не вярвам да издържат на много "дърпания"
4. Управлението за сила на звука, ON/OFF, scan/tuning и balance което е извадено на десният рhone не е много удобно, но предполагам е въпрос на навик
вторник, март 03, 2009
Виц-реалност
и единия пита:- Сокерес ту ю?
Другия отговаря:- Шукар съм, тенкю.
четвъртък, февруари 26, 2009
Национална Образователна Мрежа
неделя, февруари 22, 2009
Философски размисли по никое време
А Животът всъщност е толкова простичък само дето всички сме станали такива имби да го правим сложен и труден.
Цялата работа започна с това, че върнах Алекс у тях към 21.45 след като 30 мин търсихме ключовете които мислеше, че е загубил някъде в къщи... След това майка му казала да ми каже да ги връщам вдо 20.0 или няма да го взимам аз пък му казах да й каже ако има нещо да казва да ми звънне по телефона. Звънна ми аз и казах, че ще го карам понеделник на училище, а няма да го връщам в неделя вечерта както и до сега и затворих (грубо и тъпо). Тя пак звънна спомена за Британиката и за това, че съм имал в петък ангажименти към сина си; взехме да викаме вместо да говорим; аз я нарекох патка, тя мен идиот и те така...
Project of the Day
Word of the Day
Казано от един колега по повод друг колега, който тръгна да "храни" един от upstream дсотавчиците ни.
Първоначално ми хареса словосъчетанието, но след кратък google research се оказа, че това е доста използван термин предимно в т.н. corporate language когато няма какво да кажеш, но трябва да звучиш сериозно и тежко като заврян зет пред тъща.
Няколко показателни примера тук и тук.
сряда, януари 21, 2009
apache2 troubles
Starting web server (apache2)... failed!
strace -ff -o /tmp/apache.strace /etc/init.d/apache2 start && nano /tmp/apache.strace
и ...
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
та това се решавало така:
# touch /etc/ld.so.nohwcap
Невероятно но факт...
четвъртък, януари 01, 2009
Mantis upgrade
Самият upgrade мина на два етапа : от ver 0.19 към ver 1.0.3 и от ver 1.0.3 към ver 1.16 (последният stable). Съгласно тази инструкция всико мина ОК.
Основният проблем беше с нещата писани на кирилица в смият Мантис... страта версия се оказа, че използва по дефолт Latin1 character set докато новата UTF8. Малко ровене из wiki-то на mantis попаднах на това което естественно не сработи и цял следобед трябваше да ровичкам и да псувам докато оправя бозата... в крайна сметка решението мо конвертирането от Latin1 към UTF8 e:
mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset dbname > dump.sql
sed -i "s/latin1/utf8/g" dump.sql
mysql --user=username --password=password --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_ge
mysql --user=username --password=password --default-character-set=utf8 dbname < dump.sql
P.S. в тон с текущите праздници да си отбележа:
като цяло от предната година не съм доволен въпреки, че успях да се сдобия с някои gadgets (SmartStore NAS, Assus eeePC 7'', Privileg X6 dualSIM, Toyota Yaris, PSP 2004) и да изкарам/похарча известна сума пари... Можеше да обърна повече внимание на работата, повече на "учението" и сертифицирането, повече на образованието, повече на здравето си и на близките и приятелите си... ще се опитам за тази година да го направя това и ще започна като се запиша на английски... и тръгвам на зъболекар
събота, декември 06, 2008
House M.D.
Първите неща в ТоДо листа ми трябва да са :
1.учене и четене в областта в която работя
2. курсове по английски и то не курсове ами трябва да го науча този език
3. Да си оправя зъбите и да видя какво може да се направи за текущото ми здравословно състояние
четвъртък, ноември 27, 2008
SmartStore алтернатива
Спрямо предното има няколко същественни недостатъка (както и сходни такива)
1. WEB интерфейса му е много по-дървен... много по-неинтуитивен, много по-нефункционален
2. Настроено е by default за DHCP което е глупост според мен... нямаше да строша толкова време ако изрично бяха споменали, че няма пре-дефинирани IP-та ами само по DHCP. В manual-a просто казват: отворете browser-a и напишете mybookworld ...
3. Идва в комплект с някакъв пре-модифициран MioNET software който е hamachi-Like технология което е удбоство за home user или soho mobile такъв
4. Липсва възможност за задаване на Quota за конкретен потребител
5. Липсва "everyone" user или anonymous
6. и още разни други работи ама не се сещам в момента ... като цяло става за home use за small busines - с мнооого уговорки
неделя, ноември 23, 2008
SmartStore NS2300N
А да ... и има свойството да забива при прекалено голям брой пакети засилени към него.Нещо като Ping Of Dead при Windows 98 само дето отдолу трябва а работи Linux и този фючър беше актуален преди 10 години.
Иначе сред неоспоримите му плюсове са: лесният user management, quota, user files backup & file synchronization and device configuration - направено като за х-американци иначе си има Windows/*NIX/Macintosh/FTP sharing and Print Server -- голям праз! 2 Диска по 1ТВ са ми 260$; цялата играчка струва около 550$ което ще рече, че съм дал 300$ за РС с CPU MPC 8313E и Gigabit Ethernet Card 10/100/1000 Mbps... направо сделката на годината... въобще тази година сериозно прекалих с неудачнит е покупки (Ярис-а, Холукс-а, този НАС и въобще ме е страх да си купя нещо!)
вторник, ноември 18, 2008
Linux - P2V migration
вторник, ноември 04, 2008
...
Наньо Нанев пише:
October 31st, 2008 @ 23:59
Взето от блог-а на Йовко
понеделник, ноември 03, 2008
Ubuntu, SELinux and Apparmor
Server ми изпили нервите докато си оправя DNS-ите защото някой писал
недомислици по контролните панели на регистрантите... като дремна ще го
доопиша

