Saját .hu domain DynDNS

Sziasztok!

Jelenleg .hu-s domain vásárlás előtt állok. Felmerült egy olyan kérdés is, hogy megoldható-e az, pl. valami.domain.hu-t dinamikusan lehessen frissíteni a rekordját?

Ui.: Ti mit ajánlatok, hol érdemes .hu-s domaint regisztrálni?

Hozzászólások

szia

reggelni szerintem a forpsinál éri meg. olcsó és jó :) CNAME-mel meg rá tudod irányítani az aldomain.domain.hu-t egy DynDNS-es címre :)

hosting55.hu
3in1.hu
dotroll.hu

Egyik se jobb vagy rosszabb a másiknál.
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház

Én beregisztráltam a DotRollnál, majd a felületükön átállítottam a névszervereket az AWS Route53-ra, és az awscli toollal időnként frissítem az A rekordot, ha változik.

Ne butáskodjatok már, jó, webes és ingyenes DNS szervernek ott az afraid.org.

Szia.
Ez is olyan, hogy a szolgáltatod engedi e, hogy valamilyen külső url adatot küldjön oda frissíteni.
Én is rendelkezem saját fizetős tárhellyel, de nem az igazi ez a saját dns dolog. Ami az én parasztmegoldásom volt egy időben:

1. egy aldomain egy index.php fájl al.
2. a szervernek való gép megnyitotta a böngészőben az oldalt get paranccsal kiegészítve. (így frissitettem)
3. aki meghivta az aldomaint headerrel átirányitottam.

Sajnos én is keresem a jobb megoldást, pl, hogy router smtp üzenetet küldjön vagy valami feldolgozza, mert a routerek nagy része noip, meg dyn re van beállva.

My 2 cents: retek egyszerű a DynDNS update protokoll, egy óra alatt meg lehet csinálni és bármilyen DynDNS klienssel kompatibilis leszel. [annó összeraktam egy ilyet, PowerDNS MySQL back-enddel + egy új vhost + egy 58 soros PHP script :) ]

Of course, csak akkor, ha van hozzá egy szerver, amire ezeket fel tudod pakolászni.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Még tegnap akartam írni, hát tegnap már nem, ma meg majd este, ha nem leszek retek fáradt...
Egyébként nagyjából: PowerDNS és a hozzá tartozó MySQL back-end fel, ha jól rémlik (najó, annak a sémája van az adatbázisban, az alapján tippelem :) ) simán PowerAdmin-ban kattintgattam össze a szerkeszthető zónát, utána kapott egy külön vhost-ot az Apache-ban ez a kód (a dyndns.example.org alá kerülnek a rekordok):


<?php
$databaseHost = "127.0.0.1";
$databaseUser = "powerdns";
$databasePassword = "powerdns";
$databaseName = "powerdns";
$domains = array("dyndns.example.org");

/* :domain */
$checkQuery = "SELECT EXISTS(SELECT * FROM records WHERE name=:domain) AS record_exists";
/* :zone, :domain, :ip */
$insertQuery = "INSERT INTO records (domain_id, name, content, type, ttl, prio, change_date) VALUES((SELECT id FROM domains WHERE name=:zone), :domain, :ip, 'A', 120, 0, UNIX_TIMESTAMP())";
/* :domain, :ip */
$updateQuery = "UPDATE records SET content=:ip WHERE name=:domain";

function req(array $array, $key) {
        if(!isset($array[$key])) {
                throw new Exception();
        }
        return $array[$key];
}

function get(array $array, $key, $default = null) {
        if(!isset($array[$key])) {
                return $default;
        }
        return $array[$key];
}

try {
        $hostnames = explode(',', req($_REQUEST, 'hostname'));
        $dbo = new PDO('mysql:host=' . $databaseHost . ';dbname=' . $databaseName, $databaseUser, $databasePassword);
        $dbo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $check = $dbo->prepare($checkQuery);
        $address = get($_REQUEST, 'myip', $_SERVER['REMOTE_ADDR']);
        $updateQuery = $dbo->prepare($updateQuery);
        $checkQuery = $dbo->prepare($checkQuery);
        $insertQuery = $dbo->prepare($insertQuery);
        foreach($hostnames as $hostname) {
                try {
                        list($host, $zone) = explode('.', $hostname, 2);
                        if(!in_array($zone, $domains)) {
                                throw new Exception();
                        }
                        $checkQuery->execute(array('domain' => $hostname));
                        if($checkQuery->fetchColumn()) {
                                $updateQuery->execute(array('domain' => $hostname, 'ip' => $address));
                        } else {
                                $insertQuery->execute(array('zone' => $zone, 'domain' => $hostname, 'ip' => $address));
                        }
                        echo 'good';
                } catch (PDOException $x) {
                        echo '911';
                }
        }
} catch (Exception $x) {
        header('HTTP/1.1 500 Internal Server Error');
        exit();
}

