Archivo de la etiqueta: djbdns

tinydns por dominios

[spanish]Los que han trabajado conmigo saben que me gustan mucho los servidores de DJB. Creo que tanto qmail como djbdns son dos servidores estables como una roca en los que se puede confiar sin problemas. Pero hay mucha gente que simplemente no los entiende y los critica por cualquier motivo.

Por ejemplo, con el djbdns. He oído muchas veces la queja de que tener todos los dominios del tinydns en un único fichero de configuración (data) es un coñazo, cuando tienes muchos dominios (>50) la cosa se vuelve inmanejable. Eso prueba mi argumento de que esta gente no se entera de una de las ventajas de los programas de DJB: si, puedes editar los ficheros de configuración a mano, ¡pero lo bueno que tienen es que usan formatos simples fácilmente automatizables! ¿No quieres tener todos los dominios en un único fichero? Perfecto, sepáralos como te resulte más cómodo administrarlos y luego los vuelves a juntar antes de compilarlos.

El siguiente Makefile sirve precisamente para esto: en vez de trabajar con el «data» de toda la vida se crea un directorio «domains» donde se usa un fichero por dominio (el formato es el mismo), a partir de ese momento se usan estos ficheros y no el «data» para la administración. Al ejecutar make el makefile junta todos los ficheros de los dominios en el data y lo compila. Y si defines la IP o FQDN del servidor de backup en env/BACKUP, lo sincroniza. Fácil, ¿verdad?[/spanish]

[english]It’s no secret that I really like DJB‘s software. I think that qmail and djbdns are rock-solid pieces of software, something you can really rely on. But some people just don’t get them and bash them for whatever reasons.

Case in point, djbdns. Many a time I’ve heard the argument that having all tinydns’ domains in a single data file is a PITA. Well, that proves those people don’t get the point in DJB configuration files: you can edit them by hand, but their real power is that they’re easily scriptable! You don’t want having all the domains in a single file? Ok, split them and join them before compiling!

You can do this with the following makefile: split the domains, one per file on the «domains» directory, and work with those files, don’t ever touch the original «data» file again. And if you have a backup server put it’s IP address or FQDN on an env/BACKUP file. Then when you run «make» it will join all the files, compile them and sync the results with the backup server. Easy as pie, don’t you think?[/english]


all: data.cdb

data: domains/*[^bB][^aA][^kK~]
        cat $+ > data

data.cdb: data
        /usr/bin/tinydns-data
        [ -f ../env/BACKUP ] && rsync -azv * root@`cat ../env/BACKUP`:`pwd`

clean:
        -rm -f *~ domains/*~

Grave problema de seguridad en el protocolo DNS

¡¡Qué bien que a mis servidores no les afecta porque uso djbdns!! :-P

Luego en el trabajo me preguntan si me llevo comisión por estar siempre cantando las alabanzas del djbdns y el qmail, pero coño… años usándolos, cero incidencias, cero problemas de seguridad. Comparad con sendmail y bind…

Más info:

Mi nuevo servidor

[spanish]Señores, señoras, les presento a mi nuevo servidor del que he hablado estos días:[/spanish]
[english]Ladies and gentleman, let me please introduce you to my new server, the one I’ve been blogging about lately:[/english]

dscf0042.JPG dscf0044.JPG

[spanish]¿Qué? ¿Que no lo veis? ¡Si hombre! La caja ésta gris encima del disco iomega, ligeramente más grande que la Fonera

Para el que no conozca éste chisme ya, se trata de un Linksys NSLU2, un pequeño cacharro que cuesta unos 80€ y trae dos puertos USB2 y uno ethernet, permitiendo pincharle discos externos USB y hacerlos accesibles por la red en plan NAS. Y lo mejor de todo: se le puede flashear el firmware cambiándolo por ¡¡una Debian!! :-D

No es muy potente, lleva un procesador XScale (ARM) a 266Mhz y sólo 32Mb de RAM, aunque hay páginas que explican cómo ampliarle la memoria hasta 256Mb. Pero bueno… hace su papel, y sobre todo es pequeño, no ocupa lugar, no hace ruido y apenas consume electricidad.

Yo por ahora lo tengo con todo ésto y aguanta (tira de swap bastante, eso si):

[/spanish][english]

What? You don’t see it? Yes! The small grey box on top of the iomega disk, slightly bigger than the Fonera

In case you don’t know it yet, it’s a Linksys NSLU2, a small device around $100 that comes with two USB2 ports and an ethernet connection. Plug an external USB hard drive to it and it’ll become available over the network like a NAS share. And the best part is: you can flash its firmware and install Debian!! :-D

It’s not that powerful, it has an XScale (ARM) processor at 266Mhz and only 32Mb of RAM. There are pages explaining how to install up to 256Mb. Nevertheless, it works and is small, doesn’t make noise, and has a small electrical consumption.

Up to now I’m running the following on it and it works quite well:

[/english]

top-nslu2.png


# cat /proc/cpuinfo
Processor	: XScale-IXP42x Family rev 2 (v5l)
BogoMIPS	: 266.24
Features	: swp half fastmult edsp
CPU implementer	: 0x69
CPU architecture: 5TE
CPU variant	: 0x0
CPU part	: 0x41f
CPU revision	: 2
Cache type	: undefined 5
Cache clean	: undefined 5
Cache lockdown	: undefined 5
Cache format	: Harvard
I size		: 32768
I assoc		: 32
I line length	: 32
I sets		: 32
D size		: 32768
D assoc		: 32
D line length	: 32
D sets		: 32

Hardware	: Linksys NSLU2
Revision	: 0000
Serial		: 0000000000000000

# free
             total       used       free     shared    buffers     cached
Mem:         29988      28988       1000          0        404       4808
-/+ buffers/cache:      23776       6212
Swap:       979924      41164     938760

# uname -a
Linux eliza 2.6.18-6-ixp4xx #1 Tue Feb 12 00:57:53 UTC 2008 armv5tel GNU/Linux

# pstree
init-+-afpd---afpd
     |-atalkd
     |-atd
     |-avahi-daemon---avahi-daemon
     |-cnid_metad
     |-cron
     |-dbus-daemon
     |-events/0
     |-getty
     |-khelper
     |-klogd
     |-ksoftirqd/0
     |-kthread-+-aio/0
     |         |-kblockd/0
     |         |-khubd
     |         |-3*[kjournald]
     |         |-kmirrord
     |         |-kpsmoused
     |         |-kseriod
     |         |-kswapd0
     |         |-2*[pdflush]
     |         |-scsi_eh_0
     |         `-usb-storage
     |-mtdblockd
     |-nmbd
     |-papd
     |-portmap
     |-rpc.statd
     |-slpd
     |-smbd---smbd
     |-sshd---sshd---sshd---bash---su---bash---pstree
     |-svscanboot-+-readproctitle
     |            `-svscan-+-supervise---dnscache
     |                     |-3*[supervise---multilog]
     |                     |-supervise---tinydns
     |                     `-supervise---mlnet---mlnet---mlnet
     |-syslogd
     `-udevd