Publications

Wikimedia EventLogging

Posted by Strainu on October 13, 2016
Publications / No Comments

Here is another presentation I hold during the Wikimedia CEE Meeting in Armenia this summer. Unfortunately the audience was not technical, so it was not as well received as the one from last year. Still, I hope it will be interesting for other people.

It’s also available as pptx or pdf.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Scurtă prezentare despre libertatea de panoramă

Posted by Strainu on August 08, 2016
Publications, Wikipedia / No Comments

Luna trecută am fost invitat de prietenii de la ApTI să țin o prezentare scurtă, de 10 minute, despre libertatea de panoramă, în cadul unei dezbateri despre reforma drepturilor de autor organizate pentru a face cunoscute inițiativele Comisiei Europene în domeniu. Participanții erau din medii diverse, de la ORDA, patronatul editorilor, geo-spatial.org etc.

Prezentarea este disponibilă la Wikimedia Commons în format pdf.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

List management bot

Posted by Strainu on January 22, 2016
Publications, Wikipedia / No Comments

Last autumn I participated in the Wikimedia CEE Conference in Estonia, where I held a presentation about the list management bot used for maintaining Wikipedia’s List of Historic Monuments in Romania. The presentation was quite technical, so I didn’t get a lot of audience, but I did get some good feedback both during and after the conference.

You can download the presentation as pdf and odp, or directly from Wikimedia Commons.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Provocări și rezultate într-un proiect de voluntariat la scară mare în România

Posted by Strainu on December 02, 2014
Publications, Romana, Wikipedia / No Comments

La seminarul Geo-spațial 2014 de la Timișoara am avut două prezentări. Prima dintre ele a abordat problema organizării unor evenimente cu foarte mulți voluntari și problemele întâmpinate de noi la organizarea Wiki Loves Monuments.

A doua a ținut loc de introducere pentru expoziția WLM, care a fost prezentată timp de două săptămâni în holul mare al Universității de Vest.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Tags: ,

Colectarea și verificarea coordonatelor pentru un proiect liber

Posted by Strainu on April 10, 2014
Publications, Wikipedia / No Comments

Weekendul trecut am fost la Cluj, la seminarul “Soluții libere open source pentru prelucrarea și reprezentarea datelor geospațiale” organizat de geo-spațial și am ținut o prezentare despre cum am strâns și verificat coordonate pentru Lista monumentelor istorice de pe Wikipedia. Prezentarea este disponibilă la sfârșitul articolului.

Pe lângă reîntâlnirea cu colegii de la geo-spațial, care au avut un rol important în promovarea Open Government Partnership la nivelul Guvernului României (și implicit la existența portalului date.gov.ro), am avut și ocazia să fac o aproximare a nivelului de cunoaștere a activităților Wikipediei în limba română și a OpenStreetMap România.

Deși mulți dintre studenți auziseră de cele două proiecte libere, destul de puțini erau conștienți că ele pot fi editate și mai mult, că există un interes pentru date geografice. Din păcate puțini erau familiarizați cu data-miningul sau cu licențele libere, așa încât prezentarea mea a fost percepută ca fiind prea tehnică. Am primit totuși câteva întrebări după prezentare în legătură cu interacțiunea între datele publice de pe date.gov.ro și articolele Wikipedia.

În ceea ce privește celelalte prezentări, mi-a atras atenția prezentarea “Rețeaua națională de localități: actualizarea listei de localități viabile din România“, în care Sorin Rusu de la TeamNet a făcut o analiză a localităților-fantomă din România. În prezent sunt în discuții cu el pentru a avea acces la setul de date, informațiile putând fi foarte utile pentru Proiectul Localităților din România.

Am mai aflat de asemenea că serverul eGISpat al INP ar conține zonele de protecție corecte și complete ale monumentelor istorice din 8 județe, iar proiectul de ridicare a coordonatelor continuă. Se impune probabil o nouă ofensivă la nivelul Ministerului Culturii pentru a obține publicarea datelor respective pe portalul date.gov.ro.

Am avut de asemenea ocazia să discut cu un coleg de la en.wp (care a dorit să rămână anonim) și care se plângea de tonul abordat la Cafeneaua ro.wp, considerat de el ca un pumn în gură pentru cei din afară. Mă bucur să văd că nu-s singurul care a constatat asta. El a mai ridicat și alte probleme, fără să mă convingă că situația de la en.wp ar fi mult mai bună.

