RLUG si ipv6

Sunt nitel pe val cu ipv6, dupa postul de acum cateva zile am facut scamatoriile de cuviinta si am activat v6 pe ftp.lug.ro, accesibil sub numele ftpv6.lug.ro si pe http si pe ftp. Urmeaza alte servicii gen wiki, dns si, by popular demand, irc ;)
Dupa aia am tinut impreuna cu Cioby o mica prezentare ad-hoc despre trecerea la v6 (uite si link la inregistrarea video cu conditia sa nu radeti de mine).
Astazi impreuna cu cmatei am manarit ip-urile v6 sa mearga si direct din hosturile 6to4 (adica ce-si poate pune lumea pe acasa fara sa aiba v6 nativ de la provider), please test and stuff (accesand ftpv6.lug.ro de pe ip-uri 6to4 si vazand ca merge cu viteza de pe v4).
Eh, pe valul tuturor acestor evenimente v6-enabled, mi-am propus ca editia de ianuarie a "atelierelor RLUG" care va avea loc sambata asta sa fie pe teme de ipv6. Daca am inteles bine vom avea pe mana un laborator cu 18 sisteme cu care sa ne facem de cap, sper sa ma descurc sa explic putinul pe care il stiu (asta daca nu apare cineva care chiar se pricepe, sa-l intreb si eu :D ).
Oricum, daca va intereseaza subiectul (si daca va intereseaza ipv4 catusi de putin, va anunt ca in aproximativ un an o sa va intereseze si ipv6 :) ), va astept sambata de la ora 12 in facultatea de Automatica, in laboratorul EG106.

ipv6 quickies

  • RDS da IPv6 la abonati, dar nu le spune, lasa ca le zic eu: activezi 6to4 pe interfata dinspre ei si ta-da! merge. Atentie, e vorba de 6to4, aka. RFC 3056, aka. 2002::/16, nu 6in4, 6over4, teredo, ca sa enumar doar cateva din mecanismele inrudite. Cu ocazia asta mi-am pus openwrt proaspat pe router, pare sa mearga corect, n-am incercat prea multe yet, mai vedem. update:Tzeapa, nu-mi da RDS-ul nimic, ies pe internetul v6 undeva prin Amsterdam. Kinda useless deocamdata.
  • Sa faci un firewall pe v6 e relativ complicat, in sensul ca trebuie sa fii atent ce icmpv6-uri accepti si ce nu (mi-am propus ca zilele astea sa termin si eu de citit RFC 4890, de aproape 3 ani tot zic ca imi fac timp), sa stii bine ce fel de ip-uri se vehiculeaza pe reteaua locala (tot soiul de multicasturi mai mult sau mai putin utile), si sa tii cont de quirk-urile de implementare pe os-ul tau (ultima oara cand am facut asa ceva, conntrackul de v6 nu facea ce trebuie cu icmp-urile si era ceva duda cu folosirea rutei ::/0, a trebuit sa folosesc 2000::/3 ca ruta default). Speaking of conntrack, am aflat cu mari scrasnete de dinti ca in kernelul -openvz de la Debian nu merge conntrackul de v6 si nu mi-e clar daca e doar o bifa lipsa sau e ceva mai deep. Asa ma roade sa trec pe cgroups, ceva de speriat...
  • La ora actuala site-ul potaroo.net estimeaza 21 februarie ca data de epuizare a ip-urilor nealocate de IANA si 8 noiembrie ca data de epuizare a ip-urilor nealocate de RIR-uri (probabil APNIC e principalul candidat). Nu dau anul pentru ca e anul asta. Yup, dwelve on that for a bit...
  • Shameless advertising: blogul asta, asa rar folosit cum e, e si pe ipv6 din iulie 2008. :D (Yeah, I know, who cares)

How can I help?