Kell neki egy HTTP Auth (simán Apache-ból fix htpasswd-vel csináltam, de bármilyen back-enddel működhet), az egyetlen gond, hogy per pill nem köti felhasználókhoz a rekordokat, így bármelyik user bármelyik rekordot módosíthatja/bármilyet létrehozhat (nem kellett, mert csak 1-2 családtag használta). Ami még fontos, hogy ennek a scriptnek a /nic/update néven kell elérhetőnek lennie, úgyhogy simán ilyen néven raktam be a DocRoot-ba és kapott egy ForceType application/x-httpd-php direktívát a teljes vhost :) [gyorsan kellett, na :) ]

A protokoll szépen látszik belőle, a /nic/update-re küld egy kérést, benne egy hostname és egy opcionális myip paraméterrel, és sima HTTP authra készül. Válasznak meg egy egyszavas string-et vár, ebben a "good" és a "911" [ez a nem tudom mi, de valami történt kód] szerepel, de több is van.

Off-topic: rákeresve a dyndns 911 kifejezésre (meg akartam nézni, még miket adhatna vissza), találtam egy ilyet is, Bindhoz, kicsit kiforrottabnak tűnik (és kevésbé 58-sorosnak :) ): https://github.com/nicokaiser/Dyndns

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Féligazság.
Mert a protokoll valóban faék egyszerűségű, de egy csomó szutyok routerbe bele van drótozva a néhány domain és máshová nem tud kérést küldeni.
Ha valami normálisabb routere van (akár saját reszelés vagy konzerv tűzfal sw), azon már be tudja állítani, hogy a „saját” DNS szerver felé menjen a kérés.

Viszont úgysem a routert akarja elérni, hanem valami mögötte levő eszközt ;) Azon meg pl. egy inadyn-t (de biztos van Winre is kliens, ill. Androidra tudom, hogy van, mert annó teszteltem vele) bőven elfér.

BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)

Sziasztok.

Nem akartam új topicot nyitni, mert hasonlót szeretnék én is.

Tehát ki milyen egyszerű és jól működő megoldást tud, amivel összerakhatok egy saját dyndns szolgáltatást. Van egy domain nevem és van egy vps-em, azt szeretném, hogy az eszközeim ip-i a domain nevem aldomnjei alá kerüljenek. Tehát mondjuk a domain a sajatdomain.hu, és azt szeretném, hogy pl az otthoni routerem a lakas.sajatdomain.hu-n legyen elérhető, a nyaralóé a nyaralo.sajatdomain.hu -n, és így tovább. Persze az is jó lenne ha mindezt (a frissítést) meg tudnám oldani olyan eszközökkel is, amelyek csak a dyndns.org-ot támogatják...

Köszönöm az ötleteket, segítséget.

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

Ez nem olyan egyszerű, mert a legtöbb routerben nem lehet állítani a szolgáltató címét.
Ha lehet állítani a routerben (PPPoE/DHCP mellett) a DNS szervereket, akkor saját DNS szervert kell üzemeltetned, ami behazudja hogy a dyndns.org IP címe a te VPS-ed. Azonban ilyenkor a helyi DHCP által kiosztott DNS szerverekként (ha lehet állítani) valami 3rd partykat kell megadni (például 8.8.8.8, 8.8.4.4) mert különben a te VPS-edre fog befutni az összes gép lekérdezése. Ugye mondanád ez nem olyan sok kérés, de mivel nem tudsz szűrni forrás IP cím alapján - hiszen pont erről van szó, hogy dinamikus IP címük van -, ezért a különböző botok letámadnának lekérdezésekkel. Persze erre is van nagyon bonyolult megoldás, de inkább router csere, ha ezeket nem lehet állítani rajta.

A szerver implementációra egy példa:
https://github.com/nicokaiser/Dyndns
De github tele van velük egyébként..

Szia,

Dyndns.org használata esetén ehhez a következőt kell tenned:
Bemész a sajatdomain.hu DNS beállításaiba és felveszel egy CNAME rekordot pl.: nyaralo.dyndns.org -> nyaralo.sajatdomain.hu. Ezután a nyaralo.sajatdomain.hu mindig felveszi azt a címet ami a nyaralo.dyndns.org-ra mutat. IP váltáskor lehet némi késedelem, de minél alacsonyabbra veszed a TTL-t annál gyorsabban megtörténik a frissülés.

--

kincza

Szia.

Köszönöm a választ. Igen ezt láttam már emlegetve máshol is. Üzemeltettem is már powerdns-t, de most ezt kicsit overkill-nek érzem. Mindegy, ha nem lesz egyszerűbb, akkor marad ez.

<= Powered By Ubuntu & Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds