viernes, 22 de abril de 2011

BIND9

¿Como instalar BIND9?
sudo apt-get install bind9

Ahora vamos a dar de alta un dominio en este caso seria lo siguiente:
cd /etc/bind
abrimos con cualquier editor de texto en este caso yo elijo nano y seria de esta forma:
nano named.conf.local

Ahora agregamos las siguientes lineas
zone "ejemplo.hostlocal.com"{
type master;
file "/etc/db.ejemplo"
}

Guardamos los cambios y ahora hacesmo la copia de un archivo para posteriormente cambiar la informacion contenida en ese archivo quedaria asi:
cp db.local db.ejemplo

si notan en la linea de arriba donde dice file es el archivo que es exactamente igual al nombre que le dimos al archivo que hicimos la copia.

NOTA
ESTO FUE SACADO DE:
http://www.codigomaestro.com/dns/registros-soa-en-servidores-dns/



Registros SOA en Servidores DNS

Primero que nada el registro SOA, es el Registro de “Start of Authority” para un dominio. Contiene identificadores del servidor de nombres con autoridad sobre la denominación y su operador, y diversos contadores que regulan el funcionamiento general del sistema de nombres de dominio (DNS) para la denominación. Todo servidor de nombres de una denominación debe responder a una consulta por el registro SOA de esa denominación en forma autoritativa.
Además escribe los valores por defecto para el resto de parámetros de registro SOA en los archivos de zona que mantiene.
Dentro de los valores SOA se pueden configurar varios parámetros de opciones.
    • TTL. Esto es el tiempo que los servidores DNS deben guardar el registro en el caché. Plesk establece el valor por defecto de un día.
    • Actualizar. Esto es la frecuencia con la que los servidores de nombres secundarios verifican el servidor de nombres primarios para ver si se han realizado cambios en el archivo de zona de dominio. Plesk establece el valor por defecto de tres horas.
    • Volver a Intentar. Esto es el tiempo que un servidor secundario espera para recuperar una transferencia de zona fallida. Este tiempo suele ser menor al intervalo de actualización. Plesk establece el valor por defecto de una hora.
    • Expirar. Esto es el tiempo antes que un servidor secundario deje de responder a las búsquedas una vez se haya producido un intervalo de actualización de la zona. Plesk establece el valor por defecto de una semana.
    • Mínimo. Esto es el tiempo en que un servidor secundario debe cachear una respuesta negativa. Plesk establece el valor por defecto de tres horas.
    • Número de Serie: Puede estar en varios formatos, tanto en IETF o en Unix-timestamp (menos utilizado).
    • Persona responsable: Contiene la dirección de correo electrónico de la persona responsable donde la @ es un . (punto).
    • Propietario: Es el nombre de dominio de la zona

El uso del formato de número de serie recomendado por IETF y RIPE es obligatorio para muchos dominios registrados en algunas zonas DNS de alto nivel, mayoritariamente europeas. Si su dominio está registrado en una de estas zonas y su registrador no acepta su número de serie SOA, el uso del formato de número de serie recomendado por IETF y RIPE debería solucionar esta incidencia.
Los servidores que usan la sintaxis UNIX-timestamp para configurar zonas DNS. UNIX timestamp es el número de segundos desde el 1 de enero del 1970 (Unix Epoch). El timestamp 32-bit finalizará el 8 de julio del 2038.
RIPE recomienda usar el formato YYYYMMDDNN , donde YYYY es el año (cuatro dígitos), MM es el mes (dos dígitos), DD es el día del mes (dos dígitos) y nn es la versión para día (dos dígitos). El formato YYYYMMDDNN no finalizará hasta el año 4294.

¿Como hacer un servidor DNS cache?
1. Actualizamos el sistema de esta forma:
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade
2. Instalamos el servidor dns bin9 su doc y utilidades de dns
usuario@maquina:~$ sudo apt-get install bind9 bind9-doc dnsutils