De ceva vreme de cand activitatile mele legate de RLUG si Prolinux sunt mai vizibile, am adesea conversatii in care mi se lauda in fel si chip implicarea samd., eventual presarate cu indicatii "3rd person" despre ce ar trebui facut. Am incercat si sa tratez defensiv lucrurile astea, explicand ca nu consider ca fac cine stie ce si ca sper sa apara curand altii mai capabili, si sa tratez mai agresiv, la modul "te rog frumos sa pui mana sa faci in loc sa dai teme". Incep sa constat ca nici una din forme nu are vreo rata de succes fenomenala.

Mai nou imi propun sa iau genul asta de discutii ca pe un semn ca respectivul/a incearca sa intrebe "cu ce pot sa ajut?". Sa vedem cum va afecta modul asta de vazut problema pe viitor.

So, cu ce poti sa ajuti?

Cel mai important e de retinut ca banii sunt ultima problema. Nu zic ca nu sunt o problema, zic ca e ultima. Dintr-un numar de motive. Mai intai, s-a dovedit cu ocazia strangerii de fonduri pentru server ca daca apare o nevoie reala perceputa cum trebuie de comunitate, banii se strang f. repede. Sunt convins ca putem strange mult mai multi bani daca incepem sa ciocanim pe la usile diverselor firme care ne cunosc.

Alt motiv e ca banii sunt o metrica foarte proasta a valorii sau implicarii cuiva. Un CIO poate produce fara prea mare efort o donatie de 3k euro, pe cand un student si-ar rupe de la gura 300 de lei. Imi pare rau, dar nu pot sa risc comparatia intre cei doi (oricare din ei poate face alte servicii mult mai valoroase comunitatii).

Nu in ultimul rand vine si parerea personala ca banii care stau degeaba nu sunt un medicament ci o otrava. Oameni care ar colabora foarte ok for free tind sa-si schimbe perceptiile in momentul in care li se pare ca ar avea sansa sa capete niste bani dintr-un fond care n-are un scop precis. Nu, nu sunt impotriva subventionarii sau platii unor servicii sau unor oameni, dar consider ca trebuie facuta cu multa consideratie privind reactia altora care s-ar simti mai mult sau mai putin indreptatiti la compensari similare. Proiecte mult mai mari au avut probleme dintr-astea (cine e apropiat de Debian stie despre Dunc-Tank, cu siguranta exista si alte exemple).

Repet: nu refuz sa accept bani, doar ca incerc sa subliniez ca este mult mai valoroasa implicarea ca timp si energie si daca nu se gasesc acelea, sunt ok si banii, notandu-se ca se vor considera ca donatie in cel mai pur sens al cuvantului, fara sa cumpere mai multa influenta decat participarea directa la activitatile mai mult sau mai putin concrete ale comunitatii.

Cat despre mine personal, lucrurile care ma motiveaza acum in viata nu vad sa fie foarte influentabile de bani. Daca musai-musai-musai vreti sa-mi faceti o favoare financiara, gift carduri de la Amazon ar fi apreciate, pe adresa de gmail pe care o stie toata lumea (am un wishlist publicat pe undeva, dar nu m-am prins exact cum functioneaza si intre timp m-am dedulcit la Kindle).

Repet, apreciez mult mai mult ce proiecte am putea face impreuna decat ce sume de bani ati putea produce. In definitiv, scopul e mai important decat mijloacele.

applet telecomandat din X11

Problema avuta astazi: se da o masina linux care dintr-un motiv sau altul a ramas fara retea (sa zicem ca i-a fost data jos interfata de retea gresita, ma rog). Nici o problema, avem KVM, uite o ocazie sa-l folosim.

Well, dragii mosului, problma cu KVM-urile over IP este ca desi au fata de consolele seriale avantajul(?) de a transmite GUI-uri, nu te poti da peste ele cu telnet ci, de obicei, cu cate un applet java (ca na, write once, swear everywhere). Sarind peste faptul ca ultima oara cand am incercat pe sistemul meu appletul ala nu voia de loc cu openjdk si la sun-java crapa undeva prin swing, m-am dus direct la colegul, unde mergea ala. Dupa cateva minute de lamurit "cum naibii schimbi console in asta", gasim serverul corect, ramane problema de introdus parola de root in mai putin de 60s cat e setat default (in pam sau in login.defs, mereu uit). Partea fun este ca parola de root e una imposibil de tastat in 60s (stiu asta pentru ca am incercat de vreo zece ori si a devenit clar ca nu avem sanse).