În concluzie, deși prezentarea a fost considerată prea tehnică, discuțiile ulterioare au deschis câteva piste interesante de explorat pentru a obține mai multe date pentru Wikipedia.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Crowdsourcing în Europeana

Posted by Strainu on December 10, 2012
Open Content, Publications, Romana, Wikipedia / No Comments

Săptămâna trecută am fost invitat, ca organizator al Wiki Loves Monuments, la colocviul de închidere al proiectului CARARE, la Institutul Național al Patrimoniului. Pozele de la WLM vor fi încărcate pe Europeana prin acest proiect în urma scrisorii deschise trimise anul trecut către minister.

La acest colocviu am ținut o prezentare despre acțiunile de implicare a maselor (aka crowdsourcing) în realizarea de materiale pentru Europeana, pe care o puteți citi mai jos sau o puteți descărca în format pdf, odp sau pptx.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Wikipedia for Maps (Wikipedia pentru hărți)

Posted by Strainu on October 16, 2012
Open Content, Publications / No Comments

Last Friday I was invited to the annual geo-spatial.org conference to talk about OpenStreetMap. You have the slides, in Romanian, below (odp, pdf). The text content is licensed CC-BY-SA-3.0-RO.

The movie will be up shortly on the conference’s website. Enjoy!

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Tags: ,

Libertatea dincolo de software

Posted by Strainu on April 04, 2011
Open Content, Publications, Romana, School, Wikipedia / 3 Comments

Acum două săptămâni am fost invitat să le vorbesc unor studenți ce urmează “Cursul de dezvoltare liberă” despre Wikipedia și alte proiecte libere în care am fost implicat. Am decis să mă orientez spre proiecte non-software, tocmai pentru a le oferi și o altă abordare a libertății decât cea pe care o văd la curs.

Am vorbit deci despre oportunitatea folosirii limbii române în cât mai multe din proiectele la care participă, apoi despre Wikipedia și OpenStreetMap, iar în final le-am prezentat câteva informații sumare despre licențele specifice pentru bazele de date. Prezentarea este disponibilă in format odp și pdf.

Prezentarea a fost bine primită, diferența între harta OSM înainte și după importul de date CLC smulgând câteva aplauze 😛 Din păcate s-a observat și în rândul studenților prezenți acolo o lipsă de încredere în capacitatea românilor de a produce conținut de calitate, precum și dorința multora de a pleca din România. Argumentul cel mai des folosit pentru utilizarea limbii engleze în blogurile lor a fost “pot să îl prezint unui angajator de afară”.

Un oarecare interes a stârnit și ideea mea cu o aplicație Google Apps de transfer de date între OSM și Wikipedia. Voi încerca să o pun în aplicare la următorul Coding Day organizat de PyBucurești.

Sper ca din cei vreo 20 de oameni prezenți măcar vreo 2-3 să aibă curiozitate să încerce proiectele despre care am vorbit.

Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Tags: , ,

Maşină de codare cu algoritmul ARCFOUR şi microcontrollerul Atmel ATmega16

Posted by Strainu on January 23, 2007
My Projects, Publications, Romana / 6 Comments

Pentru versiunea originală a articolului, inclusiv codul, vezi pagina de proiecte.

Cuprins

Ideea proiectului

Proiectul constă în realizarea unui dispozitiv de codare/decodare a datelor de pe un card de memorie folosind un algoritm asemănător cu RC4.

Codarea

Datele vor fi citite de la calculator prin interfaţa serială, vor fi codate în microporcesor şi vor fi scrise pe un card SD/MMC care poate fi apoi transportat la o maşină de decodare

Decodarea

Datele codate vor fi citite de pe card, decodate şi scrise pe interfaţa serială către calculator.

Proiectul nu va coda decât bucăţi de text introduse în hyperterminal. Pentru a coda şi alte tipuri de date se poate crea un program care să ruleze pe calculator şi care să facă o codare în base64.

Modalitatea de implementare

Vom folosi plăcuţa realizată la faza 1, care conţine microcontrolerul Atmel ATMega16, circuitul de alimentare la 5V şi portul serial de comunicare cu calculatorul.

