Dynamic DNS & IPv6 – D.U.I.A.

Dynamic DNS & IPv6 - D.U.I.A.

Majoritatea providerilor de internet broadband folosesc IP-uri alocate dinamic, via PPPoE, DHCP etc. Acest lucru a generat nevoia de intrari dinamice in DNS pentru a identifica printr-un nume, echipamente ce-si puteau schimba oricand IP-ul. Au aparut astfel de servere DNS, unde utilizatorul isi putea face un cont si isi putea updata adresa IP fie static, direct dintr-o interfata web, fie dinamic, automat, la fiecare schimbare de IP.

Problema la IPv4 este ca toate echipamentele din spatele unui router care le face NAT ajung in internet cu aceeasi adresa IP publica. Astfel, dynamic DNS ne va ajuta sa ne conectam din internet pe routerul de acasa insa nu si pe camera WEB din spatele lui de exemplu (sau cel putin nu fara alte artificii gen “port forwarding” ).

Acum avem la dispozitie si IPv6 pe echipamentele din casa iar la IPv6 fiecare adresa este PUBLICA, nu mai exista conceptul de NAT. Am cautat un serviciu de dynamic DNS pentru IPv6 si nu am gasit unul sa faca ceea ce-mi doresc asa ca am decis sa dau si eu ceva inapoi comunitatii si sa scriu unul de la zero. Cum un contract de hosting nu e suficient pentru ca ai nevoie de un server DNS, un server de mail si un server web costurile au crescut substantial dar am zis ca merita sa fac acest sacrificiu pentru o cauza nobila. In fond unii au murit candva pentru o idee, macar atat sa pot face si eu.

In putinul meu timp liber am pus pe picioare pagina www.duia.ro (Dynamic Updates for Internet Addressing) unde va puteti crea un hostname de genul “.duia.ro” si unde va puteti face deocamdata inregistrari statice atat pentru IPv4 cat si pentru IPv6. In acest stadiu, conceptul D.U.I.A. este util celor care au IP-uri fixe, in special IPv6. Pentru partea de IP-uri dinamice am inceput deja sa scriu in perl un client de linux pe care sper sa-l termin intr-o saptamana si pe care-l voi publica pe site, impreuna cu sursele evident. Voi incerca apoi sa scriu o versiune in C (aici cu siguranta voi avea nevoie de ajutor) pe care sa o putem instala si pe windows.

Repet, la IPv6, daca ai un client de dynamic DNS doar pe router nu te va ajuta pentru ca PC-ul tau din LAN va avea si el adresa IPv6 publica deci va avea nevoie si el de dynamic DNS. Mai mult decat atat, daca ai o camera web sau un contor de gaz pe IPv6, ele cu siguranta nu vor putea avea niciodata clienti de dynamic DNS; si atunci, cum le vei accesa remote ? Aici vine partea interesanta, clientul “duia” care va rula pe router, va face update automat si la IP-urile device-urilor din spate (camera web, contorul de gaz, frigider) pe care si le va lua din tabela DHCP. Abia atunci conceptul D.U.I.A. va incepe sa devina cu adevarat util, insa pana atunci intrati pe www.duia.ro, faceti-va conturi, testati si oferiti feedback. Nu uitati ca serverul DNS, serverul web, severul de mail, toate scripturile din spate cu care se creaza conturi, se trimit mailuri, se face update in DNS, interfata grafica etc. sunt toate intr-o versiune BETA. Nu aruncati asadar cu pietre insa nici nu va abtineti de la comentarii. Dezbaterile pe marginea unei idei sunt utile comunitati de cele mai multe ori.

Prin D.U.I.A. vreau sa pun in lumina cat mai bine o situatie in care IPv6 chiar sa faca diferenta si imi doresc sa pot mentine conceptul D.U.I.A. gratuit pentru oricine, pentru totdeauna. Sper sa si reusesc !