O-kay, we need a plan B. "Appletul asta nu stie paste?" Well, nu, aparent nu exista vreo functie care sa trimita din clipboardul local in cel remote (sau daca exista, secretul e pastrat cu sfintenie de orice umbra de manual). Ctrl-v, shift-insert si alte asemenea sunt transmise ca atare masinii remote. La fel si diverse shortcuturi facute prin wm care sa trimita stringul cu pricina.

Then it struck us. "Pai appletul intercepteaza direct eventurile de la serverul X, nu avem alta sansa decat sa ii trimitem noi ce trebuie!". Niste cautari web convenabil format in jurul keywordului XSendEvent au scos la iveala un programel care se cheama xvkbd (X virtual keyboard, duh), care, apelat sub forma "xvkbd -xsendevent -text " trimite la fereastra activa (well, i-am dat si un sleep inainte, dar asta e alta discutie) stringul cu pricina, atata timp cat e escapat corespunzator, treaba care s-a rezolvat dupa cateva incercari. Ca fapt divers, am dat si un enter parolei tastate, deoarece appltul ala "tasta" destul de lent si n-am fi stiut sigur cand a terminat carnatul ala de parola.

TL;DR: programul xvkbd poate trimite eventuri de tastatura specifice catre orice fereastra X. Daca nu va vine in cap un scenariu unde ajuta, e mai sus unul. Have fun!

semnaturile digitale si Linuxul – partea 1

Ha, aparent a mers mult mai usor decat ma asteptam. Am zis ca spun ceva despre teorie, dar din cauza ca n-am avut rabdare sa citesc "pe sec", dau ceva detalii despre ce si cum am descoperit pana acum si poate imi fac timp si de partea academica. A se nota ca am Debian testing (aka. Squeeze) 32bit pe laptop.

La conectarea "utilajului" intr-un port USB, e vazut ca "Bus 005 Device 009: ID 0529:0600 Aladdin Knowledge Systems eToken Pro 64k (4.2)". M-am uitat rapid prin aptitude sa vad ce am prin sistem legat de pkcs11 sau smartcards, aparent era doar libpcsclite1 (dependinta a lui wpasupplicant, relativ ciudat). Aveam niste soafte primite de la Digisign, dar am zis ca sa fac un minim efort sa vad cum ma scot "default" fara ele. N-am obtinut mare lucru in afara de site-ul http://www.etokenonlinux.org/ (unde sunt tot felul de informatii cool, dar revin mai tarziu).

Eh, mi-am luat inima in dinti si am instalat din bundle-ul primit pachetul pkiclient (versiunea 5.0 SP1, build 59, pentru Ubuntu, dar nici pe Debian n-are nici o greata). Ca o paranteza, lintian pkiclient*deb a dat 2003 linii de output, iar scriptul de postinstall e cam din topor, as fi curios in ce masura cei de la Alladdin ar fi dispusi sa-l aduca mai la normal. Respectivul pachet depinde de libqt4-core, libqt4-gui si pcscd. Primele doua sunt cauzate de clientul clica-clica scris in QT (care e dragut, nu zic nu, arata fix ca interfata de Windows care mi-a fost prezentata), pcscd e "middleware-ul". Am mai instalat si opensc si pcsc-tools pentru diverse utilitare pe care le-am gasit "pe net". Din cate m-am prins pana acum obiectul cel mai important din toata tarasenia asta e /usr/lib/libeTPkcs11.so (instalat de catre pachetul de la Alladdin) care este modulul de acces cu care se leaga toate aplicatiile (gen pkcs11-tool --module=/usr/lib/libeTPkcs11.so --alti --parametri), care la randul lui discuta cu pcscd pe care probabil il informeaza cum sa vorbeasca cu device-ul.