La acest circuit vom mai ataşa un cititor de carduri SD/MMC pentru a stoca datele codate. Comunicarea între microcontroler şi cititorul de carduri se face prin portul SPI (pinii PB4-PB7 ai microcontrolerului). Cardurile MMC sunt alimentate la 3,3V şi nu la 5V ca restul circuitului, de aceea mai avem nevoie şi de o sursă de tensiune de 3,3V care să ofere Vcc pentru card.

Utilizatorul va comunica cu programul prin intermediul portului serial şi a unui program dedicat (de exemplu hyperterminal). El va putea decide dacă doreşte să codeze sau să decodeze un text, va putea să introducă parola şi eventual textul care trebuie codat.

Partea hardware

Schema electrică a întregului ansamblu:

Schema folosită la simulare. Se observă folosirea SPI debugger în locul cardului SD/MMC

Comunicarea cu cardul

Comunicarea se face prin trimiterea de comenzi către card şi primirea răspunsurilor. În total există 15 comenzi şi 3 răspunsuri, pe care însă nu le vom descrie aici. Pentru o desciere amănunţită, vezi [4]. Citirea/scrierea se fac pe blocuri, dimensiunea implicită fiind de 512 octeţi. Multe carduri nu permit schimbarea acestei dimensiuni, deşi protocolul prevede şi această posibilitate.

Comunicarea are 3 componente:

  1. Initializarea
  2. Citirea
  3. Scrierea

Initializarea

În primul rând cardul trebuie resetat. Acest lucru se face trimiţând comanda 0, la care cardul trebuie să rărpundă cu 0x01 (ceea ce înseamnă că a intrat în starea IDLE). Apoi se face iniţializare propriu zisă, în care se trimite comanda 1 şi se asteaptă răspunsul 0x00. Iniţializarea poate dura câteva zeci de milisecunde, timp în care se va primi altceva.

Citirea

În cadrul acestui proiect vom face numai citirea unui singur bloc. Se va trimite comanda 17 cu un argument ce reprezintă numarul de octeţi de la începutul cardului de la care se va face citirea. Răspunsul primit trebuie să fie 0xFE, altfel avem eroare. Dacă nu avem eroare, va urma un bloc de date şi 2 octeţi reprezentând CRC-ul blocului. În această aplicaţie am decis să ignorăm acest câmp.

Scrierea

Scrierea va fi tot pe un bloc. Se va trimite comanda 24, se va aştepta răspunsul plus timpul necesar încă unui octet, apoi se vor trimite datele. După terminarea transmisiei, cardul va trimite imediat un răspuns, urmat de o perioadă de BUSY în care se va face efectiv scrierea, şi în care trebuie să aşteptăm cardul să devină disponibil.

Comunicarea cu seriala Atmel ATmega16 are inclusă posibilitatea de comunicaţie pe serială. Funcţiile implementate asigură conversia dintre \r\n şi \n. În plus, am folosit macroul FDEV_SETUP_STREAM pentru a putea folosi seriala ca intrare/ieşire standard.

Lista componentelor necesare

Lista cuprinde doar componentele suplimentare faţă de cele folosite în plăcuţa comună. Pentru lista componentelor folosite la plăcuţă, vezi aici.

Cititor carduri SD/MMC 1 bucată Comet S.R.L.
Rezistenţe de 1K8 3 bucăţi Comet S.R.L.
Rezistenţe de 3K3 3 bucăţi Comet S.R.L.
Stabilizator tensiune de 3,3V 1 bucată Comet S.R.L.
Condensatori de 100nF 2 bucăţi rămaşi de la faza 1

Partea software

Programul rulat de microcontroler foloseşte portul serial pentru a primi informaţii de la utilizator. Acesta trebuie să aleagă dacă doreşte să codeze sau să decodeze text.

CODARE

La codare, utilizatorul trebuie să introducă parola cu care se face codarea precum şi textul de codat. Rezultatul codării este scris în sectorul 1 al cardului MMC

DECODARE

La decodare, utilizatorul va introduce parola şi programul va decoda textul. Dacă parola este corectă, textul va avea sens, dacă nu, cel mai probabil vom avea caractere din setul ASCII extins, eventual neafişabile.

LIMITĂRI

