-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Miércoles, 4 de Febrero de 2004 06:53, Jaume Benet escribió:
Hola amigos/as, Una vez expuesto el problema, os pido ayuda para configurar los DNS de mis dos servidores ya que la idea es que uno sea un servidor primario i el otro secundario. Consultada la empresa que me ofrece la redirección, me comunicó que no había ningun problema i que lo podia hacer, que les avisase para dar de baja el servicio de redirección i ja està.
* Ten en cuenta que la gente tiene muy mala leche tienes que darlos de alta en internet, que te lo hagan ellos, si no sabes-puedes, la resolucion inversa, me parece que telefonica no la delega por defecto y no se si la delega pidiendoselo. * servidor primario dominio = dominio.com nombre de la maquina = dns1.dominio.com direccion ip = 1.2.3.4 red interna = 192.168.0.0/24 nombres de las maquinas internas: secretaria director alumnos1.dominio.com * servidor secundario nombre de la maquina = dns2.dominio.com direccion ip = 5.6.7.8 red interna = 192.168.0.0/24 nombres de las maquinas internas: mimadre mipadre miportatil.dominio.com * Se trata de configurar vistas, independientes para el exterior y para la red interna, esto de paso resuelve algun problema con servidores llamados desde el interior que no pueden alcanzar la ip externa. * Al usar vistas todas las zonas deberan estar explicitamente listadas en cada vista. * bind correra enjaulado en un chroot y SuSEconfig mantendra la jaula, se trabajara sobre /etc/named.conf /etc/named.d/ ../rndc-acces.conf y rndc.key , SuSEconfig se encargara de incluirlos en el chroot, las zonas pueden hacerse en ficheros separados en /etc/named.d/ y especificar en /etc/sysconfig/named los ficheros a incluir al chroot, en el ejemplo se configuraran directamente en /etc/named.conf, las rutas son relativas ya que se explicita la principio el entorno chroot, asi que ojo con la sintaxis. * /etc/sysconfig/named NAMED_RUN_CHROOTED="yes" NAMED_CONF_INCLUDE_FILES="rndc-access.conf" NAMED_ARGS="-t /var/lib/named/var" * /etc/named.conf del primario. options { directory "/var/lib/named"; dump-file "/var/log/named_dump.db"; statistics-file "/var/log/named.stats"; #forwarders { x.x.x.x; y.y.y.y; }; # en forwaders podrias poner los dns de tu isp por si fallan los tuyos que # los clientes sigan obteniendo resolucion, para las pruebas mejor que no, # y forwar first por por si quieres que se usen esos primero, si tienes un #dns en tu red mejor que no, sera mas lento #forward first; #en que interfaces-direcciones y puerto debe escuchar bind, por defecto en #todas y en el 53 #listen-on port 53 { 127.0.0.1; }; # las consultas, transferencias de zona y notificaciones de cambios se haran # por todas las interfaces de la maquina y en puerto el 53 query-source address * port 53; transfer-source * port 53; notify-source * port 53; # redes que pueden hacer consultas, mejor ponerlo, si abusan de nuestro dns # se comentan las lineas allow-query de las zonas y tomara esta. allow-query { 127.0.0.1; 192.168.0.0/24; 5.6.7.8; }; notify no; }; logging { channel query_logging { file "/var/log/named_querylog" versions 3 size 10M; print-time yes; }; category queries { query_logging; }; category lame-servers { null; }; }; include "/etc/named.conf.include"; # estas zonas no necesitan modificacion, solo el localhot.zone que se # indicara mas adelante, estos ficheros me parece que estan incluidos ya por # suse en el chroot, vamos que no hace falta crearlos, si no estan, en la # documentacion del paquete bind estan los ejemplos, estas "." "localhost" y # la inversa de localhost estaran en el chroot general /var/lib/named/ asi # como la local, que no necesitan transferencia a los esclavos y por claridad. # acl "lan" { 192.168.0.0/24; }; view "interna" { match-clients { lan; }; recursion yes; zone "." in { type hint; file "root.hint"; }; zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; }; zone "3.2.1.in-addr.arpa" { type master; file "master/1.2.3.zone"; allow-transfer { slaves; }; }; zone "0.168.192.in-addr.arpa" { type master; file "192.168.0.zone"; }; zone "dominio.com" { type master; file "dominio.com.interna"; }; }; # la vista externa, en esta no se incluye la inversa de la red local # y se comparten las zonas inversas y se duplican las directas. # view "externa" { match-clients { any; }; recursion no; zone "." in { type hint; file "root.hint"; }; zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; }; zone "3.2.1.in-addr.arpa" { type master; file "master/1.2.3.zone"; allow-transfer { slaves; }; }; zone "dominio.com" { type master; file "master/dominio.com"; allow-query { any; }; allow-transfer { slaves; }; }; }; # la modificacion aludida en el fichero /var/lib/named/localhost.zone $TTL 1W @ IN SOA localhost. vicente.dominio.com. ( 42 ; serial (d. adams) 2D ; refresh 4H ; retry 6W ; expiry 1W ) ; minimum IN NS dns1.dominio.com. 1 IN PTR localhost.dns1.dominio.com. # /var/lib/named/192.168.0.zone $TTL 2D @ IN SOA dns1.usernix.org. jaume.dominio.com. ( 2004020401 ; serial 1D ; refresh 2H ; retry 1W ; expiry 2D ) ; minimum NS dns1.dominio.com. 1 IN PTR dns1.dominio.com. # /var/lib/named/master/1.2.3.zone $TTL 2D @ IN SOA dns1.dominio.com. jaume.dominio.com. ( 2004020401 ; serial 1D ; refresh 2H ; retry 1W ; expiry 2D ) ; minimum NS dns1.dominio.com. NS dns2.dominio.com. 4 IN PTR dns1.dominio.com. # /var/lib/named/dominio.com.interna $TTL 3D @ IN SOA dominio.com. jaume.dominio.com. ( 2004020401 ; serial, todays date + todays 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds NS dns1.dominio.com. NS dns2.dominio.com. ; el servidor de correo dominio.com. MX 10 dns1 localhost A 127.0.0.1 dominio.com. A 192.168.0.1 dns1 A 192.168.0.1 dns2 A 5.6.7.8 secretaria A 192.168.0.2 director A 192.168.0.3 alumnos1 A 192.168.0.11 ; ejemplo para el servidor web www A 192.168.0.1 ;ejemplo para servidor de correo mail A 192.168.0.1 ; etc.... # /var/lib/named/master/dominio.com (la externa) $TTL 3D @ IN SOA dominio.com. jaume.dominio.com. ( 2004020401 ; serial, todays date + todays 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds NS dns1.dominio.com. NS dns2.dominio.com. dominio.com. MX 10 dns1 dominio.com. MX 20 dns2.dominio.com. localhost A 127.0.0.1 dns1 A 1.2.3.4 dns2 A 5.6.7.8 ;ejemplo para el servidor web www A 1.2.3.4 ;ejemplo para el servidor de correo los clientes tendran que poner como ; servidor pop, imap o smtp , mail.dominio.com mail A 1.2.3.4 * En el servidor secundario solo tendras que adecuar los ficheros de la vista interna a mipadre, mimadre, etc. en named.conf, apuntar la zona dominio.com como esclava, pero vamos los ficheros son calcados apuntando las ips a los nombre correctos de cada cosa. zone "dominio.com" { type slave; file "slave/dominio.com.zone"; masters { 1.2.3.4; }; allow-query { 127.0.0.1; 192.168.0.0/24; 1.2.3.4; }; * y su propia zona inversa ya que es maestro de ella zone "7.6.5.in-addr.arpa" in { type master; file "master/5.6.7.zone"; allow-query { 127.0.0.1; 192.168.0.0/24; 1.2.3.4; }; allow-transfer { 1.2.3.4; }; }; * generamos una clave tsig de tipo host en el maestro, para que las transferencias se hagan de forma segura, el nombre puede ser la fecha de creacion y el nombre del host, y la longitud de 512 bits. dnssec-keygen -a HMAC-MD5 -b 512 -n HOST 04022004_dns1.dominio.com.tsigkey generara dos ficheros K04022004_dns1.dominio.com.tsigkey.+157+23114.key K04022004_dns1.dominio.com.tsigkey.+157+23114.private * el nombre de la clave sin la "K" es: 04022004_dns1.dominio.com.tsigkey. * edita el fichero terminado en private y copia el chorizo de caracteres que ponga en key, pegalo en /etc/rndc.key en el campo secret y en el campo key el nombre de la clave, quedaria asi: key "04022004_dns1.dominio.com.tsigkey." { algorithm hmac-md5; secret "3QcQndB[..........]kS7po7FT41"; }; * este fichero lo puedes transferir con scp al esclavo y machacar el existente si no quieres configurarlo a mano es calcado. * /etc/named.d/rndc.access.conf controls { # el servidor solo se podra administrar desde la propia maquina # conectas via ssh y recargas o modificas inet 127.0.0.1 allow { 127.0.0.0/8; } keys { rndc-key; }; }; * Si vas a gestionar muchas zonas, mejor en ficheros individuales en /etc/named.d/ y meterlos en /etc/sysconfig/named * Tambien puedes crear zonas con dominios no validos secretaria.instituto, director.instituto, etc, en vez de dar FQDN validos a las maquinas internas, pero yo con las vistas a esto no le veo mucho sentido. * Pon atencion en las configuraciones, el servicio dns es para dar informacion y quien mantiene en pie internet, procura dar aquella que es de dominio publico, si lo configuras mal, te pueden hacer mucho daño y a otros tambien por culpa tuya, abre en /etc/sysconfig/SuSEfirewall el puerto 53 tcp y udp, tanto para el exterior como para la lan. * Ejecuta SuSEconfig en el maestro, rcnamed restart, y luego lo mismo en el secundario, en /var/lib/named/slave/ te deberan aparecer las zonas directas transferidas por el maestro. * Revisa los errores de sintaxis que tanto punto y coma da dolor de cabeza, para probar usa la herramienta dig, al levantarse bind cambia al usuario named que no tiene privilegios, por tanto solo puede escribir en slaves/ donde el secundario alojara lo que el primario le mande desde masters/ asi como en var/ del chroot, te lo digo por los ficheros de log, query_log y demas si piensas en cambiar la ubicacion de algo, solo named y root deben poder leer named.conf y rndc.key , tanto los transferidos al chroot como los de /etc/. * Aqui puedes comprobar si tu servidor de correo es un rele abierto, cuando lo configures. http://members.iinet.net.au/%7Eremmie/relay/index.cgi * Aqui, que es lo que ven los demas, no todos los warnings son errores de configuracion, algunos RFC estan para saltarselos si uno cree que aporta seguridad a su red. http://www.dnsreport.com/ http://www.dnsstuff.com/ * Y creo que, colorin colorado....... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAIWHdAXFL65CppEIRAlcvAJ9bTX69M+fyr7S8OXoAur5TaJmvWwCbBBhG VBAizxKcFkZxvIMEjLJUOuI= =F1RZ -----END PGP SIGNATURE-----