вторник, май 01, 2012

Windows files copy


RoboCopy (part of Resource Kit 2003) - console only, multithread mode with /MT:nn (1< n >128) - very good tool - mirror option, logging, retry N and so one. Full list of avialable options HERE
RichCopy - simple but with GUI. Nothing special, just doing his job well
vXCopy - simple and light. Max threads = 15
native utility xcopy - /c (continue if error) /z (restartable mode via Network), ACL/NFTS permissions aware- sux coz only 1 thread. Good for scripting
copy - native for cmd shell. Missing (or tricky)  ability to copy entire subdirectories

неделя, април 29, 2012

Apache with LDAP (MS AD) auth*

a2enmod authnz_ldap
a2enmod ldap

cat /etc/apache2/sites-enabled/site
<Location /site/secure>
AuthBasicProvider ldap
AuthType Basic
AuthzLdapAuthoritative off
AuthName "LDAP/ActiveDirectory Authentication"
AuthLDAPBindDN ldapbind@domain.ltd
AuthLDAPBindPassword QXBPzp5yVo1Ed3
AuthLDAPURL
"ldap://ldap.domain.ltd:3268/DC=domain,DC=ltd?sAMAccountName?sub?(objectClass=*)" NONE
# ldap://ldap.domain.ltd:3268 -- in case ldap.domain.ltd is a GlobalCatalog
# ldap://ldap.domain.ltd:389 -- in case ldap.domain.ltd is not
Require valid-user
Require ldap-group CN=ldap-web-users,CN=Users,DC=domain,DC=ltd
</Location>

<Directory /var/www/site>
Options ExecCGI FollowSymLinks
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

apache2ctl restart

Лайк а баус! :)

петък, април 27, 2012

daily wisdom

Мис Тик изсумтя:
    — Да кажем, че този съвет е безценен. Слушаш ли?
    — Да.
    — Добре. Значи… ако вярваш в себе си…
    — Да?
    — …и ако държиш на мечтите си…
    — Да?
    — …и ако следваш звездата си…
    — Да?
    — …пак ще те победят хора, използвали _тяхното_ време да работят здраво и да учат неща и които не са били толкова мързеливи.

Дренио Волен Народ, Тери Пратчет

сряда, март 28, 2012

понеделник, март 05, 2012

debian way

 /etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...
Connection to server is lost.


Сети се кога да ме предупредиш нали ?!

четвъртък, март 01, 2012

Subject based redirect rule via postfix

Какво търсим: възможност да редиректваме писма на базата определно съдържание в Subject-a.
Какво имаме: postfix MTA + целият нужен и ненужен хлам от допълнителни сървиси (spamassassin,dovecot, amavis, etc )
В /etc/postfix/main.cf разрешаваме header check-a (нейде в началото е добре да живее)
header_checks = regexp:/etc/postfix/header_checks
Съдържанието на /etc/postfix/header_checks е:
/^Subject: Enlargment*/ REDIRECT lubim_kolega@domain.com   [на един ред трябва да е - порастна ми косата докато го схвана защо се чупи]
/etc/init.d/postfix restart
P.S за пореден път обещавам, че някой ден ще ги изчета всичките неща от този линк
http://www.postfix.org/header_checks.5.html
All credits to brata - аз не мислех, че толкова лесно може да стане

неделя, февруари 19, 2012

Toyota Yaris payments II

За периода 10.01.2010 до 01.01.2012 т.е. 721 дни след първото засичане резултатите са :
Общо гориво А95 (л)    2044,192
Общо цена (лв)    4630,8
Средна цена за литър    2,265344938
Най-скъпият бензин      2.68 лв/л (на 08.03.2011)
Най-евтиният бензин     1.95 лв/л (на 01.02.2010)
Общо километри    22803,12
Среден разход на гориво    8,964527661
Средно км/ден    31,671
Средно лв/ден за гориво    6,431666667
Средно лв/ден за Yaris-a    20,54277778  (включая вноската за заема разбита "за ден" + пълно каско, маркировки, прочие. В тази сума не влизат "подържащи" разходи като филтри, винетки, масло, гуми и т.н. - така или иначе си присъстват за всяка кола)




петък, февруари 10, 2012

Notepad++ Seek&Replace

Convert list of IP addresses to valid IOS ACL with Notepad++
0. Start with:
1.1.1.1
2.2.2.2
3.3.3.3
...........
1. Open IPaddr.txt with Notepad++
2. CTRL+R; radiobutton Regular expression ON
Find what: ^(.*)$ 
Replace with: deny ip host
Hit Replace All
3. radiobutton Extended (\n,\r,\t) ON

Find what: \n
Replace with: \any
 Hit Replace All
4. Finish at
deny ip host 1.1.1.1 any
deny ip host 2.2.2.2 any
deny ip host 3.3.3.3 any
...........

неделя, февруари 05, 2012

Топ 100 sci-fi произведения

Според National Public Radio 600 000 души са гласували и се е оформило това
Един полезен гид като за начало на пътешествието в жанра : 

понеделник, януари 23, 2012

Език свещен на моите деди

БЪЛГАРСКИЯТ ЕЗИК

Език свещен на моите деди
език на мъки, стонове вековни,
...

Разбра ли някой колко хубост, мощ
се крий в речта ти гъвкава, звънлива -
от руйни тонове какъв разкош,
какъв размах и изразитост жива?

...

Като за пример ето една успешно разконспирирана (и добре разяснена) хакерска атака
Копие на блог-поста:

Агенция "Фокус" днес публикува коментар на изследване на "Сова-Харис" със следното заглавие:
"Сова Харис": Около 38% от хората споделят удовлетвореност от дейността на правителството на ГЕРБ
Човешкият мозък не забелязва детайлите, а отчита само ключовите думи. Ако ви кажа "не изпадайте в паника" вие ще изпаднете в паника, докато ако ви кажа "запазете спокойствие", ще останете спокойни. По същия начин това заглавие внушава, че хората са доволни от ГЕРБ. Никой няма да обърне внимание, че доволни са едва 38%, докато недоволните са 49%. За да не стане "грешка" при сравняването на цифрите (все пак няма как да не ги публикуват), недоволните са разделени на две групи - малко недоволни (30%) и съвсем недоволни (19%).

Но това не е било достатъчно. Тези 38% в текста стават "близо 40% доволни" (внушението е "цели 40%"), докато недоволните са описани с думи ("около една втора"), а не с цифри (50%). Мозъкът не може да сравнява цифри, които са предадени с думи, така че тези "около една втора" минават незабелязано при диагонален прочит на статията. Ако бяха в цифри, веднага щеше да се забележи, че недоволните са повече от доволните.

Браво на автора от агенцията, справил се е перфектно с поставената му задача.

сряда, януари 11, 2012

HTC HD2

Като цяло една от добрите покупки. Стандартно дойде с Windows ME 6.1, но XDA помогнаха да го поправя това. Най-доброто устройство за момента на покупката (около 3м  след официалният анонс) и според мен все още продължава да е в ТОП10. Като цяло е перфектният бизнес телефон - голям екран (4.3''), MS Office mobile, Exchange integration, VPN, HTC Sence и няколко допълнителни програмчета които вършат страхотна работа като например приложението което сканира визитни картички и добавя съдържанието към контактите директно (такова за Андроид все още не съм намерил.)

петък, януари 06, 2012

Switch alerts

Too many undersized/giant packets - A device connected to this port is transmitting packets shorter than 64 bytes or longer than 1518 bytes (longer than 1522 bytes if tagged) with valid CRCs (unlike runts,which have invalid CRCs).
Excessive jabbering  - A device connected to this port is incessantly transmitting packets (jabbering).
Excessive CRC/ alignment errors - A high percentage of data errors has been detected on this port. 
Possible causes include:
      Faulty cabling or invalid topology
      Duplex mismatch (full-duplex configured on one end of the link and half-duplex configured on the other)
      A malfunctioning NIC, NIC driver, or transceiver
Excessive late collisions - Collisions detected after transmitting 64 bytes have been detected on this port. 
Possible causes include:
      An overextended LAN topology
      Duplex mismatch (full-duplex configured on one end of the link and half-duplex configured on the other)
      A misconfigured or faulty device connected to the port
High collision or drop rate  - A large number of collisions or packet drops have occurred on the port. 
Possible causes include:
      An extremely high level of traffic on the port
      Duplex mismatch
      A misconfigured or malfunctioning NIC or transceiver on a device connected to this port
      A topology loop in the network
Excessive broadcasts  - An extremely high percentage of broadcasts was received on this port. This degrades the performance of all devices connected to the port. 
Possible causes include:
      A network topology loop (the usual cause)
     A malfunctioning device, NIC, NIC driver, or software package

cisco IOS netstat

Recently I have been discover another nice command in cisco IOS
sh control-plane  host open-ports
Output is similar of well-known and highly usable netstat -n
This command is available for "software" cisco routers like 1800,1900,2800,3800,7200 series
 

петък, декември 23, 2011

The Client

(Между другото, един съвет към всеки, който смята да ми е колега, било то дори конкурент. Компютри много, истински компютърджии малко – полето за сътрудничество е дори повече, отколкото за конкуренция… Не се опитвайте да “излъжете” клиента да сключи договор с вас – повярвайте ми, не работи. Или работи твърде кратко време. Ако той има реална нужда от компютърна поддръжка и работите съвестно и умело, той ще е щастлив от вас и ще ви плаща с удоволствие, дори ако е позакъсал финансово. Ако няма реална нужда от вас, или не се справяте добре, сътрудничеството ви няма да го бъде, дори ако той не знае какво да прави с парите си.

Клиентът е рицарят, на който вие сте оръженосци – падне ли в боя, зле и за вас. Помагайте му, крепете го, помагайте му да отбие насочените към него удари, дори ги поемайте, ако той не може. Истинският рицар няма да го забрави, и в труден момент ще ви дойде на помощ.)

събота, ноември 19, 2011

Free DNS servers

Free Public DNS Server

=> Service provider: Google
Google public dns server IP address:

* 8.8.8.8
* 8.8.4.4

=> Service provider:Dnsadvantage
Dnsadvantage free dns server list:
* 156.154.70.1
* 156.154.71.1

=> Service provider:OpenDNS
OpenDNS free dns server list / IP address:
* 208.67.222.222
* 208.67.220.220

=> Service provider:Norton
Norton free dns server list / IP address:
* 198.153.192.1
* 198.153.194.1

=> Service provider: Verizon
Public Name server IP address:
* 4.2.2.1
* 4.2.2.2
* 4.2.2.3
* 4.2.2.4
* 4.2.2.5
* 4.2.2.6

=> Service provider: ScrubIt
Public dns server address:
* 67.138.54.100
* 207.225.209.66

събота, ноември 12, 2011

Cisco PPTP server - basic user management

Cisco router act as a PPTP server and provide remote conectivity to office resources
I. Show currently active pptp connections and see

1. remote address of dialed client

ar1.SOF10#sh vpdn tunnel pptp
PPTP Tunnel Information Total tunnels 1 sessions 1

LocID State Remote Address Port Sessions VPDN Group
698 estabd 85.187.36.7 53720 1 VPN

2. Username of remote dialer and localy assigned Virtual interface as well

ar1.SOF10#sh vpdn session pptp
PPTP Session Information Total tunnels 1 sessions 1
LocID RemID TunID Intf Username State Last Chg Uniq ID
694 53720 698 Vi5 ipopov estabd 00:09:30 713
Local Interface: Vi5 (Virtual-Access5)

3. IP address assigned to remote user
ar1.SOF10#sh ip rou conn | i Virtual-Access5
C 194.12.234.22/32 is directly connected, Virtual-Access5

II. Disconect particular user

ar1.SOF10#clear vpdn tunnel pptp id 698

сряда, ноември 09, 2011

Last resort in troubleshooting guide

...Ако нищо от предишните препоръки не помага:
1. Отидете до най-близкият Multi-Mагазин (тип Била, Метро, Лидл, Кауфланд)
2. Купете 30 кутийки кибрит
3. Изстържете внимателно барута от клечката кибрит (главичката на клечката която е с различен цвят спрямо основата)
4. Натъпчете така изстърганият барут в ушите си
5. Ударете си главата във стената по начин предизвикващ възпламенителна искра
6. Ако все още нещо се случва (около вас) повторете точка 1-6 до постигане на траен краен резултат

