Apuntando mis dominios a mi propio dns con Ubuntu server 10.04

Buenas:

Vamos a realizar algunas practicas con dns.

Para empezar vamos a configurar un dominio para que sea el dns de nuestras webs.

Vamos a crear el archivo que contiene la info que necesita nuestra zona.

root@pc1:~# cd /etc/
root@pc1:/etc# cd bind
root@pc1:/etc/bind# ls
bind.keys  db.127  db.empty  db.root     named.conf.default-zones  named.conf.options  zones.rfc1918
db.0       db.255  db.local  named.conf  named.conf.local          rndc.key
root@pc1:/etc/bind# cp db.empty db.midns.com

Ahora que copiamos ya desde uno por defecto vamos a editarlo para que quede asi.


root@pc1:/etc/bind# cat db.midns.com
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL    86400
@       IN      SOA     ns1.midns.com. root.midns.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
@       IN      NS      ns1.midns.com.
ns1     IN      A       172.16.31.149
root@pc1:/etc/bind#

Luego tenemos que configurar nuestros archivos de configuracion global del demonio bind.


root@pc1:/etc/bind# ls -l
total 60
-rw-r--r-- 1 root root  601 2010-03-22 16:59 bind.keys
-rw-r--r-- 1 root root  237 2010-03-22 16:59 db.0
-rw-r--r-- 1 root root  271 2010-03-22 16:59 db.127
-rw-r--r-- 1 root root  237 2010-03-22 16:59 db.255
-rw-r--r-- 1 root root  353 2010-03-22 16:59 db.empty
-rw-r--r-- 1 root root  270 2010-03-22 16:59 db.local
-rw-r--r-- 1 root bind  384 2010-10-29 15:52 db.midns
-rw-r--r-- 1 root bind  384 2010-10-29 15:52 db.midns.com
-rw-r--r-- 1 root root 2940 2010-03-22 16:59 db.root
-rw-r--r-- 1 root bind  463 2010-03-22 16:59 named.conf
-rw-r--r-- 1 root bind  490 2010-03-22 16:59 named.conf.default-zones
-rw-r--r-- 1 root bind  239 2010-10-29 15:52 named.conf.local
-rw-r--r-- 1 root bind  572 2010-10-29 15:51 named.conf.options
-rw-r----- 1 bind bind   77 2010-10-29 15:23 rndc.key
-rw-r--r-- 1 root root 1317 2010-03-22 16:59 zones.rfc1918
root@pc1:/etc/bind#

De todos esos tenemos que tocar nada mas el named.conf.local que es el que vamos a ir agregando nuestras zonas a administrar.


root@pc1:/etc/bind# cat named.conf.local
//
// 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 "midns.com" {
        type master;
        file "/etc/bind/db.midns.com";
};
root@pc1:/etc/bind#

Corroboramos que no halla errores de sintaxis en los archivos que modificamos.

root@pc1:/etc/bind# named-checkconf named.conf
root@pc1:/etc/bind# named-checkconf named.conf.local
root@pc1:/etc/bind#
root@pc1:/etc/bind# named-checkzone midns.com db.midns.com
zone midns.com/IN: loaded serial 1
OK
root@pc1:/etc/bind#

Luego restarteamos el servicio y vemos si esta andando todo.


root@pc1:/etc/bind# invoke-rc.d bind9 restart
 * Stopping domain name service... bind9                                                                                          [ OK ]
 * Starting domain name service... bind9                                                                                          [ OK ]
root@pc1:/etc/bind#
No se olviden de esto -->
root@pc1:/etc/bind# cat /etc/resolv.conf
nameserver 172.16.31.2  --> lo tengo apuntado a la interface nat que me da ip .
domain localdomain
search localdomain
root@pc1:/etc/bind# vi /etc/resolv.conf
root@pc1:/etc/bind# cat /etc/resolv.conf
nameserver 172.16.31.149 --> apuntemoslo a nuestro dns (nuestra ip)
domain localdomain
search localdomain
root@pc1:/etc/bind#
Aca una bateria de utilidades de bind.
root@pc1:/etc/bind# host ns1.midns.com
ns1.midns.com has address 172.16.31.149
root@pc1:/etc/bind# nslookup ns1.midns.com
Server:         172.16.31.149
Address:        172.16.31.149#53