Datorită limitărilor hardware (doar 512 octeţi de RAM) şi a faptului că algoritmul ARCFOUR foloseşte un vector de 256 de elemente, limita pentru lungimea parolei este de 8 caractere (64 de biţi) şi lungimea textului este de maxim250 de caractere. Teoretic s-ar putea dezvolta o metodă prin care cei 256 de octeţi ar putea fi reduşi la 224, ceea ce ar elibera încă 32 de octeţi, însă această metodă ar fi mare consumatoare de timp.

O altă soluţie ar fi citirea câte 250 de caractere până la finalizarea textului, însă acest lucru ar putea crea confuzie pentru anumiţi utilizatori.

STRUCTURA PROGRAMULUI

Pe lângă programul principal, codul mai are 3 module: unul care se ocupă de comunicarea pe serială, altul care se ocupă de comunicarea cu cardul MMC şi a treia care se ocupă efectiv de codare.

UNELTE SOFTWARE

Pentru acest proiect am folosit avr-studio, win-avr pentru compilatorul gcc-avr şi Proteus pentru simulare.

Concluzii

Datorită problemelor software menţionate la punctul anterior dispozitivul nu poate fi utilizat în lumea reală. Dacă problemele acestea ar fi depăşite, proiectul ar putea fi cu adevărat util. Printre dezvoltările ulterioare ce ar putea fi realizate aş enumera folosirea unui algoritm de criptare mai performant (slăbiciunile lui ARCFOUR au fost demonstrate de spargerea criptării WEP), critarea fişierelor şi/sau a directoarelor, etc. Dacă la faza 2 am spus că voi folosi întreruperi pentru a decide dacă e vorba de codare sau decodare, până la urmă am renunţat la această soluţie ca fiind nepractică (se poate uita foarte uşor să se apese pe buton). Singura problemă hardware cu adevărat dificilă a fost defectarea stabilizatorului de 3,3V. Cum toate magazinele de specialitate erau în inventar, am recurs la o schemă de stabilizare folosind o diodă Zener şi o rezistenţă de 100Ω, care dă o tensiune de aproximativ 3,2V, în limitele de funcţionare ale cardului.

Referinte şi Link-uri

  1. Schema electrică pentru MMC: http://www.captain.at/electronic-atmega-mmc.php
  2. Codarea RC4: http://en.wikipedia.org/wiki/RC4
  3. Date tehnice MMC: http://mmc.drzeus.cx/wiki/
  4. Comenzi MMC în modul SPI: http://elm-chan.org/docs/mmc/mmc_e.html
Share and Enjoy:
  • Facebook
  • Twitter
  • Identi.ca
  • LinkedIn
  • Reddit
  • Add to favorites

Tags: , , ,

Configurarea Linksys WRT54GL pentru mărirea TTL-ului

Posted by Strainu on November 21, 2006
Publications / 2 Comments

Cuprins

Introducere

În România există foarte mulţi ISP care trimit pachetele către utilizatori cu ttl=1, pentru a împiedica furtul de net. Din păcate acest lucru afectează şi utilizatorii cinstiţi, care posedă mai multe calculatoare şi doresc să le conecteze în reţea, eventual wireless.

Acest articol va explica cum se poate realiza acest lucru cu ajutorul unui router care rulează Linux.

Ce este TTL?

TTL, sau Time to live, este un câmp din antetul pachetelor IP care precizează prin câte servere/routere poate trece pachetul respectiv. Acest câmp este setat de calculatorul care trimite pachetul şi este decrementat de fiecare router prin care va trece. Când valoarea sa ajunge la 0, pachetul este distrus. După cum spuneam, anumiţi ISP modifică valoarea TTL-ului la 1 pentru toate pachetele la ultimul router înainte de calculatorul utilizatorului. În acest fel, dacă înainte de calculator mai pui un router, toate pachetele primite vor fi distruse de acesta.

Cum se poate modifica TTL?

Un răspuns simplu este: în loc să-l decrementăm, îl setăm la orice valoare dorim. În Linux, acest lucru se realizează prin comada iptables. Cum se procedează exact puteţi afla din [7]. Pentru comenzile care vă trebuie pentru modificarea TTL, citiţi în continuare. 🙂

Cerinţe

