abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 563 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    PowerDNS – přívětivý a jednoduchý DNS server

    4. 3. 2014 | Max Devaine | Návody | Sítě | 15903×

    PowerDNS: instalace, konfigurace, webová klikátka, synchronizace s jinými servery a příklad nasazení.

    Obsah

    PowerDNS

    link

    PowerDNS (pdns) je dns server, který disponuje spousty backendy, podporuje jak LDAP, tak MySQL, PostgreSQL, SQLite a další. Oproti jiným DNS serverům tak těží z toho, že všechny backendy jsou „nativní“ a nemusejí se nijak „přikompilovávat“, jako to má třeba Bind, který ani v současné verzi nepodporuje LDAP, MySQL a jiné backendy a vše se řeší externími projekty jako např. LDAP sdb back-end for BIND 9 nebo MySQL BIND SDB Driver.

    Výkonově je na tom PowerDNS trochu hůře, viz např. tento benchmark DNS serverů. Existuje však spousta nasazení, kde jsou takovéto výkonové rozdíly naprosto nepodstatné a lidé dávají přednost jednoduchosti a přívětivosti. Největší oblibu tak nejspíše získal PowerDNS díky MySQL backendu a webovému klikátku PowerAdmin. Toto byly také důvody, proč se tento server nasadil i u nás ve firmě.

    PowerDNS prošel za dlouhá léta spoustou překážek a získal si i nemilé kritiky a odpůrce. Dovolím si tvrdit, že v současné verzi je už natolik vyspělým projektem, že se dokáže rovnat s ostatními a kritikům dochází argumenty.

    Instalace PDNS + PowerAdmin

    link

    Všechny instalační kroky a příklady budeme provádět na 64bit Debian/GNU Linuxu Wheezy. Schválně budeme přeskakovat automatizované kroky v rámci Debianu, aby byl postup co nejuniversálnější.

    Příprava

    link

    Nainstalujeme certifikáty CA, aby nám například wget ověřoval certifikáty u https adres, dále pak MySQL, kde bude mít pdns DNS záznamy, a diagnostické nástroje pro DNS:

    apt-get install ca-certificates mysql-server-5.5 dnsutils
    

    Nezapomene nastavit výchozí komunikaci databáze v UTF-8:

    nano /etc/mysql/my.cnf
    ...
    [client]
    ...
    default-character-set=utf8
    ...
    [mysqld]
    ...
    character-set-server = utf8
    collation-server = utf8_general_ci
    ...
    [mysql]
    ...
    default-character-set=utf8
    ...
    

    A následně restart databáze:

    /etc/init.d/mysql restart
    

    PowerDNS

    link

    Nainstalujeme si PowerDNS, při instalaci na dotaz, zda chceme provést konfiguraci pomocí dbconfig-common zvolíme, že nikoli:
    (PowerDNS může běžet jen v režimu rekurzoru (přeposílače dotazů), v takovém případě se instaluje jen balíček „pdns-recursor“)

    apt-get install pdns-server pdns-backend-mysql
    

    Vytvoříme si databázi a uživatele pro PowerDNS:

    mysql -u root -p
    mysql> create database pdns;
    mysql> GRANT ALL ON pdns.* TO 'pdns'@'localhost' IDENTIFIED BY 'fds2156sdfa_fsda656+fsdaf_fgsda6das5fdsa6fsda_Grwe89';
    mysql> flush privileges;
    mysql> quit
    

    Naimportujeme databázovou strukturu:

    wget -c http://wiki.powerdns.com/trac/export/3178/trunk/pdns/pdns/no-dnssec.schema.mysql.sql
    mysql -u root -p pdns < no-dnssec.schema.mysql.sql
    

    Nastavíme konfigurační soubor pro přístup do DB:

    nano /etc/powerdns/pdns.d/pdns.local.gmysql
    # MySQL Configuration
    #
    # Launch gmysql backend
    launch=gmysql
    
    # gmysql parameters
    gmysql-host=localhost
    gmysql-port=3306
    gmysql-dbname=pdns
    gmysql-user=pdns
    gmysql-password=fds2156sdfa_fsda656+fsdaf_fgsda6das5fdsa6fsda_Grwe89
    gmysql-dnssec=no
    # gmysql-socket=
    

    Zakomentujeme duplicitní bind:

    nano /etc/powerdns/pdns.d/pdns.simplebind
    #launch=bind
    #bind-config=/etc/powerdns/bindbackend.conf
    

    A provedeme restart služby:

    /etc/init.d/pdns restart
    

    V logu bychom měli vidět, že vše běží OK:

    cat /var/log/daemon.log
    ...
    Listening on controlsocket in '/var/run/pdns.controlsocket'
    Guardian is launching an instance
    Reading random entropy from '/dev/urandom'
    This is module gmysqlbackend.so reporting
    This is a guarded instance of pdns
    It is advised to bind to explicit addresses with the --local-address option
    UDP server bound to 0.0.0.0:53
    TCP server bound to 0.0.0.0:53
    PowerDNS 3.1 (C) 2001-2012 PowerDNS.COM BV (Jan 21 2014, 23:46:53, gcc 4.7.2) starting up
    PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
    Creating backend connection for TCP
    gmysql Connection successful
    gmysql Connection successful
    About to create 3 backend threads for UDP
    gmysql Connection successful
    gmysql Connection successful
    gmysql Connection successful
    gmysql Connection successful
    gmysql Connection successful
    gmysql Connection successful
    Done launching threads, ready to distribute questions
    

    DNSSEC

    link

    Kdo by chtěl využívat DNSSEC, tak stačí, aby si takto upravil databázové schéma:

    wget -c http://wiki.powerdns.com/trac/export/3178/trunk/pdns/pdns/dnssec.schema.mysql.sql
    mysql -u root -p pdns < dnssec.schema.mysql.sql
    

    A následně povolil DNSSEC v PowerDNS:

    nano /etc/powerdns/pdns.d/pdns.local.gmysql
    # MySQL Configuration
    #
    # Launch gmysql backend
    launch=gmysql
    
    # gmysql parameters
    gmysql-host=localhost
    gmysql-port=3306
    gmysql-dbname=pdns
    gmysql-user=pdns
    gmysql-password=fds2156sdfa_fsda656+fsdaf_fgsda6das5fdsa6fsda_Grwe89
    gmysql-dnssec=yes
    # gmysql-socket=
    

    A samozřejmě restart služby:

    /etc/init.d/pdns restart
    

    PowerAdmin

    link

    Toto webové klikátko v PHP naladíme velmi jednoduše (ukázka přes Apache httpd):

    apt-get install apache2-mpm-prefork libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-ming php5-mysql php5-xmlrpc gettext php-db php-mdb2 php-mdb2-driver-mysql
    

    Stažení a rozbalení PowerAdmin:

    wget -c https://github.com/downloads/poweradmin/poweradmin/poweradmin-2.1.6.tgz
    tar xvf poweradmin-2.1.6.tgz
    mv poweradmin-2.1.6 /var/www/poweradmin
    

    Spustíme webovou instalaci na adrese „http://ip_naseho_serveru/poweradmin/install/“:

    Instalace PowerDNS Instalace PowerDNS Instalace PowerDNS Instalace PowerDNS Instalace PowerDNS

    Připojíme se do db a nastavíme příslušné oprávnění pro uživatele PowerAdmin:

    mysql -u root -p
    mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON pdns.* TO 'power_admin'@'localhost' IDENTIFIED BY 'fdsaf5as6fa56g465a4f56asd4f_tre54fwe489fweq_gerw652reg6re6greg';
    mysql> flush privileges;
    mysql> quit
    

    a pokračujeme v instalaci:

    Instalace PowerDNS

    Standardně jsme vše dělali jako root a apache běží pod uživatelem „www-data“, tento uživatel tedy nemá práva pro změny v adresáři „/var/www/poweradmin/“ a nemůže tak vytvořit konfigurační soubor. To ovšem není nic, co by nás muselo trápit, ba naopak je to dobře a konfigurační soubor si vytvoříme sami:

    nano /var/www/poweradmin/inc/config.inc.php
    <?php
    
    $db_host		= '127.0.0.1';
    $db_user		= 'power_admin';
    $db_pass		= 'fdsaf5as6fa56g465a4f56asd4f_tre54fwe489fweq_gerw652reg6re6greg';
    $db_name		= 'pdns';
    $db_port		= '3306';
    $db_type		= 'mysql';
    $db_layer		= 'PDO';
    
    $session_key		= '[t=QN0TygKkL9aNStQm9R8-uZ!g+-xi&zz+tj#gq2@-kTC';
    
    $iface_lang		= 'en_EN';
    
    $dns_hostmaster		= 'hostmaster.devaine.cz';
    $dns_ns1		= 'ns1.devaine.cz';
    $dns_ns2		= 'ns2.devaine.cz';
    
    ?>
    

    Instalace PowerDNS

    V posledním kroku tedy smažeme instalační adresář:

    rm -rf /var/www/poweradmin/install
    

    A už bychom se měli dostat do webového rozhraní „http://ip_naseho_serveru/poweradmin/“ jako uživatel „admin“ s heslem „supertajneheslo“:

    Instalace PowerDNS Instalace PowerDNS

    Další webová rozhraní

    link

    Existuje spousta dalších webových klikátek. Mezi ty zdánlivě lepší můžeme jmenovat tyto:

    Bezpečnost klikátek

    link

    Hlavně bych rád upozornil, že není dobré umožňovat přístup k takovým klikátkům všem, pro všechny IP apod., hlavně pokud je jejich vývojový cyklus stylem „nějak to funguje, jdu na další projekt“.

    Nasazení ve firmě v lokální síti

    link

    Jedním z příkladů nasazení může být ve firmě v lokální síti. Na takovém DNS serveru pak budou povytvářeny domény, jejichž součástí budou názvy/adresy serverů ve firmě (a nejen serverů). Zbylé požadavky (na domény, které nebudou povytvářeny na dns serveru) se pak většinou přeposílají na nějaký nadřazený dns server (třeba na nějaký přidělený poskytovatelem připojení k internetu).

    Pokud má firma i nějaké pobočky, není problém replikovat (provádět transfer DNS zón) na servery na pobočkách, které by v takovém případě byly slave servery. Replikace funguje bez problémů i s Windows Servery (ozkoušeno na 2003/2008/2012).

    V takovém případě běží PowerDNS v master režimu jako autoritativní DNS server. Dotazy na domény, které nemá delegovány (nejsou spravovány pdns), se pak mohou přeposílat na jiný server. V takovém případě pak bude základní konfigurační soubor vypadat takto :

    nano /etc/powerdns/pdns.conf
    # adresy slave serveru, na ktere budou replikovany domenove zony :
    allow-axfr-ips=192.168.50.1 192.168.67.200 192.168.194.214
    
    # z jakych adres bude prijimat dns pozadavky (stanice v lokalni siti)
    allow-recursion=127.0.0.1 192.168.0.0/16
    
    # konfiguracni adresar powerdns :
    config-dir=/etc/powerdns
    
    # spusti jako daemon :
    daemon=yes
    
    # nevypinat axfr (povolit transfét dns zón)
    disable-axfr=no
    
    # neposlouchat na TCP (v rozporu s RFC)
    # disable-tcp=yes
    
    # pouzivat striktni RFC (bude pomalejsi, ale nutne pro starsi dns klienty)
    #strict-rfc-axfrs=no
    
    # posilat pouze AXFR NOTIFY pro tyto IP adresy / site
    #only-notify=
    
    # pouzijeme strazce (monitoruje pdns proces a v pripade nutnosti jej restartuje)
    guardian=yes
    
    # pouzit jako backend mysql :
    launch=gmysql
    
    # nejdriv se podivat do lokalni databaze, nez se pristoupi na rekurzi :
    lazy-recursion=yes
    
    # poslouchej na vsech adresach serveru :
    local-address=0.0.0.0
    
    # naslouchat standardne na portu 53
    local-port=53
    
    # logovat do souboru (v opacnem pripade se loguje do syslog serveru)
    #use-logfile=yes
    
    # logovat do souboru :
    #logfile=/var/log/pdns.log
    
    # neloguje informativni udalosti (muze zvysit vykon)
    #log-dns-details=no
    
    # zapne logovani vsech dotazu (zapinat jen pro debugovani)
    #log-dns-queries=no
    
    # podrobnost logovani - cim vetsi, tim podrobnejsi (nedoporucuje se nastavovat vic jak 3)
    #loglevel=1
    
    # bezi v rezimu master :
    master=yes
    
    # bezi v rezimu slave :
    #slave=no
    
    # adresar s modulama :
    module-dir=/usr/lib/powerdns
    
    # dns server, na ktery budou preposilany pozadavky 
    recursor=8.8.8.8
    
    # skupina, pod kterym pobezi powerdns :
    setgid=pdns
    
    # uzivatel, pod kterym pobezi powerdns :
    setuid=pdns
    
    # kde se vytvari socket :
    socket-dir=/var/run
    
    # webovy server, kde bezi statsistiky dotazu
    webserver=no
    
    # adresa, na ktere ma webserver poslouchat
    #webserver-address=
    
    # heslo pro prihlaseni na webserver (uzivatel je : admin)
    #webserver-password=
    
    # a samozrejme port webserveru, na kterem bezi :
    #webserver-port=8081
    
    # co se ma vratit na dotaz ohledne verze serveru :
    # dig chaos txt version.bind @ns1.dnserver.local
    # anonymous|powerdns|full|custom
    version-string=powerdns
    
    # adresar s dalsima konfiguracnima souborama :
    include=/etc/powerdns/pdns.d
    

    Více o volbách viz dokumentace: Index of all Authoritative Server settings.

    Master vs. SuperMaster

    link

    Když běží server v režimu „master“ a potřebujeme dělat transfer zón na nějaký „slave“, tak na onom slave serveru musíme napsat všechny domény, které chceme replikovat. Pokud chceme replikovat celý master server, tak musíme napsat/povytvářet všechny domény v režimu „slave“. Pokud někdy v budoucnu přidáme na master server nějakou doménu, tak jí musíme přidat i na slave server. SuperMaster toto řeší. Díky této funkci lze říci, že se má replikovat celý DNS server včetně všech domén.

    Základem tedy je, aby první server (ns1.devaine.cz – 192.168.200.102) běžel v režimu „master“ a měl povolený transfér zón + definovanou IP adresu serveru, který má povoleno si zóny tahat (192.168.200.103). Druhý server musí běžet v režimu „slave“ (ns2.devaine.cz – 192.168.200.103) a v klikátku mu pak jen přidáme „supermaster“ server, kde bude adresa serveru „192.168.200.102“ a hostname „ns2.devaine.cz“.

    U domény pak musí být NS záznam, že i onen slave server je autoritativní. Příklad nastavení „master“ serveru:

    Master server

    A slave serveru:

    Slave server

    Master – Master

    link

    V lokální síti je ještě jedna trochu nečistá možnost. Nemít master a slave, ale mít něco jako master – master. Jednoduše řečeno, dva stejně nastavené servery a jen dělat automatický export/import db v určitých intervalech (export db nechávat pak na druhém serveru, což může sloužit jako backup/archiv nastavení). Když hlavní server odpadne na delší dobu, tak není problém, jelikož nám běží sekundární, u kterého je vše totožné, takže si v klidu přidáváme a upravujeme záznamy jako by se nechumelilo. Není to nejčistší, ale možnost to je.

    Statistika serveru

    link

    Jak je možné vidět v příkladu konfiguračního souboru výše, tak lze na PowerDNS zapnout webserver. Na tomto webserveru se po přihlášení zobrazují statistiky dotazů a další věci. Pro povolení této volby stačí jen malá úprava:

    ...
    # webovy server, kde bezi statsistiky dotazu
    webserver=yes
    
    # adresa, na ktere ma webserver poslouchat
    webserver-address=192.168.100.1
    
    # heslo pro prihlaseni na webserver (uzivatel je : admin)
    webserver-password=tajneheslo
    
    # a samozrejme port webserveru, na kterem bezi :
    webserver-port=8081
    ...
    

    Je nutný reload služby:

    /etc/init.d/pdns reload
    

    První část stránky se statistikami pak vypadá takto:

    PowerDNS a statistiky

    Závěr

    link

    PowerDNS má mnoho možností (některé jsme zmínili, jiné najdeme v dokumentaci), přehledné nastavení a prozatím s ním mám velmi kladné několikaleté zkušenosti. A jak jste na tom vy?

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.3.2014 00:28 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    PowerDNS má několik dalších výhod. Například bezproblémově fungující BIND modul. Pokud někde máte BIND a chcete se ho zbavit, je to s PowerDNS velice snadné. Stejně tak, pokud z nějakého důvodu chcete mít server pro velmi málo domén, je jednoduché jim udělat zone fily a použít BIND modul.

    Další zajímavá možnost je poměrně jednoduché psaní vlastních modulů. Kdysi jsem zkoušel napsat modul pro tinydns "zónové soubory" a udělal jsem to v PHP. A kupodivu to bylo funkční i použitelné (výkonově). Viz odkaz, je tam i stručný popis výkonnostních parametrů.

    4.3.2014 01:09 alkoholik | skóre: 40 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Njn, Paul Vixie kdysi trosku drzkoval, ze ho provozujeme na jedne root domene misto Bindu.
    4.3.2014 08:58 alkoholik | skóre: 40 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Samozrejme TLD domene..
    4.3.2014 09:01 Patvor
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Proč "provedeme restart"? Zrestartujeme nebo restartujeme, podle kontextu.

    Děkuji za článek, je dobře promyšlený a strukturovaný.
    pavlix avatar 5.3.2014 11:51 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Podle mě je to v pořádku.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2014 18:25 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Požádáme o provedení úkonů za účelem vyvolání restartu :)
    4.3.2014 09:02 Marv-CZ | skóre: 21
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server

    No zrovna ten modul pro LDAP je psaný člověkem mimo vývoj PowerDNS. Respektive byl, protože už ho udržovat přestal a nikde se o něj nestará a nefungují v něm nové věci, jako DNSSEC.

    4.3.2014 09:17 j
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Po svych velmi "milych" zkusenostech s rozjeblym mysql ... bych vzivote nepouzival zadnou kritickou aplikaci, ktera zrovna tuhle db pouziva ... zlaty textovy soubory. Stejne jde jen o to, aby se to pri startu nacetlo do pameti ...
    Heron avatar 4.3.2014 11:46 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Po svych velmi "milych" zkusenostech s rozjeblym mysql

    +1

    Aktuálně tu mám server s více než stovkou rozbitých DB. Serveru se nikdy nic nešťastného nestalo, fs je v pořádku. MySQL se rozjebalo prostě za provozu.

    4.3.2014 19:11 PetrHL | skóre: 17 | blog: petr_h | Neratovice
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Samo od sebe skoro nikdy nic. Ja to resil nedavno. Muzete sem hodit, co to psalo do logu? Docela by mne to zajimalo.
    "Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
    Heron avatar 5.3.2014 10:14 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server

    Není to můj server a nemám od zákazníka právo zveřejňovat cokoliv.

    Ale píše to klasickou chybu:

    /usr/libexec/mysqld: Table './db/table' is marked as crashed and last (automatic?) repair failed

    Samozřejmně opravit nejde, nejde ani zjistit jakékoliv informace o dané tabulce.

    Mám podezření na to, že to vzniklo tím, když začal řádit OOMK, ale nechce se mi věřit, že by db bylo možno nakopnout obyč. killem. Pokud ano, tak je to jen další do řady důvodů, proč mi mysql už několik let nesmí přes práh.

    9.3.2014 11:43 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Tak ono dost záleží na tom, jestli je ta tabulka MyISAM (neručím za nic, ale jsem rychlý) nebo InnoDB (ručím za konzistenci). Když si někdo vybere MyISAM a čeká od ní naprostou spolehlivost a dodržování ACID, tak se pak nemůže divit, že se to jednou rozbije...
    Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
    4.3.2014 15:22 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Ano, to je bohužel důsledek zastaralých verzí v Linux balíčích. Plus aktivita balíčkovačů v linux distribucích.

    Když převzal MySQL Sun, začaly se množit chyby v MySQL, na které Sun zvysoka kálel. Zejména v InnoDb. Sun dal přesný plán, co kdy musí vyjít v jakém termínu za feature, a programátoři to prostě museli vydat.

    Sun nebyl schopen vydat ani bezchybnou dokumentaci, běžně jsem od něj stahoval manuály, kde chyběly stránky či stránky hlásily chyby. Zejména CHM soubory byly katastrofální.

    Co převzal MySQL Oracle, tak se MySQL stala velmi stabilní a dobrou databází. Všechno dali do pořádku. Ale linuxové distribuce mají běžně ještě starší, rozbité verze, často i roky staré. Pak není divu.

    Kromě toho některé chyby v bugzille se projevují jen u přebalených binárek balíčkovači linuxových distribucí a nikdy v originálních balíččích. Představa, že balíčkovači dokáží správně a bez chyby odladit a zkompilovat všechny programy v distribuci se statisticky blíží nule.

    Pokud potřebujete kritické nasazení, nechávají se databázové tabulky zásadně v MyISAM.

    Ale hlavní co chci říci, že mnoho linuxových distribucí má v balíččích starší chybné verze, někdy dokonce navíc i chybně sestavené.

    Používám originální soubory od Oracle, nebo MariaDb a v posledních verzích nemám problém.

    Hlavní problém MySQL byl Sun a linuxoví balíčkovači.
    4.3.2014 19:38 j
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    "Pokud potřebujete kritické nasazení, nechávají se databázové tabulky zásadně v MyISAM."

    lol lol lol ....

    Ano, netransakcni prostredi je pro jakykoli nasazeni databaze to prave orechove ...
    Josef Kufner avatar 4.3.2014 21:46 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Transakce jsou přeceňované. Race conditions se lze vyhnout i jinak a s mírným narušováním integrity dat lze počítat. V jednodušších případech stačí vhodně seřadit dotazy a počítat s tím, že někde může něco chybět.
    Hello world ! Segmentation fault (core dumped)
    4.3.2014 23:10 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    V jednodušších případech stačí vhodně seřadit dotazy a počítat s tím, že někde může něco chybět.

    Schválně jak se na tenhle přístup bude dívat berňák, když takhle budeš dělat účetnictví ;-)
    Quando omni flunkus moritati
    5.3.2014 09:29 sid
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Takze ked vam nabuduce banka miesto 1000 eur da 50 a potesi vas informaciou ze doslo k miernemu naruseniu integrity dat tak poviete ok? Samozrejme transakcie nie su vsade treba a nie vzdy treba dajme tomu najvyssi level ale takto to zhrnut je dost mimo.
    Josef Kufner avatar 5.3.2014 12:09 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    To ale znamená, že tam mají chybu. To s nepoužitím transakcí nijak nesouvisí. Pokud se transakce nepoužijí, je potřeba řešit race-conditions a podobné věci jinak, ne je neřešit vůbec. Nikde jsem netvrdil, že stačí smazat begin a commit a tvářit se, že to funguje.
    Hello world ! Segmentation fault (core dumped)
    pavlix avatar 5.3.2014 12:24 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Buďme konkrétní, pak je potřeba ta data zamykat, což s sebou nese samozřejmě své výhody i nevýhody.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2014 19:07 j
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Technicky si muzes transakce realizovat i v aplikaci ... coz mi prijde prinejmensim hodne blbe.

    Udelas to jednoduse trebas tak, ze posles do DB sekvenci insert/update ... a pak selectama overis, ze tam je to, co si tam poslal. Jinak receno, proc delat veci jednoduse, kdyz to jde slozite.
    pavlix avatar 5.3.2014 11:52 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Transakce jsou přeceňované.
    Spíš bych řekl, že hrubě podceňované.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    5.3.2014 19:11 j
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Mnoho dodatelu "profi" aplikaci vubec netusi, co to transakce je ... mam tu cest zcela osobne ...
    pavlix avatar 5.3.2014 21:58 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Aneb...

    To mi dělal kamarád. A von je profík, von tomu fakt rozumí, von má na to dokonce i firmu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    4.3.2014 09:34 iwk
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Superslave sa mi zdala byt pekna myslienka. Skusal som to pouzivat (cez 700 domen). Ale mal som len problemy. Ak mastri zmazala nejaka domena, slave nevedel, ze je uz zmazana a stale sa pokusal o transfer....Je to nejak doriesene? A ako backend som mal sqlite3 to sa nejak po par dnoch rozbilo. Netusim preco, mne sa podla logu zdalo ze powerdns chcel zapisovat/zapisal viac domen naraz, asi tam bol nejaky problem s lockovanim. Nemal som cas to riesit, vratil som sa k bindu + skriptu na generovanie konfigu slave domen z mastra, kde mi vsetko fungovalo...

    4.3.2014 09:57 Filip Jirsák
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Na „master – master“ konfiguraci není nic nečistého. Master/slave není věc DNS protokolu, ale implementace v Bindu, od kterého to přebírají některé další servery. Třeba djbdns ale tohle neřeší. Tam je prostě sada autoritativních serverů, a jakým způsobem se mezi nimi replikují data, to není starost djbdns. Mně osobně se tohle řešení líbí víc, protože pro replikaci dat máme specializované protokoly (rsync pro textové soubory, replikace SQL databází), a není potřeba to znovu řešit v DNS serveru.
    4.3.2014 10:59 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Mně osobně se tohle řešení líbí víc, protože pro replikaci dat máme specializované protokoly (rsync pro textové soubory, replikace SQL databází), a není potřeba to znovu řešit v DNS serveru.

    Do kamene tesat.

    DJB to popisuje na svém webu, http://cr.yp.to/djbdns/tcp.html, What are zone transfers?

    Poslední věta - "By combining all these tools, you can finally approach the functionality of a trivial rsync script. Wow." - by byla k smíchu, kdyby to nebylo k pláči.
    Quando omni flunkus moritati
    4.3.2014 13:12 Foo Bar | skóre: 14
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Takže pro každou slave zónu, kterou budu chtít hostit na svém serveru mám nastavit rsync daemona? Nebo ssh uživatele? Nebo snad replikaci mysql? To moc pěkně škáluje... zvlášť, když překročíte hranice jednoho zdroje dat (tj. ve chvíli, kdy máte nějaké zákazníky).

    Taky už úplně vidím, jak v rámci rsync přenosu zajišťujete, že obsah zóny je validní.

    Jo, a doporučuji nahlédnout do RFC1034, než budete příště tak autoritativně tvrdit, že primary-secondary (neboli master-slave) není součást protokolu.
    4.3.2014 17:23 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    To, že něco neumíte, neznamená, že to nejde.
    Takže pro každou slave zónu, kterou budu chtít hostit na svém serveru mám nastavit rsync daemona? Nebo ssh uživatele?
    Jasně, asi by to šlo. Ale mnohem přičetnější bude dělat rsync celého adresáře, ve kterém jsou zónové soubory uloženy. Nebo u zmíněného djbdns přenesete jenom jeden soubor, ve kterém jsou všechny zóny.
    Nebo snad replikaci mysql?
    Na replikaci databáze je špatné co? Přenáší to (jenom) změny, děje se tak téměř v reálném čase, nevýhody nevidím.
    To moc pěkně škáluje... zvlášť, když překročíte hranice jednoho zdroje dat (tj. ve chvíli, kdy máte nějaké zákazníky).
    Jo, škáluje to docela pěkně, děkuju za optání. A vážně - jak souvisí počet zákazníků a zdrojů dat s tím, jak se do nameserveru ta data krmí?
    Jo, a doporučuji nahlédnout do RFC1034, než budete příště tak autoritativně tvrdit, že primary-secondary (neboli master-slave) není součást protokolu.
    Doporučuji pořádně číst. Příspěvek nad Vámi neříká nic o tom, že primary-secondary není součást protokolu. To akorát vy jste si tady udělal logickou spojku primary-secondary <=> master-slave servery. Jenže tahle spojka je - hádám - založená na nějakém předpokladu, který máte naučený z Bindu.

    Když budu mít 2 master servery a nakrmím je stejnými - důraz na slovo stejnými - daty, tak je výsledek nerozpoznatelný* od stavu, kdy budu dělat zónové přenosy pomocí [AI]XFR.

    * rozhodně pro účely této diskuze.
    Quando omni flunkus moritati
    4.3.2014 18:36 Foo Bar | skóre: 14
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Teď si představte, že jste slave server a těch zákazníků máte 100k-1000m. Chtěl bych vidět ten setup, kde jedete přes rsync nebo replikovanou databázi...

    Kromě toho jste vymazal tu podstatnou část o validaci příchozích dat... hmm...

    [AI]XFR má v DNS světě své místo, a nezmění na tom nic ani to, že se djb rozhodl.

    Možná by pomohlo[*], kdybyste si to RFC1034 otevřel a trochu se do něj začetl, než mi začnete podsouvat Vaše myšlenky a domněnky.
    * rozhodně pro účely této diskuze.
    4.3.2014 19:14 Filip Jirsák
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Já si tedy bezpečnou synchronizaci přes rsync dovedu představit mnohem snáz, než bezpečnou synchronizaci přes DNS. Validace příchozích dat se musí dělat v každém případě. Transfer zóny má dnes v DNS své místo, protože ho chtě nechtě každý musí implementovat. To ale ještě neznamená, že je to nejlepší řešení, a že to povinně musí používat každý, kdo potřebuje mít více autoritativních serverů.

    RFC1034 říká, že transfer zóny je preferovaný způsob synchronizace, ale neříká, že je jediný. A také (podle mne záměrně) používá terminologii primary/secondary, tedy server, na kterém je změna provedena jako první, a servery, kde je změna provedena až jako druhá v pořadí. To je přeci jenom trochu něco jiného, než master/slave - u primary/secondary je třeba možné každou změnu provést na jiném serveru.

    Těch 1000m, zákazníků, to opravdu byla myšlena miliarda? To je největší operátor v galaxii, ne?
    4.3.2014 23:12 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    [AI]XFR má v DNS světě své místo
    Jo, to je pravda, vynalézání šišatého kola bohužel lidem prochází poměrně často.
    Možná by pomohlo[*], kdybyste si to RFC1034 otevřel a trochu se do něj začetl, než mi začnete podsouvat Vaše myšlenky a domněnky.

    Možná by pomohlo, kdybyste mluvil konkrétně.
    Quando omni flunkus moritati
    4.3.2014 19:47 j
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Boze ....

    Vis milej zlatej ... kdybys mel aspon potuchy jak DNS funguje, tak bys trebas zjistil, ze jeden DNS server muze klidne obsluhovat desitky tisic domen desitek tisic zakazniku. Ti si chteji trebas replikovat SVUJ zaznam na nejake SVE servery.

    Je pak neobycejne efektivni a povznasejici cinnost konfigurovat extra protokoly ... kazdemu userovi extra... misto zapisu jedne IP adresy (kterou si navic muze zapsat sam klient) do konfigurace.

    Navic zcela zjevne vubec netusis ... ze ... v pripade DNS transferu muze ten prenos vyvolat jak sekundar tak primar. Fakt chci videt, jak na tisicich serverech konfigurujes rsync ... lol, nebo jeste hur ... replikaci databazi. No asi proto to takhle nikdo normalni nepouziva.
    4.3.2014 23:15 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Víš, milej anonymní, víš hov**.
    Quando omni flunkus moritati
    5.3.2014 19:14 j
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Jo, to je argument ... a proto 100% DNS serveru pouziva rsync pripade replikaci SQL...
    pavlix avatar 5.3.2014 11:59 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    FreeIPA na master-master používá LDAP a DNS servery stojí nad tím a o replikaci se nemusí starat.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    4.3.2014 10:14 Foo Bar | skóre: 14
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Moje osobní zkušenost s PowerDNS jako slave serverem (s BIND backendem) byla, že se zónový soubor po pár hodinách až dnech rozsynchronizoval a musel se udělat znovu bootstrap. Takže to šlo hodně rychle pryč.
    the.max avatar 5.3.2014 07:36 the.max | skóre: 46 | blog: Smetiště
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    Škoda, že v článku není šířeji rozebrána problematika DNSSEC na PDNS, ale jinak dobré, Sám PDNS používám už dlouhé roky.
    KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
    pavlix avatar 5.3.2014 11:57 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: PowerDNS – přívětivý a jednoduchý DNS server
    A zvlášť problematika výkonu s těmito všemu vlastnostmi zapnutými. Řešli jsem teď toto téma jak s vývojáři BINDu, tak s vývojáři KnotDNS. Osobně sice nemám vysoké potřeby co do výkonu, ale PowerDNS bych si nenasadil z principu. Chci používat věci, které škálují natolik, abych je mohl dále doporučovat a nasazovat.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.