"Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена." from LUG-BG mailing-list
вторник, декември 21, 2010
Daily wisdom
петък, декември 17, 2010
DNS balance for service
Един вариантите е да инициират сесия към различно IP като най-лесният начин (с gambling елементи) е round-robin/cycling DNS balancer
Като цяло идеята, е че ще се опитват да правят сесия на FQDN не на IP и тогава ДНС-а ще им отговаря с различно IP като се разчита, че DNS да върне IP което вече се използва е малка, а дори и да се случи един re-dial ще оправи нещата
named -v
BIND 9.4.2-P2
cat /proc/version
Linux version 2.6.24-23-server (buildd@crested) (gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3)) #1 SMP Wed Apr 1 22:14:30 UTC 2009
В /etc/bind/named.conf.option
; Искам да ми се връща различно IP за А запис като принципа е цикличен
; т.е. при първо запитва Bind-a дава първото IP, при втори - 2рото и т.н
; като изчерпи броя на заделените IP започва пак от първото
rrset-order {type A name "pptp.domain.com" order cyclic;};
в /etc/bind/pri/domain.com zone file :
; format is
;name ttl class rr ip
;joe IN A 192.168.254.3
pptp 1s IN A 192.168.1.50
pptp 1s IN A 192.168.1.51
pptp 1s IN A 192.168.1.52
pptp 1s IN A 192.168.1.53
pptp 1s IN A 192.168.1.54
pptp 1s IN A 192.168.1.55
pptp 1s IN A 192.168.1.56
pptp 1s IN A 192.168.1.57
pptp 1s IN A 192.168.1.58
pptp 1s IN A 192.168.1.59
понеделник, декември 06, 2010
Scheduled Skype.exe start/stop
Вариант 1:
start:
at \\polarbear 9:00 /every:monday,tuesday,wednesday,thursday,friday "C:\Program Files\Skype\Phone\Skype.exe"
stop:
at \\polarbear 19:00 /every:monday,tuesday,wednesday,thursday,friday "taskkill /im skype* /t /f"
Вариант 2:
SCHTASKS /Create /SC DAILY /TN Skype /TR "C:\Program Files\Skype\Phone\Skype.exe" /ST 09:00 /ET 19:00 /K
На теория трябва да работи...
четвъртък, декември 02, 2010
default route backup
При горната картинка Remote Office комуникира с Central Office през L2 свързаност. Целта е когато падне основната връзка трафика да се изнася през L3 VPN закачен за dedicated за това машина с минимална (сиреч никаква) намеса на потребителите в Remote Office
Най-лесният начин ми се стори - смяна на default route на R2 към RAS-a при отпадане на основната връзка. Отпадането се трак-ва с ip sla (и в двата края рутерите са cisco)
ip sla monitor 1 # cisco-то ще ping-вa 192.168.61.1 #със source р2р IP - да съм сигурен, защото 192.168.61.1 може да се вижда
#от друго място (през VPN-a примерно) type echo protocol ipIcmpEcho 192.168.61.1 source-ipaddr 192.168.61.2 #и ще чака 1000ms да му отговори нещото отсреща timeout 1000 tag CHANGE-DEFAULT-ROUTE # на всеки 2 sec ще прави по 1 ping frequency 2 exit # schedule-вам цялата анджиклЪмЪ да се случва non-stop и да започне сега ip sla monitor schedule 1 life forever start-time now # подтвърждавам reachability нa 192.168.61.1 track 10 rtr 1 reachability # правя reverse triger т.е ako track 10 is not true then mark "event" track 11 list boolean and object 10 not # apply this default route if "event" occur (track 11 == true if track 10 <> true) ip route 0.0.0.0 0.0.0.0 192.168.64.152 track 11
Когато primary връзката се възтанови, track 10 == true; track 11 == false 0.0.0.0/0 via 192.168.64.152 не се инсталира в рутинг таблицата и трафика си тръгва през prez 192.168.61.1
четвъртък, ноември 25, 2010
Задача
Мама е по-голяма от сина си с 21 години. След 6 години ще бъде 5 пъти по-голяма от него. Пита се къде е тате?
четвъртък, ноември 11, 2010
What is my OS
Linux:
uname -a -- kernel version, 32/64 bits
lsb_release -a
cat /etc/*issue
cat /etc/*-release
cat /etc/*_version
cat /proc/version
*BSD:
uname -a
Solaris
showrev -a
HP-UX:
uname -r -> това дава release identifier и после по този release identifier тук примерно
IOS/XOS (Extreme Networks) :
show ver
NT based Windows (7/Vista/2003/XP/2000/NT4):
Run/cmd -> msinfo32
Run/cmd -> winver
Run/cmd systeminfo | find /i "System Type:"
сряда, ноември 10, 2010
понеделник, ноември 01, 2010
Disable Automatic Windows Update
Affective device : FS Amilo PI3525
Software : Windows 7 Pro ++++
Problem: на част от клавиатурата (частта където е NUM PAD-a) при не-натиснат fn клавиш работи като num pad, а при настиснат такъв работи като както си трябва
сиреч:
- при не-задействан fn и натискането на бутона k се отпечатва 2
- при задействан fn и натискането на бутона k се отпечатва k
При този System Restore виждах, че разликата м/у сегашното и настоящето състояние е наличието на един или няколко Security/Critical Updates
Първо спрях през Control Panel-a автоматичните ъпдейти - не се получи... продължиха Security/Critical Updates които най-вероятно ми трошат профила и клавиатурата - профила защото се логвам на машината (паролата ми съдържа част от символите в района на num pad-a) , а след зареждането профила ми тогава почват да се печат дивотиите
Омръзна ми на 4-5 дни да правя system restore и исках бързо и окончателно решение - windows-ките ъпдейте въобще не ме интересуват
Мислех да null route-на мрежите отговарящи за Windows Update, но ... много са защото се оказа, че тези тарикати за да затруднят настройките на firewalls на всичките сериозни win admins (най-вероятно !) сменят А записите за ъпдейт сървърите си и те се въртят м/у
64.4.*.*
64.158.*.*
65.59.*.*
67.72.*.*
207.46.*.*
208.172.*.*
Ако го направя ще убия и ценни неща като download.windows.com, msn.com, technet.microsoft.com etc
в host file да ги опиша да сочат към 127.0.0.1 или пък някакви подобни DNS магарии пак не става - освен всичко останало ако съм в мрежа/доставчик който работи с Akamai на запитване за подобен ресур ще получа нещо като :
nslookup download.windowsupdate.com
Non-authoritative answer:
Name: a26.ms.akamai.net
Addresses: 85.14.5.170
85.14.5.169
Aliases: download.windowsupdate.com
download.windowsupdate.nsatc.net
main.dl.wu.akadns.net
intl.dl.wu.akadns.net
dl.wu.ms.geo.akadns.net
т.е. списъкът с Aliases прави настройката на firewall-a базиран на DN/DNS rules трудна, неблагодарна и най-вероятно неработеща схема
Това което ми се струва желязно работещо и отговарящо на изискванията (никакви ъпдейти които да ми трошат клавиатурата и/или да губя време да ги гледам кой от всичките ъпдейти го прави това - хич не ми дреме, че операционната ми система е non-updated)
1. Варианта net stop wuaserv ще работи само до първия рестарт така че: sc config wuaserv start=disabled (сигурно и с netsh ще да стане нещото ама някой гуру да го каже как)
2. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\ --> new DWORD NoAutoUpdate 0=AU enable 1=AU disable
3.Най-чистият и елегантен начин : gpedit.msc > Computer Configuration > Administrative Templates > Windows Components > Windows Update > Specify intranet Microsoft update service location > Enabled http://localhost
Да се ъпдейтва сега... и да страда
N.B. Оказа се , че от списъка с ъпдейти ако маркирам конкретен ъпдейт и след десен клик в/у него избира Hide той няма да влезне в скеджула за инсталация повече и съответно няма да се инсталира
сряда, октомври 13, 2010
вторник, септември 21, 2010
неделя, септември 12, 2010
Monthly wisdom
Yesterday is history.Tomorrow is mystery. Today is a gift!
събота, август 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 е споменат в правилото), но трафика
адресиран "от вън" към този МАС си е ОК. Може да се използва в при
зададено условие: на всички е забранено, освен на тези на които изрично
им е разрешено.