M-am dat putin cu opensc-explorer pe device (si n-am inteles nimic din DF-urile si EF-urile alea), dar ce am rezolvat deocamdata a fost sa conving pe dl. Firefox (ma rog, Iceweasel) sa incarce certificatul de acolo, asa ca imi inchei sesiunea de azi cu ceva util:

* Edit -> Preferences ->Advanced -> Encryption
* Security Devices -> Load
* se alege un nume pt. device si i se da calea catre .so-ul minune (aici am constatat ca e cu acces exclusiv, aveam deschis opensc-explorer si dialogul ala a ramas inghetat pana am iesit de pe card)
* va aparea in partea stanga a device managerului va aparea, pe langa "NSS Internal PKCS#11 Module" si "Builtin Roots Module" si tokenul cu numele dat, si sub el toate certificatele (aparent are 6 sloturi, si le pot folosi pe celelalte 5, dar asta in alt episod)
* daca dai click pe token, se activeaza butonul de "login", si poti introduce PIN-ul (desi s-ar putea sa ti-l ceara cand are nevoie de certificat, sa zicem ai autentificare cu certificate client pe undeva)

Am dat exemplul cu FF pentru ca n-am instalat Thunderbird si nici n-am chef deocamdata sa-mi pun, am vazut demonstratie cu el in seara asta cum se poate folosi tokenul pentru semnare cu S/MIME.

Bun, deci pasul principal l-am facut: tokenul si certificatul de pe el par utilizabile bine-mersi in linux. Acu sa vedem daca il putem folosi si la ceva concret...

semnaturile digitale si Linuxul – episodul 0

Chiar si in vagauna mea deconectata de stirile mondene a ajuns febra semnaturilor digitale care ne-a cuprins brusc patria. Aparent tot acest brusc buzz e dat de faptul ca ANAF a introdus optiunea depunerii electronice a declaratiilor fiscale (si daca inteleg bine, chiar obligativitatea in cazul anumitor agenti comerciali). Dat fiind ca nu ma apasa prea tare problemele astea contabile, mi s-ar parea in principiu doar fapt divers (si ca o paranteza, mi se pare foarte misto ca se incearca a se fac pasi in aducerea birocratiei in era informatiei, dar nu despre asta vreau sa vorbesc).

Ce m-a facut atent este ca am prin lista de contacte niste oameni care sunt apasati atat de problema asta, cat si de "cum facem sa mearga pe Linux" (cu usoare accente de "hotii si banditii care fac solutii ca sa marga doar pe Windows, jos mafia, sus oss-ul, alea-ala"). Intamplator stiu pe cineva care se lauda ca foloseste un token de-asta de ceva vreme in Linux, asa ca am zis ca vreau sa ma joc si eu cu unul.

Fara sa povestesc prea mult, ieri m-am hotarat sa-mi iau un token cu semnatura digitala si sa incerc sa-l utilizez in diverse moduri in Linux, documentand cat se poate de mult. Astazi am obtinut un token USB de la Digisign (care au fost draguti si mi-au facut un discount complet). Inca nu am incercat sa-l folosesc in vreun fel, ma voi stradui sa-mi fac timp cat mai curand si sa dau cat mai multe detalii pot.

In principiu ma interesaza sa pot semna S/MIME emailuri cu el (certificatul e emis pe adresa mea de gmail, pe care o folosesc pe diverse liste) si preferabil sa ma si autentific. Bijuteria coroanei pt. mine ar fi sa-l folosesc ca cheie pt. diversele materiale criptografice (discul criptat LUKS sau Truecrypt, cheile SSH si GPG).

Nota: Din cate inteleg de pe site-ul ANAF, pentru semnarea declaratiilor e necesara o versiune specifica de Adobe Acrobat care daca inteleg bine n-a existat vreodata pe Linux (8.2). Din ce am auzit, tine de niste probleme cu formatul de fisier (P-ul ala din PDF e si nu prea), si ca atare o sa ma uit la treaba asta abia dupa ce imi vad de restul.