ATENTIE! Instalarea unui alt firmware decât cel original duce la pierderea garanţiei şi poate provoca distrugerea routerului. Toate operaţiunile pe care le faceţi SUNT PE RĂSPUNDEREA DVS. În nici un caz nu pot fi tras la răspundere pentru pagubele de orice fel provocate de încercarea de a implementa metoda prezentată în acest articol.

Cunoştinţe necesare

CUNOŞTINŢE INDISPENSABILE (aka dacă nu eşti sigur pe astea las-o baltă):

  • lucrul în linie de comandă în Linux;
  • configurarea plăcii de reţea pe sistemul tău de operare (adresă IP, adresă de reţea, netmask, DNS, DHCP);
  • cunoştinţe despre rutare;
  • folosirea unei interfeţe web (deşi dacă ai ajuns să citeşti asta probabil că măcar atât eşti în stare)

CUNOŞTINŢE RECOMANDATE (aka caută şi tu pe net):

  • cum se poate prinde ISP-ul că tu ai router;
  • securitatea în reţele wireless (dacă ai un router wireless)

Cerinţe hardware

Pentru a implementa această soluţie, aveţi nevoie de un router care să ruleze Linux. O listă a routerelor suportate de OpenWrt găsiţi aici.

Linksys WRT54GL

Eu am ales un router Linksys WRT54GL. WRT54G a fost primul router la care Linksys a făcut publice sursele firmwareului său. Ulterior, Linksys a trecut de la Linux la VxWorks dar a scos pe piaţă modelul GL care rulează în continuare Linux. Puteţi găsi preţuri căutând pe Google.

Instalarea OpenWrt

OpenWrt este una din multele distribuţii de Linux apărute pentru routerele care rulează Linux. Deşi nu există încă versiunea 1.0 (deci teoretic sistemul este încă în faza de testare), OpenWrt este suficient de stabil pentru utilizatorii obişnuiţi.

Înainte de orice, citiţi ghidul oficial de instalare

Modalitatea cea mai simplă de instalare, precum şi singura prezentată aici, este din interfaţa web a routerului. Eu personal vă recomand să setaţi conexiunea la internet din interfaţa web ÎNAINTE de a instala OpenWrt. Valorile setate se vor păstra.

  1. Downloadaţi de aici imaginea de firmware corespunzătoare routerului folosit (pentru WRT54GL fisierul este openwrt-wrt54g-squashfs.bin )
  2. Intraţi în interfaţa web la adresa http://192.168.1.1/ şi mergeţi la system -> administration -> firmware upgrade
  3. Alegeţi fişierul downloadat şi cu asta basta!
  4. ATENŢIE! Instalarea NU trebuie întreruptă sub nici un motiv! Aveţi grijă să nu se întrerupă curentul în timpul instalării. Dacă aveţi un UPS, folosiţi-l. O instalare întreruptă poate duce la distrugerea routerului.
  5. După instalarea OpenWrt este recomandată (dar nu neapărat necesară) instalarea X-Wrt, un set de pachete care ameliorează interfaţa cu utilizatorul a OpenWrt. Principala componentă este webif2, o interfaţă web complet modificată. Instalarea X-Wrt se poate face online, direct din pagina principală a proiectului. Pozele prezentate în continuare folosesc X-Wrt. Multe dintre ele pot fi din versiuni mai vechi, dar în principiu nu există deosebiri esenţiale.

Configurarea

Configurarea minimală a routerului

După ce modificaţi ceva din setări, amintiţi-vă să apăsaţi pe butonul “Save”. La sfărşit trebuie să apăsaţi pe legătura “Apply Changes” pentru ca modificarile să fie efectuate pe router

Stabilirea unei parole

La prima pornire a OpenWrt vi se va cere să vă setaţi o parolă pentru utilizatorul root. Acest lucru este necesar pentru asigurarea securităţii routerului.

Instalarea librăriilor necesare

Pentru a realiza configurările prezentate mai jos, aveţi nevoie de câteva pachete suplimentare. Instalarea lor se face foarte uşor din interfaţa web, mai exact din tabul System ->Packages. Trebuie să alegeţi din lista de pachete disponibile toate pachetele care încep cu iptables- sau cu kmod-ipt-. În mod normal, dacă instalaţi pachetul iptables-extra, celelalte pachete necesare vor fi instalate automat. Dacă nu, apăsaţi pe linkul Install de lângă fiecare pachet.