Name:   ns1.midns.com
Address: 172.16.31.149

root@pc1:/etc/bind# dig ns1.midns.com

; <<>> DiG 9.7.0-P1 <<>> ns1.midns.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3432
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;ns1.midns.com.                 IN      A

;; ANSWER SECTION:
ns1.midns.com.          86400   IN      A       172.16.31.149

;; AUTHORITY SECTION:
midns.com.              86400   IN      NS      ns1.midns.com.

;; Query time: 1 msec
;; SERVER: 172.16.31.149#53(172.16.31.149)
;; WHEN: Fri Oct 29 17:33:08 2010
;; MSG SIZE  rcvd: 61

root@pc1:/etc/bind#

Ahora lo que vamos hacer es suponer que tenemos dos sitios webs …
www.villadalmine.com.ar
www.santafederacion.com.ar
Y queremos que utilize el dns que configuramos arriba.


Creamos el primer archivo de nuestra zona
root@pc1:/etc/bind# cp db.empty  db.villadalmine.com.ar
root@pc1:/etc/bind#

Lo editamos

root@pc1:/etc/bind# cat db.villadalmine.com.ar
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL    86400
@       IN      SOA     ns1.midns.com.       ns1.midns.com. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
@       IN      NS      ns1.midns.com.
www     IN      A       172.16.31.149
root@pc1:/etc/bind#
Luego editamos el named.conf.local
root@pc1:/etc/bind# cat named.conf.local
//
// 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 "midns.com" {
        type master;
        file "/etc/bind/db.midns.com";
};

zone "villadalmine.com.ar" {
        type master;
        file "/etc/bind/db.villadalmine.com.ar";
};
root@pc1:/etc/bind#

Ahora vamos hacer lo mismo para el otro sitio.

root@pc1:/etc/bind# cp db.empty db.santafederacion.com.ar
root@pc1:/etc/bind# vi db.santafederacion.com.ar
root@pc1:/etc/bind# vi named.conf.local
root@pc1:/etc/bind# named-checkzone santafederacion.com.ar db.santafederacion.com.ar
zone santafederacion.com.ar/IN: loaded serial 1
OK
root@pc1:/etc/bind#

Los archivos quedaron asi:

root@pc1:/etc/bind# cat db.santafederacion.com.ar
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE – it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA ns1.midns.com. ns1.midns.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS ns1.midns.com.
www IN A 172.16.31.149
root@pc1:/etc/bind#

root@pc1:/etc/bind# cat named.conf.local
//
// 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 “midns.com” {
type master;
file “/etc/bind/db.midns.com”;
};

zone “villadalmine.com.ar” {
type master;
file “/etc/bind/db.villadalmine.com.ar”;
};

zone “santafederacion.com.ar” {
type master;
file “/etc/bind/db.santafederacion.com.ar”;
};
root@pc1:/etc/bind#

Bueno ahora reiniciamos y testeamos que ande con las herramientas de bind.


root@pc1:/etc/bind# dig www.santafederacion.com.ar

; <<>> DiG 9.7.0-P1 <<>> www.santafederacion.com.ar
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50174
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.santafederacion.com.ar.    IN      A

;; ANSWER SECTION:
www.santafederacion.com.ar. 86400 IN    A       172.16.31.149

;; AUTHORITY SECTION:
santafederacion.com.ar. 86400   IN      NS      ns1.midns.com.

;; ADDITIONAL SECTION:
ns1.midns.com.          86400   IN      A       172.16.31.149

;; Query time: 1 msec
;; SERVER: 172.16.31.149#53(172.16.31.149)
;; WHEN: Fri Oct 29 21:16:07 2010
;; MSG SIZE  rcvd: 103

root@pc1:/etc/bind# dig www.villadalmine.com.ar

; <<>> DiG 9.7.0-P1 <<>> www.villadalmine.com.ar
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9142
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.villadalmine.com.ar.       IN      A

;; ANSWER SECTION:
www.villadalmine.com.ar. 86400  IN      A       172.16.31.149