In episodul viitor, putina teorie despre cum functioneaza semnatura asta (atat cat ma pricep).

outro

Aparent n-a iesit atat de rau, desi prezentarea si pseudo-slide-urile au fost gandite azi-noapte si azi-dimineata (weekendul asta mi-a fost complet ocupat cu caratul de servere si rackuri, am si o febra musculara pe cinste). Subiectul prezentarii a fost ceva gen "despre etica in IT", si de fapt am aberat cu gratie in jurul codului de etica al SAGE. Ca observatie, sunt destul de incantat ca am reusit sa produc vreo 100 de pagini A5 cu respectivul document pe care sa le impart ochiometric celor trei serii (n-au fost suficiente, dar meh). As fi curios in ce masura au fost citite si dezbatute.

Sper ca am reusit sa compensez suficient socul de a vorbi in fata unui amfiteatru plin ("holy freakin wall of faces" plin), oricum sunt incantat ca am provocat de fiecare data discutii si reactii, desi parca abia la seriile 2 si 3 am reusit sa bat ceva mai la obiect apa in piua, in directia "cautati-va comunitatile profesionale relevante in afara facultatii".

In cazul in care cineva din publicul de azi aterizeaza pe aici cu mai multe intrebari, adresa mea de mail este rpetre at gmail.com, ask and you shall receive. Sau, daca va intereseaza lucruri legate de Linux, dati pe la intalnirile pe care le pomeneste Razvan, o sa dati fie de mine, fie de altii mai valorosi si interesanti ca mine.

invitat special

Luni o sa am ocazia sa tin cate o scurta prezentare in fata a 3 serii de studenti de anul 1 la Automatica. Nu neaparat din cauza ca-s eu atat de genial, ci mai mult din cauza ca eram de fata la nasterea ideii si m-am oferit. Problema e ca momentan nu-s foarte sigur ce as putea sa spun interesant in 10 min unor studenti care tocmai au asistat la cursul de introducere in retele de calculatoare.

In decursul zilelor urmatoare o sa incerc sa strang idei, asa ca as fi incantat de sugestii. Aici in comentarii, sau pe mail (la rpetre at gmail.com) sau pe irc (rpetre pe freenode, oftc si irc.lug.ro).

nagios custom variables

Quick note pt. cine o mai avea nevoie: daca vrei sa folosesti custom object variables (asa cum zice in documentatie) ca variabile de mediu, adica sa le pescuiesti din environment ca $NAGIOS__HOSTMYVAR, apai vezi ca daca rulezi scripturile perl cu ePN nu merge (ma rog, e oarecum logic, da' nu scrie nicaieri negru pe alb, pana mea). M-am scos cu apelatul ca macro-uri din command line pana la urma, da' mi-a mancat 1h din viata...

intrebare de DNS

Sa zicem ca ai un server care e primary master pe un numar de zone si niste slaves, declarati cu totii frumos in zona parinte samd. Sa zicem ca masina care e primary master are niste bube si o scoti din datacenter si o duci acasa sa o testezi. Intrebarea care se pune (si la care as fi stiut raspunsul daca mi-as fi pus-o cand trebuia, dar meh) este in cat timp o sa inceapa sa sune telefonul cu OMGWTFDNSBBQLOL daca in SOA la toate cele ~10 zone ai ceva de genul:

;;snip
@ IN SOA ns.spanac.ro. hostmaster (
2010101010 ; serial
        3h ; refresh
        15 ; retry
        1w ; expire
        3h ; minimum
)
;;more snip

Si ca sa se termine "Speed"-style, ce faci sa rezolvi asap problema daca serverul ala e la tine in casa si n-ai apucat sa setezi un alt dns master, doar cei doi slaves si nu vrei sa stai sa te incurci in viewuri si acl-uri samd cand suna telefonul in draci? What do you do?