Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.
Po roce vývoje od vydání verze 1.26.0 byla vydána nová stabilní verze 1.28.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.28.
Byla vydána nová verze 10.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 211 vývojářů. Provedeno bylo více než 2 800 commitů. Přehled úprav a nových vlastností v seznamu změn.
42 svobodných a otevřených projektů získalo finanční podporu od NLnet Foundation (Wikipedie).
Americký výrobce čipů Intel plánuje propustit více než 20 procent zaměstnanců. Cílem tohoto kroku je zjednodušit organizační strukturu ve firmě, která se potýká s problémy.
Byla vydána OpenMandriva Lx 6.0 s kódovým názvem Vanadium. Přehled novinek v poznámkách k vydání.
CSIRT.CZ, český národní CERT provozovaný na základě veřejnoprávní správní smlouvy společností CZ.NIC, shrnuje patnáct let svého fungování pod tímto sdružením: CSIRT.CZ – 15 let ve sdružení CZ.NIC.
Commodore OS Vision (Wikipedie) byl vydán v nové verzi 3.0. Jedná se o linuxovou distribuci určenou pro fanoušky značky Commodore. Předinstalována je na počítačích Commodore 64x.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 208. brněnský sraz, který proběhne v pátek 25. dubna od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1.
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.
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ší.
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
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
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
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/“:
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:
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'; ?>
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“:
Existuje spousta dalších webových klikátek. Mezi ty zdánlivě lepší můžeme jmenovat tyto:
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“.
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.
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:
A slave serveru:
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.
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 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?
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
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.
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.
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.
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í
Transakce jsou přeceňované.Spíš bych řekl, že hrubě podceňované.
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.
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.
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.
* rozhodně pro účely této diskuze.
[AI]XFR má v DNS světě své místoJo, 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ě.