четвъртък, ноември 03, 2011

Basic DNS and Mail Troubleshooting

За следващото обучение/презентация

DNS Troubleshooting

DNS server - server who is answering on DNS queries
DNS query - major function: convert IP-to-NAME/NAME-to-IP
FQDN - Fully Qualified Domain Name (name=mail fqdn=mail.evolink.com)

DNS server types:
    * Master/Primary - server which gets its zone data from a local source (zone/domain files are stored on a local storage)
    * Secondary/Slave - hich gets its zone/domain data from an external source (from master for example)
    * Cache - jsut caching results of DNS queries for a pre-defined time interval (depends of TTL)
    * Forwarder - just redirect dns queries from client to another DNS
    * SplitHorizont Server - ACL view/Geographic Mapping (Google DNS )
---------------------------------------------------------------------------------------------
    * Iterative - only answer information they know or have cached (Master/Slave/Cache)
    * Recursive - know how and who to ask for information (Master/Slave/Forwarder)

DNS types of record

    * Host (A) -- This is the basic mapping of IP address to host name, the essential component for any domain name.
    * Canonical Name (CNAME) -- This is an alias for your domain. Anyone accessing that alias will be automatically directed to the server indicated in the A record.
    * Mail Exchanger (MX) -- This maps e-mail traffic to a specific server. It could indicate another host name or an IP.
    * Name Server (NS) -- This contains the name server information for the zone. Server will let other DNS servers know that yours is the ultimate authority (SOA) for your domain when caching lookup information on your domain from other DNS servers around the world.
    * Start of Authority (SOA) -- This is one larger record at the beginning of every zone file with the primary name server for the zone and some other information.
    * Pointer record (PTR) -- Responsible for reverse DNS resolution (rDNS) - determination of a domain name that is associated with a given IP address

Durty (but not right) way to check Is DNS server working

telnet DNS.IP.ADD.RESS 53
nmap  DNS.IP.ADD.RESS

Ask specific server

dig @DNS.IP.ADD.RESS mail.evolink.com

nslookup
    server DNS.IP.ADD.RESS
    mail.evolink.com

Ask specific server for certain type of RR

dig @DNS.IP.ADD.RESS -t [NS/MX/A/CNAME/TXT/...ALL] mail.evolink.com

nslookup
    server DNS.IP.ADD.RESS
    set type=[NS/MX/CNAME/etc]
    mail.evolink.com

Ask for PTR RR

dig -x 194.12.255.146 +short
nslookup
    set type=PTR
    194.12.255.146
ping -a 194.12.255.146

Trace DNS communication

dig @8.8.8.8 mail.evolink.com +trace

Recomended resources:
Understanding DNS - http://technet.microsoft.com/en-us/library/cc728412%28WS.10%29.aspx
DNS for Rocket Scientist : http://www.zytrax.com/books/dns/

Mail Troubleshooting

e-mail servers function : nothing more than sends piece of text over the Internet

Major Steps : MUA > MSA > MTA > … > MTA > MDA >> MRA >> MUA

MUA - Mail User Agent - end user's mail client (MS Outlook, Thunderbird, WEB Browser, etc)
MSA - Mail submission agent - complicated, but treat it like a borderline MTA (kind of SMTP proxy or smart host for example)
MTA - Mail Transfer Agent - A true mail server (exim, postfix, qmail, exchange)
MDA - Mail Delivery Agent - performs the actual delivery including process "filtering" (auto-replay, white/black lists, spamassassin, amavis, AV, etc)
MRA - Mail Retrival Agent - POP(s)/IMAP(s) services (cyrus, courier, dovecot, qmail)

What's realy happen after hitting SEND button:

1. MUA looks in their settings and find outgoing mail server entry
2. MUA perform DNS lookup to convert NAM-IP
3. MUA perform route/arp/etc lookup to find route out to outgoing mail server destination
4. SEnding MTA perform DNS lookup to find MX record (respect MX priority), ask Receiving MTA to accept message and send that message
5. Receiving MTA perform initial check and accept/reject mail (message format check, WL/BL check, AV check etc)
6. MDA perform some additional checks and manipulations and deliver mail to users home foleders (SPAM check and classification, rewrite, re-route, etc)
7. MRA is waiting for connections via well-known protocols/ports
8. MUA authenticate/connect to MRA and get mails

Troubleshooting tools: nmap, telnet, mail-message source

MTA     SMTP  - tcp/25
            SMTPs - tcp/465
MRA     POP3  - tcp/110
            POP3s - tcp/995
            IMAP  - tcp/143
            IMAPs - tcp/993

Successful communication (MTA service is working)

telnet mail.example.com 25
Trying 11.12.13.14...
Connected to mail.example.com.
Escape character is '^]'.
220  ESMTP
ehlo privet
250-
250-STARTTLS
250-PIPELINING
250-8BITMIME
250-SIZE 20971520
250 AUTH LOGIN PLAIN CRAM-MD5
quit
221
Connection closed by foreign host.

Unsuccessful communication (no running MTA service or firewall issue)

telnet mail.example.net 25
Trying 1.2.3.4...
telnet: Unable to connect to remote host: Connection refused

SMTP command

   * HELO - introduce yourself
    * EHLO - introduce yourself and request extended mode
    * MAIL FROM: - specify the sender
    * RCPT TO: - specify the recipient
    * DATA - specify the body of the message (To, From and Subject should be the first three lines.)
    * RSET - reset
    * QUIT - quit the session
    * HELP - get help on commands
    * VRFY - verify an address
    * EXPN - expand an address
    * VERB - verbose

POP3 commands

    * USER - enter your user ID
    * PASS - enter your password
    * QUIT - quit the POP3 server
    * LIST - list the messages and their size
    * RETR - retrieve a message, pass it a message number
    * DELE - delete a message, pass it a message number
    * TOP - show the top x lines of a message, pass it a message number and the number of lines

Sending mail via telnet

telnet example.com 25
ehlo example.com
mail from: username@example.com
rcpt to: friend@hotmail.com, friend2@yahoo.com
data
Subject: Send mail via telnet
I was here!
.