;; AUTHORITY SECTION:
villadalmine.com.ar.    86400   IN      NS      ns1.midns.com.

;; ADDITIONAL SECTION:
ns1.midns.com.          86400   IN      A       172.16.31.149

;; Query time: 0 msec
;; SERVER: 172.16.31.149#53(172.16.31.149)
;; WHEN: Fri Oct 29 21:16:15 2010
;; MSG SIZE  rcvd: 100

Bueno ya tenemos andando nuestras zonas ahora vamos a hostear los sitios en otro equipo haciendo que utilize nuestro dns.

Miren la salida de la configuracion del equipo externo


rino ~ # ls -la /var/www/
total 20
drwxr-xr-x  5 apache root 4096 Oct 29 21:29 .
drwxr-xr-x 14 root   root 4096 Oct 29 16:10 ..
drwxr-xr-x  3 root   root 4096 Oct 29 16:16 localhost
drwxr-xr-x  2 root   root 4096 Oct 29 21:30 santafederacion.com.ar
drwxr-xr-x  2 root   root 4096 Oct 29 21:30 villadalmine.com.ar
rino ~ # ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0c:29:b2:ff:f8
          inet addr:172.16.31.147  Bcast:172.16.31.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb2:fff8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24010 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12282 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35338831 (33.7 MiB)  TX bytes:686110 (670.0 KiB)
          Interrupt:19 Base address:0x2000 

rino ~ #

Ahora vemos el apache 🙂

rino vhosts.d # ls -l
total 28
-rw-r–r– 1 root root 7628 Oct 29 16:16 00_default_ssl_vhost.conf
-rw-r–r– 1 root root 1518 Oct 29 16:16 00_default_vhost.conf
-rw-r–r– 1 root root 398 Oct 29 21:26 default.include
-rw-r–r– 1 root root 2830 Oct 29 16:16 default_vhost.include
-rw-r–r– 1 root root 398 Oct 29 21:40 santafederacion.com.ar.conf
-rw-r–r– 1 root root 389 Oct 29 21:36 villadalmine.com.ar.conf
rino vhosts.d # uname -r
2.6.34-gentoo-r6

rino vhosts.d # uname -a

rino vhosts.d # cat /etc/resolv.conf
# Generated by dhcpcd from eth0
# /etc/resolv.conf.head can replace this line
search localdomain
nameserver 172.16.31.149
# /etc/resolv.conf.tail can replace this line
rino vhosts.d #

Como ven es otro equipo que apunta a nuestro dns 🙂

Esto funciona claramente para un uso interno si quieren hacer su propio dns para apuntarle sus webs lo mas practico es usar el servicio de –>
http://freedns.afraid.org/
http://www.everydns.com

Para hacerlo mas didactico por lo menos algo..
Me voy agregar esta entrada en mi /etc/hosts porque no voy a cambiar mi dns 🙂

172.16.31.147 www.villadalmine.com.ar www.santafederacion.com.ar

Y ahora la prueba de que esta andando 🙂



Como ven del lado derecho una pagina y del lado izquierdo otra

Resumiendo, configuramos dns, y dos zonas que utilizan ese dns para que luego las paginas sean hospedadas en otra web.. Pero para eso tuvimos que cambiar los archivos de las zonas para que el registro que contiene a donde esta el subdominio www apunte a la ip donde esta hospedada la pagina.

Aca estan los archivos, en negrita lo que se cambio
root@pc1:/etc/bind# cat db.villadalmine.com.ar
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE – it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA ns1.midns.com. ns1.midns.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS ns1.midns.com.
www IN A 172.16.31.147
root@pc1:/etc/bind#

root@pc1:/etc/bind# cat db.santafederacion.com.ar
; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE – it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA ns1.midns.com. ns1.midns.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS ns1.midns.com.
www IN A 172.16.31.147
root@pc1:/etc/bind#

Bueno esto es todo 🙂

Saludos

One thought on “Apuntando mis dominios a mi propio dns con Ubuntu server 10.04

  1. I have got one recommendation for your site. It looks like right now there are a number of cascading stylesheet troubles when launching a number of web pages within google chrome as well as opera. It is working okay in internet explorer. Possibly you can double check that.

Leave a Reply