34 Comments

  1. Salut,

    E o problema la sign-up cu e-mail-ul de confirmare ? Mie nu mi-a mai venit.

  2. @Mihnea: cauta-l si in SPAM. de pe mail.duiadns.net vad ca a plecat catre adresa ta de mail.

  3. Author

    am terminat de scris primul client DUIA, o versiune pentru linux, pe care l-am testat inclusiv pe routere cu firmware OPEN-WRT ce include PERL. merge ok si face update atat la v4 cat si la v6 insa nu-l voi publica (il dau pe mail cui vrea sa-l testeze) pentru ca vreau sa regandesc si partea de server si cu siguranta va fi nevoie sa scriu un alt client.

  4. Author

    http://www.duiadns.net are acum o fata noua si niste imbunatatiri:
    1. daca iti faci un cont, sa zicem “john”, vei avea by default hostname-ul john.duia.ro dar poti schimba asta daca nu vrei sa folosesti numele contului.
    De exemplu, ai username “john” dar alegi hostname-ul ionut.duia.ro

    2. poti crea inca 3 subdomenii de forma “xxx.john”.duia.ro, o facilitate foarte utila pentru IPv6 in special unde vei avea IP-uri publice la device-urile din casa.
    De exemplu, john.duia.ro iti va permite sa mai creezi si:
    * cam.john.duia.ro
    * ipad.john.duia.ro
    * nas.john.duia.ro

    3. daca ai IP-uri statice (v4 sau v6) iti poti face inregistrarile din interfata web. Foarte util mai ales la IPv6 unde ai IP-uri publice pentru fiecare device din casa.

    ORICE feedback este foarte bine venit !

  5. Author

    am tot scris cod in java in ultima vreme si am reusit sa fac client grafic (am ajuns la versiunea 2.6) atat pentru windows cat si pentru linux.
    ii gasiti pe https://www.duiadns.net, dupa ce va logati, la sectiunea download.
    e nevoie de Java Runtime Environment 6 sau 7 pe masina pe care-l rulati.

  6. Author

    sunt gata si binarele pentru routere (multumiri lui Ionut Slaveanu):
    https://www.duiadns.net/download.html
    acum puteti face DNS update la IPv6 direct de pe router pentru hosturile din LAN, daca le adaugati MAC-urile in interfata web.

    1. duia-cmips-1.1 – testat pe Linksys WRT-160NL ruland imaginea BARRIER BREAKER (Bleeding Edge, r35608)

    2. duia-cmipsel-1.1 – testat pe Linksys E2000 / Linksys E4200 ambele ruland imaginea Tomato 1.28.0000 MIPSR2-108 K26 USB AIO

    3. duia-clinux-x86-1.1 – varianta de linux 32 bits (testat pe ubuntu)

    4. duia-clinux-x64-1.1 – varianta de linux 64 biti (testat pe ubuntu )

  7. salut
    am si eu un E4200 si intetionez sa pun tomato pe el din cauza ca firmware cu care vine e praf. faza e ca vreau sa faca DDNS sub retea RDS cu PPOE. intrebarile:
    – un link de unde sa iau firmware de tomato mentionat de tine mai sus (Tomato 1.28.0000 MIPSR2-108 K26 USB AIO)
    – se mai poate reveni la firmware initial dupa update cu tomato?
    – un tutorial cum se face ddns cu duia…nu prea am inteles ce tre sa fac cu tar-urile alea….unde se intaleaza?
    merci

  8. Author

    @Dragos: eu am acasa exact la fel: E4200, DDNS DUIA si PPPoE RDS.

    – firmware il iei de aici: http://tomato.groov.pl/download/K26RT-N/build5x-108-EN/Linksys%20E-series/tomato-E4200USB-NVRAM60K-1.28.RT-N5x-MIPSR2-108-AIO.bin

    recomand versiunea 108 (cea de mai sus). au aparut si 110 si 112, le-am testat pe ambele dar au niste probleme cu driverul de wireless care e beta. se instaleaza din interfata web, neaparat sa faci un “reset to default” dupa instalare si se poate reveni la firmware original insa nu cred ca o vei mai face.

    – pentru DDNS de la DUIA ai 2 variante:
    1. Custom URL direct din interfata (ai in contul tau de pe duia URL-ul generat, doar trebuie sa pui @IP ca variabila pentru adresa IP). iti va face update doar la IPv4 insa.
    2. binarul de pe site (cauta mipsel)(https://www.duiadns.net/download.html), care iti va face update IPv4/IPv6 dar si la adresele IPv6 ale device-urilor din LAN daca le adaugi MAC-ul in interfata web. trebuie insa sa-l pui fie pe un stick USB pe care il infigi in router (ca sa nu dispara dupa ce rebootezi routerul) fie sa-ti activezi JFFS din interfata web tomato si sa-l pui in /jffs.

  9. incerc si-ti dau de veste daca merge:)
    multumesc mult si sper sa ma descurc.

  10. liviu am apucat sa fac upgrade la firmware dar am o mare problema:)
    nu stiu cu ce user si parola sa ma loghez..am sapat in toate partile dar fara succes.
    ajuta-ma

  11. am reusit sa intru.
    fermecator firmware-ul
    incep intrebarile: cum fac activ IPv6?
    am dat format la jffs totusi cum incarc scriptul de care mentionezi?
    se poate utiliza si un alt host pentru DDNS in afara de duia? vad ca lista e destul de mare acum:)
    se poate face un mediashare?
    multumesc si scuze pentru intrebarile de noob

  12. Author

    @dragos: te loghezi cu admin/admin. daca nu merge din prima faci “reset to default”, adica tii butonul de reset apasat 30 de secunde, il scoti din priza, il bagi la loc dar tot cu butonul de reset apasat inca 30 de secunde si atunci chiar ar trebui sa-ti mearga admin/admin.

  13. Author

    @dragos: pentru a activa IPv6 faci ca in poza asta:
    http://www.techtorials.ro/wp-content/uploads/tomato-2.png

    daca vrei sa incarci ce pe partitia jffs trebuie sa activezi ssh si sa folosesti scp de pe masina ta.

    Exemplu:

    sa spunem ca esti pe masina ta si vrei sa urci fisierul duia-mipsel pe router, care are ip-ul 192.168.0.1

    # scp duia-mipsel root@192.168.0.1:/jffs/.

    poti sa folosesti si altceva in afara de D.U.I.A. insa multe nu sunt free si nici una nu stie de IPv6 pentru hosturile din LAN.

  14. salut Liviu
    merci pentru sfaturi.
    am facut totusi un DDNS prin dyndns. intial faci cont la dlinkdns ai utilizezi acelasi cont. merge brici si cu IPV6.
    totusi nu reusesc cu fac serverul de DLNA activ in routerul pe care am pus tomato. am pus pe un stick de 16 G continut fara nici un director.la partea cu mount il vede fara probleme.am dat share in directorul radacina….totusi nu stiu cum sa accesez serverul de DLNA. intial m-am gandit cu VLC player totusi am vazut ceva link-uri pe youtube ca poti urca continut diferit in mai multe directore ex poze filme si sa faci browsing in ele sa alegi ce vrei sa vezi…multumesc pentru tot. oricum voi incerca sa fac si cu DUIA acelasi lucru de DDNS sa vedem daca imi iese.

  15. Salut,

    exista posibilitatea de a intra in posesia codului sursa al clientului (cel scris in C, pentru consola)? As prefera mi-l compilez eu. 😀

  16. Author

    @Gabi: sursele clientului in C nu vor fi disponibile. nu a fost decizia mea, doar am ales sa respect niste conditii minime impuse de cineva care a sponsorizat acest proiect.

  17. Salut. Cum pot instala DUIA Client pe un Raspberry Pi pe care vreau sa il fac micro-server?

  18. Author

    @Robert: ce OS rulezi pe rasberry pi si ce versiune de gcc ?
    eventual alege un binar si ruleaza comanda ‘file’ pe el.
    Exemplu:

    xxx@xxx:~$ which ls
    /bin/ls
    xxx@xxx:~$ file /bin/ls
    /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x83531f308f1fa18221be53eaf399303400c14638, stripped

  19. Salut Liviu. Sistemul pe care il folosesc este Raspbian OS.M-am uitat pe pagina lor oficiala si ar fi trei versiuni de GCC…Nu stiu ce versiune am eu…imi cer scuze pt asta, dar sunt nou in domeniu…
    Multumesc anticipat pentru tot ajutorul.
    O zi buna.

  20. Author

    @Robert: da-mi te rog link-ul de la imaginea (Raspbian OS) instalata de tine si o sa aflu eu care e compilatorul folosit de ei.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.