Bueno Actualizando mi manual de DNS con Delegación de Zona aca les dejo el mio recien acabado de instalar para que se guíen por el
Bueno antes de seguir para que tenga la idea e entiendan los IP que hay y cual es mi zona
Mi Zona es 200.0.0.0/29, donde mi DNS esta delegado al ip 200.0.0.3, debemos recordar que el hostname debe ser el que cuando Etecsa le hizo la delegacion de zona tienen que mantenerlo pues puede dar problema en este caso yo selecione el hostname mail.dominio.cu. Es decir en Etecsa deben tener mas o menos esta configuracion
dominio.cu. IN NS mail.dominio.cu. mail.dominio.cu. IN A 200.0.0.3
Bueno dejemos ya el bla bla bla e Instalemos.
Creamos el Usuario NSD
useradd -r nsd
Instalamos el NSD
apt-get install nsd ldnsutils haveged
Creamos los SSL Key y Certificados para mejorar la seguridad de la comunicacion
nsd-control-setup
Creamos la key de seguridad para transfert a DNS secundario
dd if=/dev/random of=/dev/stdout count=1 bs=32 | base64
Note: Aca anotamos la ultima linea que es la que nos interesa
Creamos las carpetas donde se guardaran las zonas y las Basedatos
cd /etc/nsd mkdir zones db
Configuracion del DNS
nano /etc/nsd/nsd.conf
server:
do-ip4: yes
do-ip6: no
port: 53
ip-address: 200.0.0.3
debug-mode: no
verbosity: 0
hide-version: yes
username: nsd
zonesdir: "/etc/nsd/zones"
logfile: "/var/log/nsd.log"
pidfile: "/run/nsd/nsd.pid"
database: "/etc/nsd/db/nsd.db"
difffile: "/etc/nsd/db/ixfr.db"
xfrdfile: "/etc/nsd/db/xfrd.state"
tcp-count: 100
tcp-timeout: 120
tcp-query-count: 0
ipv4-edns-size: 4096
statistics: 3600
xfrd-reload-timeout: 1
zonefiles-check: yes
remote-control:
control-enable: yes
control-interface: 127.0.0.1
control-port: 8952
server-key-file: "/etc/nsd/nsd_server.key"
server-cert-file: "/etc/nsd/nsd_server.pem"
control-key-file: "/etc/nsd/nsd_control.key"
control-cert-file: "/etc/nsd/nsd_control.pem"
key:
name: "dominiokey"
algorithm: hmac-sha256
secret: "7JesUsZvTRARESFizPuSwK8M8xgMSNS245F866jpAkc="
zone:
name: "dominio.cu"
zonefile: "dominio.cu.zone.signed"
provide-xfr: 200.0.0.0/29 NOKEY
zone:
name: "0.0.200.in-addr.arpa"
zonefile: "dominio.cu.reverse1.zone"
provide-xfr: 200.0.0.0/29 NOKEY
zone:
name: "0/29.0.0.220.in-addr.arpa"
zonefile: "dominio.cu.reverse2.zone"
provide-xfr: 200.0.0.0/29 NOKEY
nano /etc/nsd/zones/dominio.cu.zone
$ORIGIN dominio.cu.
$TTL 1d
@ IN SOA mail.dominio.cu. sysadmin.dominio.cu. (
2016090801 ; serial number
3600 ; refresh
900 ; retry
1209600 ; expire
1800 ; ttl
)
; Name servers
IN NS ns1.dominio.cu.
; MX servers
IN MX 10 mail.dominio.cu.
; SPF records
IN SPF "v=spf1 mx -all"
; SRV records
_jabber._tcp.dominio.cu. IN SRV 5 0 5269 jabber.dominio.cu.
_xmpp-server._tcp.dominio.cu. IN SRV 5 0 5269 jabber.dominio.cu.
_conferencia._tcp.dominio.cu. IN SRV 5 0 5269 jabber.dominio.cu.
_xmpp-client._tcp.dominio.cu. IN SRV 5 0 5269 jabber.dominio.cu.
; TXT records
IN TXT "v=spf1 mx -all"
IN TXT "Empresa Periquito el Cojo"
IN TXT "E-Mail: sysadmin at dominio.cu"
IN TXT "Contacto: +53-(7)-etecsa"
; DKIM records
_domainkey.dominio.cu. IN TXT "o=~; r=sysadmin@dominio.cu"
_adsp._domainkey.dominio.cu. IN TXT "dkim=unknown"
mail._domainkey.dominio.cu. IN TXT "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9CVAyNCgcU0oFONDFXz5vzcIfKqSwVwPBu653sn5b+71ddPVu/kONJuzOBqigGWhey0qZbt+5THJtKqdTnQ9dOUfhBrAkU3zjaXr210gusWKIQf6Y91iuskMo59XYvlaA98gD8S+gpvYHjAAHSJa93hf+/RK8Rh6WnjmwkriRKwIDAQAB"
dkim._domainkey.dominio.cu. IN TXT "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9CVAyNCgcU0oFONDFXz5vzcIfKqSwVwPBu653sn5b+71ddPVu/kONJuzOBqigGWhey0qZbt+5THJtKqdTnQ9dOUfhBrAkU3zjaXr210gusWKIQf6Y91iuskMo59XYvlaA98gD8S+gpvYHjAAHSJa93hf+/RK8Rh6WnjmwkriRKwIDAQAB"
; DMARC records
_dmarc.dominio.cu. IN TXT "v=DMARC1; p=none; rua=mailto: sysadmin@dominio.cu; ruf=mailto: sysadmin@dominio.cu; adkim=r; aspf=r"
; CNAME records
ns IN CNAME mail
ns1 IN CNAME mail
webmail IN CNAME mail
; A records
router IN A 200.0.0.1
mail IN A 200.0.0.3
jabber IN A 200.0.0.3
; Additional A records
@ IN A 200.0.0.3
www IN A 200.0.0.3
nano /etc/nsd/zones/dominio.cu.reverse1.zone
$ORIGIN 0.0.200.in-addr.arpa.
$TTL 1800
@ IN SOA mail.dominio.cu. syadmin.dominio.cu. (
2016090801 ; serial number
3600 ; refresh
900 ; retry
1209600 ; expire
1800 ; ttl
)
; Name servers
IN NS mail.dominio.cu.
; CNAME records
1 IN CNAME 1.0/29.0.0.200.in-addr.arpa.
3 IN CNAME 3.0/29.0.0.200.in-addr.arpa.
nano /etc/nsd/zones/dominio.cu.reverse2.zone
$ORIGIN 0/29.0.0.200.in-addr.arpa.
$TTL 1800
@ IN SOA mail.dominio.cu. syadmin.dominio.cu. (
2016090801 ; serial number
3600 ; refresh
900 ; retry
1209600 ; expire
1800 ; ttl
)
; Name servers
IN NS mail.dominio.cu.
; PTR records
1 IN PTR router.dominio.cu.
3 IN PTR mail.dominio.cu.
Para hacerlo usaremos DNSSEC, que no es mas que el encryptamiento de nuestro DNS con una Public Key.
cd /etc/nsd/zones export ZSK=`ldns-keygen -a RSASHA1-NSEC3-SHA1 -b 1024 dominio.cu` export KSK=`ldns-keygen -k -a RSASHA1-NSEC3-SHA1 -b 2048 dominio.cu` ldns-signzone -n -p -s $(head -n 1000 /dev/random | sha1sum | cut -b 1-16) dominio.cu.zone $ZSK $KSK ldns-key2ds -n -1 dominio.cu.zone.signed && ldns-key2ds -n -2 dominio.cu.zone.signed
Revisamos la configuracion del nsd
nsd-control reconfig nsd-control reload dominio.cu service nsd restart
Como lo dice esto es para comprobar que lo que hicimos lo hicimos bien y no un dedaso…
dig dominio.cu. @200.0.0.3 DNSKEY +multiline +norec dig dominio.cu. @200.0.0.3 ANY +norec +short host -t any dominio.cu 200.0.0.3 nslookup -q=any dominio.cu 200.0.0.3 nslookup 200.0.0.3 200.0.0.3
En caso que necesites actualizar su DNS para agregar algo o cambiar algo recuerden cambiar el SOA:
The SOA serial is in the following format. YYYYMMDDnn
Ejemplo:
2016090801
creamos este script para actualizar nuestra zona encryptada de esta forma
nano /usr/local/bin/nsdact
#!/bin/bash PDIR=`pwd` ZONEDIR="/etc/nsd/zones" #location of your zone files DOMAIN=$1 cd $ZONEDIR KSK=$(basename $(grep -r "`grep '(ksk)' $DOMAIN.zone.signed | cut -f3-10`" K$DOMAIN.*.key | cut -d':' -f1) .key) ZSK=$(basename $(grep -r "`grep '(zsk)' $DOMAIN.zone.signed | cut -f3-10`" K$DOMAIN.*.key | cut -d':' -f1) .key) /usr/bin/ldns-signzone -n -p -s $(head -n 1000 /dev/random | sha1sum | cut -b 1-16) -f $ZONEDIR/$DOMAIN.zone.signed $DOMAIN.zone $ZSK $KSK /usr/sbin/nsd-control reload $DOMAIN /usr/sbin/nsd-control notify $DOMAIN cd $PDIR
chmod +x /usr/local/bin/nsdact
nsdact dominio.cu
Y ya de esta forma actualizamos nuestra delegacion de Zona.
Fuente: Digital Ocean | https://www.digitalocean.com/community/tutorials/how-to-set-up-dnssec-on-an-nsd-nameserver-on-ubuntu-14-04
Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…
La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…
Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…
Percona Monitoring and Management (PMM) es una herramienta de código abierto para la supervisión y…
Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…
Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…