Check or read email with telnet

user username@example.com
pass passwordgoeshere
list
retr 2
dele 1
quit

Reading mail-message source

Full mail-message header example: (spammer's mail address and IP intentionaly leaved as is)

Return-Path: <0-chinomi@akita-pu.ac.jp>
X-Original-To: mailinglist_or_mail.alias@example.com
Delivered-To: me@example.com
Received: from localhost (localhost [127.0.0.1])
    by mail.example.com (Postfix) with ESMTP id 9872A8221A2
    for <mailinglist_or_mail.alias@example.com>; Thu, 3 Nov 2011 12:31:01 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at mail.example.com
X-Spam-Flag: NO
X-Spam-Score: 9.372
X-Spam-Level: *********
X-Spam-Status: No, score=9.372 tagged_above=2 required=14.31
    tests=[BAYES_99=3.5, DCC_CHECK=2.17, DIGEST_MULTIPLE=0.001,
    PYZOR_CHECK=3.7, UNPARSEABLE_RELAY=0.001]
Received: from mail.example.com ([127.0.0.1])
    by localhost (mail.example.com [127.0.0.1]) (amavisd-new, port 10024)
    with ESMTP id Fm+2o1grwwo5 for <mailinglist_or_mail.alias@example.com>;
    Thu, 3 Nov 2011 12:30:29 +0300 (EEST)
Received: by mail.example.com (Postfix, from userid 5001)
    id 0A1948221A6; Thu, 3 Nov 2011 12:30:29 +0300 (EEST)
Received-SPF: none (akita-pu.ac.jp: No applicable sender policy available) receiver=mail.example.com;
identity=mailfrom; envelope-from="0-chinomi@akita-pu.ac.jp"; helo="[59.94.251.160]"; client-ip=59.94.251.160
Received: from [59.94.251.160] (unknown [59.94.251.160])
    by mail.example.com (Postfix) with ESMTP id 95C9382219D
    for <mailinglist_or_mail.alias@example.com>; Thu, 3 Nov 2011 12:30:28 +0300 (EEST)
Received: from  59.94.251.160 (account <mailinglist_or_mail.alias@example.com> HELO example.com)
    by example.com (CommuniGate Pro SMTP 5.2.3)
    with ESMTPA id 168978161 for <mailinglist_or_mail.alias@example.com>; Thu, 3 Nov 2011 15:00:27 +0530
From: <something@somewhere.xxl>
To: <mailinglist_or_mail.alias@example.com>
Subject: Administrative Assistant Vacancy
Date: Thu, 3 Nov 2011 15:00:27 +0530

Return-Path: - contains FQDN of originating sender. Cannot be forged. From where realy mail comes
X-Original-To: - original send-to destination
Delivered-To: - to wich mailbox this email was delivered
Received: - added to the envelope header for each step of the host-to-host delivery process. Include address of sending MTA, local (for MTA) date and time of message transfer and type of used application
X-Virus/X-SPAM/Received-SPF - some additional checks with basic information about who-chek-what
From: - can be anything including google@boiko.borisov.yes
To: - content in TO field on sending MUA
Subject: - can be re-writed by MDA, corporate policy, etc
Date: - this field is set by originating (sending) host [realy clever way to place your message on-top of received messages in recipient's mailbox]

 

Basic DNS & Mail troubleshooting

За следващото обучение/презентация

MAIL TROUBLESHOOTING

e-mail servers function : nothing more than sends piece of text over the Internet
Major Steps : MUA > MSA > MTA > … > MTA > MDA >> MRA >> MUA
MUA - Mail User Agent - end user's mail client (MS Outlook, Thunderbird, WEB Browser, etc)
MSA - Mail submission agent - complicated, but treat it like a borderline MTA (kind of SMTP proxy or smart host for example)
MTA - Mail Transfer Agent - A true mail server (exim, postfix, qmail, exchange)
MDA - Mail Delivery Agent - performs the actual delivery including process "filtering" (auto-replay, white/black lists, spamassassin, amavis, AV, etc)
MRA - Mail Retrival Agent - POP(s)/IMAP(s) services (cyrus, courier, dovecot, qmail)
What's realy happen after hitting SEND button:
1. MUA looks in their settings and find outgoing mail server entry
2. MUA perform DNS lookup to convert NAM-IP
3. MUA perform route/arp/etc lookup to find route out to outgoing mail server destination
4. SEnding MTA perform DNS lookup to find MX record (respect MX priority), ask Receiving MTA to accept message and send that message
5. Receiving MTA perform initial check and accept/reject mail (message format check, WL/BL check, AV check etc)
6. MDA perform some additional checks and manipulations and deliver mail to users home foleders (SPAM check and classification, rewrite, re-route, etc)
7. MRA is waiting for connections via well-known protocols/ports
8. MUA authenticate/connect to MRA and get mails
Troubleshooting tools: nmap, telnet, mail-message source
MTA SMTP - tcp/25
SMTPs - tcp/465
MRA POP3 - tcp/110
POP3s - tcp/995
IMAP - tcp/143
IMAPs - tcp/993
Successful communication (MTA service is working)
telnet mail.evolink.com 25
Trying 194.12.255.146...
Connected to mail.evolink.com.
Escape character is '^]'.
220 ESMTP
ehlo privet
250-
250-STARTTLS
250-PIPELINING
250-8BITMIME
250-SIZE 20971520
250 AUTH LOGIN PLAIN CRAM-MD5
quit
221
Connection closed by foreign host.
Unsuccessful communication (no running MTA service or firewall issue)
telnet linkstat.evolink.net 25
Trying 85.14.44.7...
telnet: Unable to connect to remote host: Connection refused
SMTP command
* HELO - introduce yourself
* EHLO - introduce yourself and request extended mode
* MAIL FROM: - specify the sender
* RCPT TO: - specify the recipient
* DATA - specify the body of the message (To, From and Subject should be the first three lines.)
* RSET - reset
* QUIT - quit the session
* HELP - get help on commands
* VRFY - verify an address
* EXPN - expand an address
* VERB - verbose
POP3 commands
* USER - enter your user ID
* PASS - enter your password
* QUIT - quit the POP3 server
* LIST - list the messages and their size
* RETR - retrieve a message, pass it a message number
* DELE - delete a message, pass it a message number
* TOP - show the top x lines of a message, pass it a message number and the number of lines
Sending mail via telnet
telnet example.com 25
ehlo example.com
mail from: username@example.com
rcpt to: friend@hotmail.com, friend2@yahoo.com
data
Subject: Send mail via telnet
I was here!
.
Check or read email with telnet
user username@example.com
pass passwordgoeshere
list
retr 2
dele 1
quit
Reading mail-message source
Full mail-message header example: (spammer's mail address and IP intentionaly leaved as is)
Return-Path: <0-chinomi akita-pu.ac.jp="">
X-Original-To: mailinglist_or_mail.alias@example.com
Delivered-To: me@example.com
Received: from localhost (localhost [127.0.0.1])
by mail.example.com (Postfix) with ESMTP id 9872A8221A2
for ; Thu, 3 Nov 2011 12:31:01 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at mail.example.com
X-Spam-Flag: NO
X-Spam-Score: 9.372
X-Spam-Level: *********
X-Spam-Status: No, score=9.372 tagged_above=2 required=14.31
tests=[BAYES_99=3.5, DCC_CHECK=2.17, DIGEST_MULTIPLE=0.001,
PYZOR_CHECK=3.7, UNPARSEABLE_RELAY=0.001]
Received: from mail.example.com ([127.0.0.1])
by localhost (mail.example.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id Fm+2o1grwwo5 for ;
Thu, 3 Nov 2011 12:30:29 +0300 (EEST)
Received: by mail.example.com (Postfix, from userid 5001)
id 0A1948221A6; Thu, 3 Nov 2011 12:30:29 +0300 (EEST)
Received-SPF: none (akita-pu.ac.jp: No applicable sender policy available) receiver=mail.example.com;
identity=mailfrom; envelope-from="0-chinomi@akita-pu.ac.jp"; helo="[59.94.251.160]"; client-ip=59.94.251.160
Received: from [59.94.251.160] (unknown [59.94.251.160])
by mail.example.com (Postfix) with ESMTP id 95C9382219D
for ; Thu, 3 Nov 2011 12:30:28 +0300 (EEST)
Received: from 59.94.251.160 (account HELO example.com)
by example.com (CommuniGate Pro SMTP 5.2.3)
with ESMTPA id 168978161 for ; Thu, 3 Nov 2011 15:00:27 +0530
From:
To:
Subject: Administrative Assistant Vacancy
Date: Thu, 3 Nov 2011 15:00:27 +0530
Return-Path: - contains FQDN of originating sender. Cannot be forged. From where realy mail comes
X-Original-To: - original send-to destination
Delivered-To: - to wich mailbox this email was delivered
Received: - added to the envelope header for each step of the host-to-host delivery process. Include address of sending MTA, local (for MTA) date and time of message transfer and type of used application
X-Virus/X-SPAM/Received-SPF - some additional checks with basic information about who-chek-what
From: - can be anything including google@boiko.borisov.yes
To: - content in TO field on sending MUA
Subject: - can be re-writed by MDA, corporate policy, etc
Date: - this field is set by originating (sending) host [realy clever way to place your message on-top of received messages in recipient's mailbox]

понеделник, октомври 10, 2011

Cisco packet switching

Here is the short description of what happens at physical level with those three switching methods:

There are the following components in shared memory router:
1. Central CPU - RISC processor in older routers or custom ASIC in newer.
2. Interface ASIC - responsible for receiving/sending packets from/to physical media.
3. Memory - Divided between main memory accessible by central CPU and iomem accessible by interface ASICs.

Process switching:
1. Packet arrives at ingress interface.
2. Ingress ASIC puts packet to iomem and interrrupts main CPU.
3. Main CPU copy packet from iomem to main memory.
4. IOS routing process checks routing table and decides which interface is egress.
5. Packet's L3 and L2 headers are modified and packet is copied to iomem into egress interface output queue.
6. Egress ASIC gets packet from the queue and sends.

Fast switching:
1. Packet arrives at ingress interface.
2. Ingress ASIC puts packet to iomem and interrrupts main CPU.
3. Main CPU copy packet from iomem to main memory.
4. IOS checks if this dest is already in cache-memory. If so all L3 and L2 information is there. If not IOS routing process is invoked and result is copied into fast cache.
5. Packet's L3 and L2 headers are modified and packet is copied to iomem into egress interface output queue.
6. Egress ASIC gets packet from the queue and sends.

CEF switching
1. Packet arrives at ingress interface.
2. Ingress ASIC puts packet to iomem, checks FIB and determines next-hop entry in adjacency table.
3. If packet is CEF-switchable modify L3 header and replace L2 header with the header from adjacency table. If not CEF switchable fallback to fast switching or process switching.
4. iomem area that contains packet is linked to the output queue of egress ASIC.
5. Egress ASIC gets packet from the queue and sends.

There are some nuances but above is basic idea of what happens. Notice that with CEF central CPU and main memory don't get involved in the switching process.
High-end routers work in the similar way but instead of central CPU and memory line-card's CPU and memory are used for the dCEF.

source: https://learningnetwork.cisco.com/message/22503#22503

четвъртък, октомври 06, 2011

Console

Това което променям на Linux console [debian and derivates](глезотийка ама красотата ще промени света)
/etc/update-motd.d
/etc/update-motd.d$ diff 00-header ../update-motd.d.orig/00-header
< printf "%s\n" < printf "%s\n" "$(hostname -f) $(lsb_release -s -d)" < printf "%s\n" --- > uname -a
> printf "%s\n" "$(lsb_release -s -d)"

Manualy edit ~/.bashrc
timestamp in history
export HISTTIMEFORMAT="%F %T ""
Да се записват в history и дупликатите
#export HISTCONTROL=ignoredups
fancy colors on man-pages
export PAGER="/usr/bin/most -s"
(apt-get install most)

fancy epigram on login
fortune /usr/share/games/fortunes/bg | cowsay -b -f /usr/share/cowsay/cows/tux.cow -n
(apt-get install fortune-mod fortunes-bg cowsay)
Color promt
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"';;
*) ;;
esac
Aliases:
alias ls='ls -alh --color=auto'
alias grep='grep -i --color=auto' # -i ignore case
alias rm='rm -i' # interactive -> ask before delete can be overrode with -f(orce)
alias mv='mv -i' # interactive -> ask before delete can be overrode with -f(orce)

Junos
edit
set system login message "\n Thinking doesn't hurt anyone! \n"
commit and-quit
[sho ver and haiku]

Mikrotik RouterOS
file edit sys-note.txt
paste от тук нещо по избор примерно

ToDo: да си довърша research-a за cmd replacement и въобще shell change

вторник, септември 27, 2011

Жизнь в 100 словах:

В стил Александър Блок или Безглаголното стихотворение на Радой Ралин но пък ми харесва
Колыбель. Пеленки. Плач.
Слово. Шаг. Простуда. Врач.
Беготня. Игрушки. Брат .
Двор. Качели. Детский сад.
Школа. Двойка. Тройка. Пять.
Мяч. Подножкам. Гипс. Кровать.
Драка. Кровь. Разбитый нос.
Двор. Друзья. Тусовка. Форс.
Институт. Весна. Кусты.
Лето. Сессия. Хвосты.
Пиво. Водка. Джин со льдом.
Кофе. Сессия. Диплом .
Романтизм. Любовь. Звезда.
Руки. Губы. Ночь без сна.
Свадьба. Теща. Тесть. Капкан.
Ссора. Клуб. Друзья. Стакан.
Дом. Работа.
Дом. Семья.
Солнце. Лето.
Снег. Зима.
Сын. Пеленки. Колыбель.
Стресс. Любовница. Постель.
Бизнес. Деньги. План. Аврал.
Телевизор. Сериал.
Дача. Вишни. Кабачки.
Седина. Мигрень. Очки.
Внук. Пеленки. Колыбель.
Стресс. Давление. Постель.
Сердце. Почки. Кости. Врач.
Речи. Гроб. Прощанье. Плач

събота, август 20, 2011

CentOS yum

Някакъв наличен сървър с MySQL който трябва да се мигрира към PostgreSQL

cat /etc/issue.net
CentOS release 5.5 (Final)
Kernel \r on an \m

Драмата:
[root@db ~]# yum list postgres
Traceback (most recent call last):
File "/usr/bin/yum", line 28, in ?
import yummain
ImportError: No module named yummain
[root@db ~]# yum search postgresql
Traceback (most recent call last):
File "/usr/bin/yum", line 28, in ?
import yummain
ImportError: No module named yummain

Проверката:
ls -lh /usr/share/yum-cli/
total 552K
-rw-r--r-- 1 root root 8.4K Feb 1 2011 callback.py
-rw-r--r-- 1 root root 6.1K Feb 1 2011 callback.pyc
-rw-r--r-- 1 root root 6.1K Feb 1 2011 callback.pyo
-rw-r--r-- 1 root root 58K Feb 1 2011 cli.py
-rw-r--r-- 1 root root 43K Feb 1 2011 cli.pyc
-rw-r--r-- 1 root root 43K Feb 1 2011 cli.pyo
-rw-r--r-- 1 root root 53K Feb 1 2011 output.py
-rw-r--r-- 1 root root 45K Feb 1 2011 output.pyc
-rw-r--r-- 1 root root 45K Feb 1 2011 output.pyo
-rw-r--r-- 1 root root 13K Feb 1 2011 shell.py
-rw-r--r-- 1 root root 9.9K Feb 1 2011 shell.pyc
-rw-r--r-- 1 root root 9.9K Feb 1 2011 shell.pyo
-rw-r--r-- 1 root root 4.8K Feb 1 2011 utils.py
-rw-r--r-- 1 root root 4.4K Feb 1 2011 utils.pyc
-rw-r--r-- 1 root root 4.4K Feb 1 2011 utils.pyo
======> липсват
yummain.* & yumcommands.*

Dirty fix:
RPM Advanced Search
wget ftp://ftp.muug.mb.ca/mirror/centos/5.6/os/i386/CentOS/yum-3.2.22-33.el5.centos.noarch.rpm
rpm -Uv yum-3.2.22-33.el5.centos.noarch.rpm
yum update
--------------
Transaction Summary
================================================================================
Install 4 Package(s)
Upgrade 158 Package(s)

Total download size: 211 M
Is this ok [y/N]: y

понеделник, август 08, 2011

ESXi on Dell PowerEdge T710

+ iDRAC 6 Enterprise - големи гадове са тезиот Dell ... стандартният iDRAC модул без enterprise лиценз за 350$ никаква работа не върши. През него можеш само да рестартираш сървъра
Инсталация на 64b OS - ала-бала this host is VT-capable but VT disabled. Още ала-бала; For detailed information see http://vmware.com/info?id=152.
Там нищо интересно не пише ама пък то си е ясно
Restart през iDRAC-a; F2; BIOS; Processor Settings; Virtualization Technology - от Disabled на Enabled
Интересно защо инсталацията на 32b OS не се оплаква за изключено VT, а тази за 64b реве?

сряда, юли 13, 2011

Zimbra OpenSource + LDAP (MS AD DS) integration

Setup:
Windows 2008 RC (NIC: private IP), Ubuntu LTS 10.04.2 (eth1:public routable IP, eth2:private IP), Zimbra CS Open Source (zmcontrol -v Release 7.1.1_GA_3196.UBUNTU10_64 UBUNTU10_64 FOSS edition.)
Windows 2008 up and running MS Active Directory Domain Services
Ubuntu - virtual machine on ESXi 4.1 (4x CPU core + 4G of RAM) --> start install - next-next - finish. Това което трябва да се има предвид е:
1. Освен /etc/hosts; /etc/hostname == FQDN; /etc/mailname валиден MX запис за домейна е задължителен
2. apt-get remove --purge --umri_v_kofite_s_bokluk apparmor
3. rm -f /bin/sh и ln -s /bin/bash /bin/sh --> иначе умира slapd и оставаш без коса (или перчем) от скубане
Zimbra install - ./install.sh - YES/ENTER - finish.Инсталира си self signed certificates освен за всичко останало и за криптиране/аутентифициране на комуникацията м/у процесите си - ако имам някой multi cluster / cloud където имам по машина за процес ОК ама иначе ...
Ще изреве за някой и друг пакет ама apt-get/aptitude ги има
https://zimbra.domain.com:7071/zimbraAdmin
AD (ldap) integration -
1. zimbra user в АД-то - не пише, че трябва ама ... направих си и не съжалявам
2. http://wiki.zimbra.com/wiki/LDAP_Authentication#Configuring_external_LDAP_authentication - помага... LDAP over SSL = 3 дни борба м/у MS AD integrated CA/Zimbra self-signed/Other bulshits и няма EndUser authentication via MS Active Directory и го зарязах (L2 tunnel ще е по-лесно или да си живеят в LAN-a)
Пръчка: в Open Source версията няма автоматичен импорт на AD users (* CN=users,dn=domain,dn=com) в другите - незнам
Преди това: Admin Console: mail.domain.com:7071/zimbraAdmin - domains - needed domain - Configure Authentication - Active Directory - магьосника си знае работата
3. Manualy add users from AD to Zimbra
a) zmprov -l ca Pencho@domain.com Pencho's_(LDAP)Pass displayName "Pencho e Pich" -- Мъка за повечко хора - не съм го пробвал
б) http://wiki.zimbra.com/wiki/User_Migration - IMAP migrationa работи- за друго незнам
в) http://wiki.zimbra.com/index.php?title=Bulk_Provisioning#LDAP_Users_to_Zimbra_Accounts -- ldap2zm -h adserver -u administrator -p s3cr3t -b "DC=example,DC=com" -f '(memberOf=CN=Zimbra Users,OU=Employees,DC=example,DC=com)' имаше някакви малки драми ама... яде се... иначе е като Лада Нива - работи
Сертификатите - ако е до self signed - няма драма; по manual - ако сам си направя CSR от сървъра и го пратя да го подпишат и да ми върнат истински - пак трябва да сме ОК, но ако имам пратен по мейл от GlobalSign CEDS%date%SN.pfx --
Средна пръчка:
Convert to PEM: openssl pkcs12 -in filename.pfx -clcerts -nokeys -out commercial.crt
Export private key: openssl pkcs12 -in filename.pfx -nocerts -out commercial.key
Removepassphrase: openssl rsa -in commercial.key -out commercial.key
правилният manual: http://wiki.zimbra.com/index.php?title=Preexisting_Certifcate_Installation_for_Zimbra_6.0&oldid=24499
Голяма пръчка:
при # /opt/zimbra/bin/zmcertmgr addcacert /opt/zimbra/ssl/zimbra/commercial/commercial.crt
Получавам:
** Importing certificate /opt/zimbra/ssl/zimbra/commercial/commercial.crt to CACERTS as zcs-user-commercial...failed.
XXXXX ERROR: failed to import certficate.
keytool error: java.lang.Exception: Input not an X.509 certificate

И нищо не се стартира /тръгва като хората (добре че ESXi има Snapshots иначе тази игра не ми се играе)
Solution:
cat /opt/zimbra/ssl/zimbra/commercial/commercial.crt
Bag Attributes
localKeyID: ala-bala
subject=ala-bala
issuer=neshto_drugo
-----BEGIN CERTIFICATE-----
drun-drun
-----END CERTIFICATE-----
Изтрих всичко преди -----BEGIN CERTIFICATE----- и вече # /opt/zimbra/bin/zmcertmgr addcacert /opt/zimbra/ssl/zimbra/commercial/commercial.crt светна!
$ zmtlsctl redirect
$ zmcontrol restart --> красота!
Другото е тук: http://www.zimbra.com/support/

вторник, юни 14, 2011

mikrotik SAFE mode

CTRL+X - enter in Safe Mode
повторно CTRL+X излиза от Safe Mode (и apply-ва направените промени !)
Промените направени в Safe mode се изтриват при reboot (ако не сме излезнали от Safe Mode преди рестарт-а)

събота, май 28, 2011

Ubuntu natty

Brand new Ubuntu Server Natty
apt-get update
W: GPG error: http://extras.ubuntu.com natty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 16126D3A3E5C1192
 
 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
gpg: requesting key 3E5C1192 from hkp server keyserver.ubuntu.com
gpg: key 3E5C1192: public key "Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

apt-get update
Fetched 73 B in 1s (55 B/s)
Reading package lists... Done


петък, май 27, 2011

makefs.ext3

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


Кое ли ще настъпи първо - 38 месеца или 180 дни.

P.S. аз съм глупавият защото mount не е баш същото като month

вторник, май 24, 2011

Robocopy

Задача: да се мигрират redirected user folders(Desktop & My Documents) на друг сървър и storage.
Варианти: rsync for Windows, но това искаше иснталации и на двете машини (source & destination) и native за Windows - robocopy.
Сериозните опции са /mir и /copyall
Същественната разлика м/у /mir и /copyall, е че /mir изтрива съдръжанието на destination folder-a и го замества със съдържанието на source folder-a, докато при /copyall ако има промени в source folder-a при стартирането ще се отразят в destination folder-a без да се загубят промените които м/у временно са възникнали в destination folder-a
Примерно:
Robo_source : file1, dir1
Robo_dest: file2, dir2
след robocopy \\server1\Robo_source \\server2\Robo_dest /mir /e /tee съдържанието на Robo_dest == file1, dir1;
докато след robocopy \\server1\Robo_source \\server2\Robo_dest /copyall /e /tee съдържанието на Robo_dest == file2, dir2, file1, dir1;
Useful switches:
/z - restartable mode
/save:job.file - run and save command + swtiches in job.file.rcj (/save:job.file.rcj трабва да е най-накрая в списъка с допълнителните ключове - т.е. записва се всичко до /save:xxx, но не и след него). Създава се файл: job.file.RCJ
/save:job.file /quit - just save command + switches (do not run anything)
/job:job.file - read from job.file.rcj and run what you read
/mon:N - monitor for N changes in Source_dir
/mot:N - monitor in N min for changes in Source_dir
Examples:
1. full mirror
robocopy \\server1\Robo_source \\server2\Robo_dest /mir /e /tee
2. Update Robo_dest with changes in Robo_source (e.g. differential)
\\server1\Robo_source \\server2\Robo_dest /copyall /e /tee
3. Just monitor for 3 changes every 3 minutes
\\server1\Robo_source \\server2\Robo_dest /mon:3 /mot:3 (?!)- на теория трябва само да следи за промени ама май направо си ъпдейтва Robo_dest с промените в Robo_source

П.С. версиите до W2k8 не "реагират" при промяна на атрибутите за NTFS permissions, но във Vista и Windows 2008 (R2) вече има допълнителен ключ - /secfix
MS графичен фронт-енд
Robocopy записва в EventViewer-a какво се случва, но по-юзъбъл за мен е mail notification

петък, май 20, 2011

Mikrotik change TTL

Голяма глупост е set-ването на TTL=1 от страна на доставчика (opticom AS42555) с
цел да се ограничи броя на устройствата per account. На Микротик нещата се
байпасват така:
/ip firewall mangle print where
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; Change TTL
chain=prerouting action=change-ttl new-ttl=set:155 in-interface=pppoe-out1

P.S. колкото повече ги гледам толкова повече стигам до извода, че няма да ги
използвам

четвъртък, май 19, 2011

Add Windows 2008R2 DomainController in existing 2003 AD Domain

1. Raise functional domain functional level to Windows Server 2003
2. Preparing AD DS for a new domain controller (W2k8)
 
   Стартираме на  infrastructure master from Windows 2008 Install CD\support\adprep\: 
    adprep32 /forestprep
    adprep32 /domainprep /gpprep
    By default се стартира adprep64!
3. Promote new W2k8 Server to a Domain Controller



сряда, май 11, 2011

... wisdom ...

с времето ще открием, че самият акт на заспиването (навреме), а и на събуждането след това (сух) са си постижения :
source: http://yovko.net/blog/5673#comments
author: Дончо

вторник, май 03, 2011

Mikrotik firewall

N.B. Mikrotik firewall (/ip firewall filter) работи на принципа на последното
съвпадение (last match) - т.е. при дублирани или сходни правила ще сработи
последното.

/ip firewall filter
add action=log chain=input comment="Telnet logging" disabled=no dst-port=23
log-prefix="" protocol=tcp
add action=drop chain=input comment="disabe telnet except My_IP" disabled=no
dst-port=23 protocol=tcp src-address=!192.168.234.83
add action=drop chain=input comment="disable all" disabled=no dst-port=23
protocol=tcp

Заради последното правило телнет връзката ми ще бъде дропната

петък, март 18, 2011

daily wisdom

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

вторник, март 15, 2011

Monthly wisdom

Добрите решения идват с опита, а голяма част от опита идва с лоши решения.

The Mechanic

понеделник, януари 31, 2011

online wisdom

[14:14:35] nuke: "Човек сам се ражда и сам умира, а през останалото време някакви хора непрекъснато се опитват да му досаждат"

неделя, януари 16, 2011

New hobby ?

Ето с това

направих ето това

Подаръците ми за Именният ден

Оригиналното нещо е тук

вторник, януари 04, 2011

Remotely Terminate and Disconnect Remote Desktop

net use /user:Administrator \\Server.IP.or.NetBIOS\c$
qwinsta /server:<sServer.IP.or.NetBIOS> -- > list of active and connecting Remote Desktop or Terminal Services sessions 
rwinsta <ID> /server:<Server.IP.or.NetBIOS> --> reset and disconnect the Remote Desktop connections or sessions 

qwinsta = Query Window Station
rwinsta = Reset Window Station


четвъртък, декември 30, 2010

Новогодишно

Предновогодишно изтрещяха един Support-a... на-зомбираха машината и сега
пред-новогодишна миграция & преинсталация.
To-Do: да се мигрират всички сървиси с LDAP authentication

вторник, декември 21, 2010

Daily wisdom

"Горчивината от лошото качество остава дълго след като е преминало удоволствието от ниската цена."  from LUG-BG mailing-list 

петък, декември 17, 2010

DNS balance for service

Имаме PPTP сървър който разни хора го ползват за разни неща. Проблема е когато рупа потребители се опитат да направят повече от една сесия към този сървър със един и същи source (примерно когато са зад НАТ)- първият е ОК, а всеки следващ получава error 619
Един вариантите е да инициират сесия към различно 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

Целта е да се изключва Skype когато вечер си тръгвам от офиса (да не стои онлайн по цели дни и нощи) и да се включва сутрин като дойда (за да не го забравям). Конзолата калява характера (пък е и по-хакерско) затова:
 Вариант 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

Задача

Получено в Skype:
Мама е по-голяма от сина си с 21 години. След 6 години ще бъде 5 пъти по-голяма от него. Пита се къде е тате?

четвъртък, ноември 11, 2010

What is my OS

Каква е версията на 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:"

понеделник, ноември 01, 2010

Disable Automatic Windows Update

Понякога (неизвестно как/защо/кога) при изрично спрени AU от Control Panel-a, клавиатурата на  с инсталиран  започва да се държи много странно

Affective device : FS Amilo PI3525
Software : Windows 7 Pro ++++
Problem: на част от клавиатурата (частта където е NUM PAD-a) при не-натиснат fn клавиш работи като num pad, а при настиснат такъв работи като както си трябва
сиреч:
  • при не-задействан fn и натискането на бутона k се отпечатва 2
  • при задействан fn и натискането на бутона k се отпечатва k 
Тъй като това е машина която се използва за работа най-бързото решение което ползвах беше System Restore до предишна дата.
При този 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 той няма да влезне в скеджула за инсталация повече и съответно няма да се инсталира

вторник, септември 21, 2010

Daily wisdom

Опита е като Мъдростта - когато го придобиеш в повечето случаи се оказва доста
късно

неделя, септември 12, 2010

понеделник, август 09, 2010

Monthly wisdom

Това, че винаги си го правил по този начин, не означава, че не е пълна глупост !

неделя, август 08, 2010

Linksys WRT54GL with dd-wrt

Задача: 2 тунела до една централана точка. 1 префикс разнасян от рутинг протокол с различна метрика (за бекъп)
Цена: до 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-нати. Да се надяваме, че са "случайни случки", а не някакъв посевместен бъг в имиджа който изливаме