Configurarea interfeţei externe

În interfaţa de reţea WAN veţi introduce cablul de reţea care vine de la ISP/modemul de cablu/modemul ADSL. Pentru a o configura, mergeţi în interfaţa web la tabul Network ->WAN-LAN -> WAN Configuration. Configurarea este intuitivă, ea semănând destul de mult cu cea din Windows. Singurul lucru care merită menţionat este să vă salvaţi modificările înainte de a adăuga un server DNS.
WAN-LAN

Configurarea interfeţei cu reţeaua locală

Pentru a modifica aceste setări, mergeţi în interfaţa web la tabul Network ->WAN-LAN -> WAN Configuration. În principiu, setările default ar trebui să fie OK.
WAN-LAN

Configurarea reţelei Wireless

Dacă aveţi şi o interfaţă wireless, o puteţi configura din tabul Network ->Wireless. Dacă nu ştiţi cu ce se mănâncă setările respective, căutaţi pe net sau lăsaţi-le aşa cum sunt.
WLAN

Configurarea calculatoarelor

Cel mai uşor este să vă setaţi calculatoarele să-şi ia adresa IP automat de la serverul DHCP (încorporat în router). Pentru a modifica modul de funcţionare al acestui server, mergeţi în interfaţa web a routerului la tabul Network ->DHCP. Setările default ar trebui să fie OK.
DHCP

Mărirea TTL-ului

În acest moment aveţi o reţea funcţională, dar care nu poate accesa Internetul 🙂

Singurul calculator pentru care ar trebui să funcţioneze este routerul însuşi. Pentru a verifica acest lucru, logaţi-vă prin ssh la router (un client foarte bun de ssh pentru Windows este putty) folosind userul root şi parola setată la instalare, apoi încercaţi să scrieţi în linia de comandă ping www.yahoo.com. Dacă serverul vă răspunde, aţi terminat cu prima parte. Dacă nu, verificaţi că aţi băgat toate firele şi aţi configurat corect routerul.

Observaţi că mesajele de răspuns de la yahoo au ttl=1. În continuare vom încerca să modificăm acest ttl la 64.

Primul lucru (şi de fapt şi singurul) care trebuie făcut este să modificăm fişierul /etc/firewall.user. Acest fişier este rulat la start-up şi setează modul în care routerul tratează pachetele primite. Pentru modificare trebuie să folosim editorul vim. Dacă nu sunteţi familiar cu comenzile sale, citiţi mai întâi manualul.

  • Conectaţi-vă prin ssh la router.
  • Când vă apare linia de comandă, scrieţi:
vi /etcfirewall.user
  • Chiar la începutul fişierului, adăugaţi liniile următoare:
/sbin/insmod ipt_ttl.o          2> /dev/null 

/sbin/insmod ipt_TTL.o          2> /dev/null 

/sbin/insmod ipt_recent.o          2> /dev/null

Aceste linii încarcă în kernel anumite librării (suprimând mesajele de eroare)

  • Dacă nu le aveţi deja, introduceţi şi liniile următoare:
WAN_IP=$(nvram get wan_ipaddr) 

LAN_IP=$(nvram get lan_ipaddr)
  • În sfârşit ajungem şi la liniile care modifică efectiv ttl-ul:
iptables -t mangle -F PREROUTING 

iptables -A PREROUTING -t mangle -d $WAN_IP -j TTL --ttl-set 64

Să explicăm un pic semnificaţiile comenzilor. Prima linie goleşte, în tabelul mangle, suita de comenzi efectuate înainte de rutarea fiecărui pachet. A doua linie introduce, în acelaşi loc, o nouă comandă care setează ttl-ul la valoarea de 64. Pentru mai multe informaţii vedeţi [6].

  • Salvaţi fişierul. În acest moment ar trebui să puteţi accesa internetul de pe oricare din calculatoarele din reţea fără probleme.

Alte configurări

Internetul funcţionează, dar ce facem dacă dorim să rulăm un server sau să folosim programe p2p gen DC++ sau BitTorrent? Răspunsul este port forwarding. Setările respective se pot face din interfaţa web, din tabul Network ->Firewall. Acolo puteţi seta reguli de tratare a pachetelor în funcţie de IP/portul sursă/destinaţie.