PDNS authoritative dns server's: Difference between revisions
No edit summary |
|||
Line 3: | Line 3: | ||
= opzet = | = opzet = | ||
pdns1 is master server | pdns1 is de master server. Hier draait de database op met alle records, in een mysql database. | ||
De overige dns servers draaien een slave van deze server en worden zo automatisch voorzien van de meest recente records. | |||
'''<u>let op alle | '''<u>let op alle wijzigingen moeten dus op pdns1 worden uitgevoerd, anders help je de replicatie om zeep</u>''' | ||
= zones = | = zones = | ||
== zone bewerken == | == zone bewerken == | ||
Line 15: | Line 15: | ||
== zone migreren == | == zone migreren == | ||
in /root staat migratie script | in /root staat migratie script . Dit script haalt de zone file uit /root/master. | ||
Deze zorgt dat de zone wordt ingelezen in de database en nameserver records worden goed gezet. | Deze zorgt dat de zone wordt ingelezen in de database en nameserver records worden goed gezet. | ||
/root/migrate.sh | |||
/root/migrate.sh | |||
= zone bewerken = | = zone bewerken = | ||
Line 26: | Line 27: | ||
en de benodigde handelingen worden verricht, ksk en zsk worden aangemaakt en geactiveerd en nsec3 wordt geactiveerd. | en de benodigde handelingen worden verricht, ksk en zsk worden aangemaakt en geactiveerd en nsec3 wordt geactiveerd. | ||
Hierna kan je paar uur wachten of je | Hierna kan je paar uur wachten of je draait het dnsseconderhoud script om te zorgen dat de leverancier wordt bij gewerkt. | ||
== web == | == web == | ||
Je kan de webinterface benaderen via: | Je kan de webinterface benaderen via: | ||
https://poweradmin.hobby.nl/ | |||
https://poweradmin.hobby.nl/ | |||
Wacht woord wijzigen kan via about me | Wacht woord wijzigen kan via about me | ||
Line 38: | Line 38: | ||
Om te zorgen dat de KSK key's automatisch worden uitgerold naar de verschillende leveranciers is er een database genaamd Domeinbeheer | Om te zorgen dat de KSK key's automatisch worden uitgerold naar de verschillende leveranciers is er een database genaamd Domeinbeheer | ||
== activeren == | == activeren == | ||
Om DNSsec te activeren, dit gaat alleen vanaf de | Om DNSsec te activeren, dit gaat alleen vanaf de commandline met het commando | ||
activeerdnssec domein.tld | activeerdnssec domein.tld | ||
En als wilt dat direct geactiveerd | En als je wilt dat dit direct geactiveerd wordt bij de TLD, dan moet je dit commando draaien: | ||
php /disk/scripting/powerdns/dnssec/dnsseconderhoud.php | php /disk/scripting/powerdns/dnssec/dnsseconderhoud.php | ||
Line 49: | Line 49: | ||
=== tabellen === | === tabellen === | ||
==== dnssec ==== | ==== dnssec ==== | ||
Deze tabel houd bij welke KSK | Deze tabel houd bij welke KSK actief is, en wanneer hij verloopt | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 78: | Line 78: | ||
==== Leveranciers ==== | ==== Leveranciers ==== | ||
Om te kunnen bepalen bij welke leverancier een domein hoort wordt aan de hand van de tld bepaald wat leverancier is. | Om te kunnen bepalen bij welke leverancier een domein hoort wordt aan de hand van de tld bepaald wat de leverancier is. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 95: | Line 95: | ||
== api == | == api == | ||
=== epp sidn === | === epp sidn === | ||
Helaas is de EPP interface best complex en niet al te makkelijk, maar wordt | Helaas is de EPP interface best complex en niet al te makkelijk, maar wordt deels eigen scripting gebruikt en deels een php-client van metaregistry opgehaald en up2date gehouden via composer | ||
=== | === Transip rest api === | ||
We maken gebruiken van de rest interface van Transip | We maken gebruiken van de rest interface van Transip | ||
We hebben een PHP class '''TransIP_AccessToken''' voor | We hebben een PHP class '''TransIP_AccessToken''' voor het aanmaken van een autorisatie token. | ||
Dit token is 30 min geldig | Dit token is 30 min geldig | ||
Line 105: | Line 105: | ||
Voor ripe gebruiken we de standaard rest interface van ripe. | Voor ripe gebruiken we de standaard rest interface van ripe. | ||
We | We halen het json object op bij RIPE. Als er 1 ds-record niet klopt dan wordt het hele record overschreven, met het meest recente record. | ||
Update van record is traag | Update van record is traag | ||
=== | === godaddy api === | ||
Godaddy heeft geen api, voor dit 1e domein hcc.contact heb ik dnssec uit staan. In de toekomst maken we hier nog wat voor, of we wachten tot transip ook aan .contact doet | |||
= scripting = | = scripting = | ||
Alle scripting staat op /disk/scripting/powerdns | Alle scripting staat op /disk/scripting/powerdns | ||
Op deze manier wordt ook | Op deze manier wordt ook netjes geback-upt | ||
== dnsseconderhoud.php == | == dnsseconderhoud.php == |
Revision as of 19:02, 27 March 2022
Doel
Dit zijn de autoritive name servers van hobbynet
opzet
pdns1 is de master server. Hier draait de database op met alle records, in een mysql database.
De overige dns servers draaien een slave van deze server en worden zo automatisch voorzien van de meest recente records.
let op alle wijzigingen moeten dus op pdns1 worden uitgevoerd, anders help je de replicatie om zeep
zones
zone bewerken
cli
eenvoudig via :
pdnsutil edit-zone (zonenaam zonder extra .)
zone migreren
in /root staat migratie script . Dit script haalt de zone file uit /root/master.
Deze zorgt dat de zone wordt ingelezen in de database en nameserver records worden goed gezet.
/root/migrate.sh
zone bewerken
cli
activeren van dnssec gaat relatief eenvoudig draai
/disk/scripting/powerdns/dnssec/activeerdnssec.sh domeinnaam.tld
en de benodigde handelingen worden verricht, ksk en zsk worden aangemaakt en geactiveerd en nsec3 wordt geactiveerd.
Hierna kan je paar uur wachten of je draait het dnsseconderhoud script om te zorgen dat de leverancier wordt bij gewerkt.
web
Je kan de webinterface benaderen via:
https://poweradmin.hobby.nl/
Wacht woord wijzigen kan via about me
Dit is nog tijdelijke web interface
dnssec
Om te zorgen dat de KSK key's automatisch worden uitgerold naar de verschillende leveranciers is er een database genaamd Domeinbeheer
activeren
Om DNSsec te activeren, dit gaat alleen vanaf de commandline met het commando
activeerdnssec domein.tld
En als je wilt dat dit direct geactiveerd wordt bij de TLD, dan moet je dit commando draaien:
php /disk/scripting/powerdns/dnssec/dnsseconderhoud.php
Je kan ook wachten tot 4:42 of 16:42 dan draait het onderhoud script uit crontab
database
tabellen
dnssec
Deze tabel houd bij welke KSK actief is, en wanneer hij verloopt
Naam veld | Omschrijving |
---|---|
id | Primary key |
Domein naam | Naam van de zone/domein (met extra punt) |
actieve-ksk | keytag van de actieve ksk |
standby-ksk | keytag van de standby ksk |
verlopen-ksk | keytag van de verlopen ksk |
verval-actieve | Datum wanneer key in gebruik is genomen |
Verval-verlopen | Datum wanneer key inactief is geworden |
Leveranciers
Om te kunnen bepalen bij welke leverancier een domein hoort wordt aan de hand van de tld bepaald wat de leverancier is.
Naam veld | Omschrijving |
---|---|
id | Primary key |
tld | de extentie van domein |
leveransier | de leverancier van deze tld |
api
epp sidn
Helaas is de EPP interface best complex en niet al te makkelijk, maar wordt deels eigen scripting gebruikt en deels een php-client van metaregistry opgehaald en up2date gehouden via composer
Transip rest api
We maken gebruiken van de rest interface van Transip
We hebben een PHP class TransIP_AccessToken voor het aanmaken van een autorisatie token.
Dit token is 30 min geldig
ripe rest api
Voor ripe gebruiken we de standaard rest interface van ripe.
We halen het json object op bij RIPE. Als er 1 ds-record niet klopt dan wordt het hele record overschreven, met het meest recente record.
Update van record is traag
godaddy api
Godaddy heeft geen api, voor dit 1e domein hcc.contact heb ik dnssec uit staan. In de toekomst maken we hier nog wat voor, of we wachten tot transip ook aan .contact doet
scripting
Alle scripting staat op /disk/scripting/powerdns
Op deze manier wordt ook netjes geback-upt
dnsseconderhoud.php
Dit script verricht onderhoud in paar fases:
- Fase 1 kijken of er verlopen actieve ksk's zijn en zo ja wissel KSK met standby KSK en maak nieuwe KSK (elke 3 maanden wisselen)
- Fase 2 controleer of records kloppen bij leveranciers en zo nodig update soms altijd update zie api omschrijving
- Fase 3 verwijder alle verlopen KSK die ouder zijn dan 1 week
- Fase 4 verwijder niet gekoppelde KSK's uit powerdns
functions.php
Deze file bevat alle gebruikte functies
credentials*
Spreekt voor zich
transip/zetnameservergoed.php
Dit script zet nameserver van domein goed bij transip
transip/zetnameservergoed.php domein.tld
sidn/zetnameservergoed.php
Dit script zet nameserver van domein goed bij sidn
sidn/zetnameservergoed.php domein.nl
vragen
Stoppen met vullen van groeperingen uit ldap (vereenvoudigen)