Aqui empezamos con la Configuramos Bind9
3. Editamos /etc/bind9/named.conf.options
usuario@maquina:~$ sudo nano /etc/bind/named.conf.options
4. Escribimos lo siguente en el archivo maned.conf.options
//Se crea la acl bogusnets que define las redes a denegar consultas al servidor DNS
acl bogusnets { 0.0.0.0/8; 1.0.0.0/8; 2.0.0.0/8; 192.0.2.0/24; 224.0.0.0/3; 172.16.0.0/12; 10.0.0.0/8; 192.168.0.0/24;
169.254.0.0/16; 192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; };
//exceptuamos incluir en la bogusnets a nuestra red: 192.168.66.0/24
//acl lan, define nuestra red local
acl lan { 192.168.66.0/24; };
//acl dmz { 192.168.30.0/24; };
options {
//activamos la cache
acache-enable yes;
//intervalo de limpieza de la cache 60 minutos
acache-cleaning-interval 60;
//tamaño maximo de la cache 16M
max-acache-size 16M;
//directorio de la cache
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
// INDICAMOS AL SERVICIO DNS DONDE DELEGAR (otros servidores DNS externos)
// PARA LO QUE NO PUEDA RESOLVER
forwarders {
//SERVIDORES OPENDNS
208.67.222.222;
208.67.220.220;
};
auth-nxdomain no; # conform to RFC1035
//listen-on-v6 { any; }; // IPv6, no se suele usar en una LAN (a día de hoy : - ) )
//SECURIZANDO BIND9 - NO INFORMAMOS DEL TIPO DE SERVIDOR DNS
//para saber la version de bind9 desde win:
// c:\nslookup -class=chaos -querytipe=txt version.bind
//Servidor: correo.servidor.undominio.local
//Address: 192.168.66.1
//version.bind text =
//"Servicio DNS de servidor"
// desde linux: dig @servidor.undominio.local version.bind chaos txt
version "Servicio DNS de servidor";
//indicamos a que redes permitimos consultas y recursion
allow-query { lan; 127.0.0.1/32; };
allow-recursion { lan; 127.0.0.1/32; };
//INCLUIMOS LAS REDES DE LA ACL bogusnets en LISTA NEGRA
blackhole { bogusnets; }; };

5. Guardamos el fichero y salimos (con nano: ctrl+O, ctrl+X)
6. Editamos /etc/bind/named.conf e incluimos las zonas directas e inversas
usuario@maquina:~$ sudo nano /etc/bind/named.conf

// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "servidor.undominio.local" {
type master;
file "/etc/bind/db.servidor";
};
// para saber el formato de zona inversa usar desde consola :
// arpaname 192.168.66.0
zone "66.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.66";
};
7. Guardamos y salimos
8. Creamos db.servidor copiando /etc/bind/db.local como /etc/bind/db.servidor
usuario@maquina:~$ sudo cp /etc/bind/db.local /etc/bind/db.servidor
9. Editamos db.servidor y cambiamos localhost por servidor.undominio.local y 127.0.0.1 por la ip del servidor dns
# podemos añadir registros A,MX,CNAME
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA servidor.undominio.local. root.servidor.undominio.local. (
5
604800
86400
2419200
604800 )
@ IN NS servidor.undominio.local.
@ IN A 192.168.66.1
@ IN MX 10 correo.servidor.undominio.local.
@ IN A 192.168.66.1
;@ IN AAAA ::1
;www=web mta=agente transferencia de correo ns1=servidor de dominio
www IN A 192.168.66.1
mta IN A 192.168.66.1
ns1 IN A 192.168.66.1
correo.servidor.undominio.local. IN A 192.168.66.1
correo.servidor.undominio.local. IN MX 10 servidor.undominio.local.

Guardamos y salimos

# creamos db.192.168.66 copiando db.127

usuario@maquina:~$ cd /etc/bind/
usuario@maquina:/etc/bind$ sudo cp db.127 db.192.168.66
#editamos db.192.168.66 y sustituimos 127.0.0.1 por servidor.undominio.local
# y modificamos el ptr de 1.0.0 (127.0.0.1) por 1 (192.168.66.1) y añadimos los registros que deseemos
;
usuario@maquina:/etc/bind$ sudo nano db.192.168.66
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA servidor.undominio.local. root.servidor.undominio.local. (
2
604800
86400
2419200
604800 )
;
@ IN NS servidor.undominio.local.
1 IN PTR servidor.undominio.local.
1 IN PTR correo.servidor.undominio.local.

Guardamos y salimos.
# Si no nos interesa IPv6 en nuestro DNS de nuestra red local
# para dejar permanentemente deshabilitado ipv6 en bind9:
# editar /etc/default/bind9 y en OPTIONS añadir -4 antes de -u bind

usuario@maquina:~$ sudo nano /etc/default/bind9
# run resolvconf?
RESOLVCONF=yes
#startup options for the server
OPTIONS="-4 -u bind"

Guardamos y salimos

# comprobamos los ficheros de configuración de Bind9 con la utilidad named-checkconf, si no sale mensaje es que no hay error de sintaxis

usuario@maquina:~$ named-checkconf

# indicamos en /etc/resolv.conf que localhost o 127.0.0.1 es el dns de nuestro sistema

usuario@maquina:~$ sudo nano /etc/resolv.conf

domain undominio.local
search undominio.local
nameserver 127.0.0.1

Guardamos y salimos.

#vaciamos la cache del dns y reiniciamos el servicio dns

usuario@maquina:~$ sudo rndc flush && sudo service bind9 restart

# monitorizamos los logs

usuario@maquina:~$ tail -f /var/log/syslog/

#y deberiamos ver algo similar a esto:

May 9 18:24:18 servidor named[1299]: starting BIND 9.7.0-P1 -4 -u bind
May 9 18:24:18 servidor named[1299]: built with ‘–prefix=/usr’ ‘–mandir=/usr/share/man’ ‘–infodir=/usr/share/info’ ‘–sysconfdir=/etc/bind’ ‘–localstatedir=/var’ ‘–enable-threads’ ‘–enable-largefile’ ‘–with-libtool’ ‘–enable-shared’ ‘–enable-static’ ‘–with-openssl=/usr’ ‘–with-gssapi=/usr’ ‘–with-gnu-ld’ ‘–with-dlz-postgres=no’ ‘–with-dlz-mysql=no’ ‘–with-dlz-bdb=yes’ ‘–with-dlz-filesystem=yes’ ‘–with-dlz-ldap=yes’ ‘–with-dlz-stub=yes’ ‘–with-geoip=/usr’ ‘–enable-ipv6' ‘CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2' ‘LDFLAGS=-Wl,-Bsymbolic-functions’ ‘CPPFLAGS=’
May 9 18:24:18 servidor named[1299]: adjusted limit on open files from 1024 to 1048576
May 9 18:24:18 servidor named[1299]: found 2 CPUs, using 2 worker threads
May 9 18:24:18 servidor named[1299]: using up to 4096 sockets
May 9 18:24:18 servidor named[1299]: loading configuration from ‘/etc/bind/named.conf’
May 9 18:24:18 servidor named[1299]: reading built-in trusted keys from file ‘/etc/bind/bind.keys’
May 9 18:24:18 servidor named[1299]: using default UDP/IPv4 port range: [1024, 65535]
May 9 18:24:18 servidor named[1299]: using default UDP/IPv6 port range: [1024, 65535]
May 9 18:24:18 servidor named[1299]: no IPv6 interfaces found
May 9 18:24:18 servidor named[1299]: listening on IPv4 interface lo, 127.0.0.1#53
May 9 18:24:18 servidor named[1299]: listening on IPv4 interface eth0, 10.156.8.3#53
May 9 18:24:18 servidor named[1299]: listening on IPv4 interface eth1, 192.168.66.1#53
May 9 18:24:18 servidor named[1299]: generating session key for dynamic DNS
May 9 18:24:18 servidor named[1299]: acache 0xb4a06008 cleaning interval set to 3600.
May 9 18:24:18 servidor named[1299]: automatic empty zone: 254.169.IN-ADDR.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: D.F.IP6.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: 8.E.F.IP6.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: 9.E.F.IP6.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: A.E.F.IP6.ARPA
May 9 18:24:18 servidor named[1299]: automatic empty zone: B.E.F.IP6.ARPA
May 9 18:24:18 servidor named[1299]: acache 0xb491e008 cleaning interval set to 3600.
May 9 18:24:18 servidor named[1299]: acache 0xb47f5008 cleaning interval set to 3600.
May 9 18:24:18 servidor named[1299]: command channel listening on 127.0.0.1#953
May 9 18:24:18 servidor named[1299]: zone 0.in-addr.arpa/IN: loaded serial 1
May 9 18:24:18 servidor named[1299]: zone 127.in-addr.arpa/IN: loaded serial 1
May 9 18:24:18 servidor named[1299]: zone 66.168.192.in-addr.arpa/IN: loaded serial 2
May 9 18:24:18 servidor named[1299]: zone 255.in-addr.arpa/IN: loaded serial 1
May 9 18:24:18 servidor named[1299]: zone servidor.undominio.local/IN: loaded serial 5
May 9 18:24:18 servidor named[1299]: zone localhost/IN: loaded serial 2
May 9 18:24:18 servidor named[1299]: running
May 9 18:24:18 servidor named[1299]: zone servidor.undominio.local/IN: sending notifies (serial 5)
May 9 18:24:18 servidor named[1299]: zone 66.168.192.in-addr.arpa/IN: sending notifies (serial 2)

# Comprobaciones

Y por último comprobamos si resuelve

usuario@maquina:~$ host servidor
servidor.undominio.local has address 192.168.66.1
servidor.undominio.local mail is handled by 10 correo.servidor.undominio.local.

usuario@maquina:~$ host servidor.undominio.local
servidor.undominio.local has address 192.168.66.1
servidor.undominio.local mail is handled by 10 correo.servidor.undominio.local.

usuario@maquina:~$ dig -x 192.168.66.1
; <<>> DiG 9.7.0-P1 <<>> -x 192.168.66.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER&<<- opcode: QUERY, status: NOERROR, id: 45940
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;1.66.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
1.66.168.192.in-addr.arpa. 604800 IN PTR correo.servidor.undominio.local.
1.66.168.192.in-addr.arpa. 604800 IN PTR servidor.undominio.local.

;; AUTHORITY SECTION:
66.168.192.in-addr.arpa. 604800 IN NS servidor.

;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon May 9 18:36:03 2011
;; MSG SIZE rcvd: 116


martes, 19 de abril de 2011

JUNIPER JUNOS

Este resumen no está disponible. Haz clic aquí para ver la publicación.