Académique Documents
Professionnel Documents
Culture Documents
>NEADERc<- opcode: QUERY, status: NOBRROR, id: 4096
+1) Elages qe ed fa) QUERY: 1, ANGWER: 2, AUTHORITY: 0, ADDITIONAL: ©
ty SERVER: 61.169.263.706H53
La biisqueda directa y la inversa se complementan. Nuestro servidor primario
std completo,gee sistera de nombres de dominio.
Configurando el servidor de nombres secundario
Ahora, levantaremos nuestro servidor de nombres secundario,
server2. centralsoft .org, Actuara como copia de seguridad en caso.
de que el servidor primario (server .centralsoft .oxg) falle, por lo que
las personas todavia podran buscar centralactt.org y sus subdominios.
Elarchivonamed. conf para server? .centraisoft .org es parecido al del
servidor de nombres primario con algunas diferencias:
options {
DidcEiLe */var/run/bina/un/nemed. pias
11 query-soizce addres * port 53:
sone "of
ype inc
Eile ab: root
i
pone "8.9, 127-in-adde.axpa* {
ype acter
Hie "db: local,
h
zone reentratecte.org* {
file "eec.centratactt.org*,
(sorge3,asacagr he
1a diferencia mas importante es Ia que se coment6 antes en este mismo cap
tulo. El tipo esclavo, que se indica en Ia sentencia final indica que es una zona
esclava. En la linea del archivo especificamos el nombre del archivo donde se debe
guardar la zona esclava, y en la linea maestra especificamos la direccion IP del
servidor de nombres primario,
Esto es todo lo que tenemos que hacer para configurar el servidor de nombres
secundario,
Reinicie named en server2.centralaoft. org y liego deberfa encontrar el
archivo /ete/bind/sec. central soft .org en su servider de nombres secun-
dario. ‘Qué ha ocurrido? El servider de nombres secundario ha contactado con et
servidor de nombres primario que Ie ha transferido la zona,
Ahora, eada vez que actualice una zona en el servidor de nombres primario,
asegcirese de que el niimero de serie se incrementa. En caso contrario, la zona
actualizada no se transferira al servidor de nombres secundario.
sistema de nombres de dominio 89
Herramientas BIND
‘Como hemos mencionado anteriormente en este capstulo, BIND se divide en.
tres partes: el demonio named, la ibreria resoluta y algunas herramientas.
Una herramienta que ya ha usado es dig, que los administradores usan para
consultar los servidores de nombres DNS. dig hace busquedas DNS y muestra las
respuestas devueltas por los servidores de nombres y las estadisticas sobre la
consulta.
La mayorfa de Jos administradores DNS usan dig para solucionar los proble-
mas de DNS debido a su flexibilidad, facilidad de uso y claridad. Otras herra-
imientas de biisqueda suclen fener menos funcionalidad. Otra alternativa podria,
ser, no obstante, nslookup. Tambien echaremos un vistazo a rnde, una herr?
mienta de administracion ttil que se ineluye con BIND,
nslookup:
nslookup trabaja de manera similar a dig pero estd obsoleto en Linux. Usarlo,
requiere mas trabajo, pero deberia serle familiar porque Microsoft Windows atin
Jo usa como herramienta primaria de busqueda,
nslookup consulta servidores de nombre de dominio de Internet en dos mo-
dos: interactivo y no interactivo. EL modo interactivo permite consultar los ser~
vidores de nombres para obtener informacién sobre varios equipos y dominios, 0
para imprimir una lista de equipos en un dominio. EI modo no interactive sim-
plemente imprime el nombre y la informacion solicitada para un equipo o domi-
no. Por ejemplo, podria ejecutar la siguiente béisqueda para encontrar informacion
sobre el servidor Google
Radeens: 306.299-02-30
En cl modo interactivo, nslookup ofrece una interfaz. donde se pueden gjecu-
tar comandos. Por ejemplo:
Desde la interfaz se pueden hacer varias basquedas simples, como la de una
siveceion IP0. E sistema de nombres de dominio.
42,156,285, 70.ip-addr orga mane = a4s1-79-269-158-42. 81 x08,
Authoritative aneware can be found from
155,253, 70. n-acdy arpa nameoerver = net_swelt net.
250,255.70 {n-aade espe namese=ver © na? supe nee
Puede ejecutar varios comandos, incluyendo Iserver (que usa su servidor local
para hacer una btisqueda), server (que usa otro servidor para hacer una busque~
dda) y host. El comando Iserver produce una salida como la siguiente:
Default servers google.com
Baarooa: 4.233.167, 29859
Default server: google.com
Auazeva: 6¢.233.189-95439
Elsubcomando host ofrece una utilidad simple para realizar bitsquedas. Cuando
no se dan argumentos u opciones, host imprime un pequefio resumen en la linea
‘de comando de fos argumentos y las opciones. La gente lo usa principalmente
para convertir nombres a direcciones IP y viceversa. He aqui un ¢jemplo:
contralactt org has sddcees 29.26,256.42
Cuando pone host en modo completo con la opcién ~v, ofrece informacion
similar al comando dig:
> host -v centralsott.org
Trying ‘eontraloott.org"
SoHEADERC<- opcode: QUERY, statue: ROERROR, 4a. «3756
fy lager ge sd far QUERY! 1, NEWER. L) AUTVORIEY. 2, appoTzoMAR 0
24 goeerI0N secrzow.
Joontralaote org mos
fenteetestt org 29437 INNS servert.contraleott.o¢g.
ELsistema de nombres de do a”
Esta informacion viene de la direcci6n IP 68.94.156.1, puerto 53, qué es el
servidor de nombres especiticado en el archivo asolv .coné del equipo que
realizé la busqueda, Puede usar host de nuevo para averiquar el nombre de este
servidor
> nowt 6¢.94.356.1
Ziteeco4ccein-adde arpa doeasn name pointer dass1.ebegiobat net
Introduzca exit para cerrar la sesi6n de bitsqueda interactiva.
‘También puede usar named para arreglar fallos en algunas situaciones. Por
jemplo, para averiguar el naimero de version de su implementacién BIND, gje-
cute el siguiente comando:
‘but lddaroelehopper: /bui14/buli4d/bind-8.4.6/ere/bin/mamed
mdc
BIND ofrece un comando ride como parte de la instalacién. rnde permite
administrar named usando la linea de comandos. La ulilidad envia los comandos
introducidos mediante linea de comandos al servidor que ¢jecuta server, que los
pprocesa, El script de inicializacion de BIND 9 también usa mde.
Para evitar que los usuarios no autorizados accedan a su servidor de nombres,
‘deberia usar una clave secreta para autentificar el acceso, Para que made ejecute
Jos comandas en un servidor de nombres, incluso en un equipo local, ambos
deben compartir la misma clave. Psta clave est almacenada en el archivo /ete/
bind/rndc.key, y tanto named como rndc leeran la clave desde esta localiza
ion, Elarchivorndc. key deberia haberse creado durante la instalacion de BIND.
EL comando rnde tiene la siguiente forma
"endo rade-optione comand comand-option
Ahora veremos algunas opciones de rnde comunes que podria necesitar (lea
las paginas-manual de mde para ver la lista completa)
+ Kc key-file: Usa cl archivo con la clave especificado en lugar del archivo
por defecto /ete/bind/rndc. key.
+s server: Envia el comando al servidor espevificado en lugar de al servi-
dor local
+ -V: Activa el modo de informacién completo,
Aqai se muestran algunos de los comandos que rndc suele enviar a named (para
‘una lista completa de los comandos, simplemente introxhzea el comande rndc):a El sistema de nombres de dominio
+ halt: Para el servidor de nombres inmediatamente,
+ querylog: Activa o desactiva el log de todas las consultas hechas por los
clientes a este servidor de nombres. Es un comanido de conmuttacion: con
muta al estado activo si estaba desactivado y viceversa.
+ reload {zone}: Recarga los archivos de zona, pero mantiene todas las res-
puestas que se almacenaron previamente en caché. Esto permite hacer
‘cambios en los archivos de zona y que tengan efectos en sus servidores
maestros ¥ esclavos sin perder todos los nombres ya resueltos, Silos cam-
bios afectan a una Gniea zona, puede indicar que solo se recargue esa
+ retransfer zone: Obliga a volver a transferit la zona especificada sin te-
ner que comprobar cl rtimero de serie
+ stats: Vuetea las estadisticas actuales de named al archivonamed. etate.
+ status: Muestra el estado actual del servidor de nombres,
+ stop: Detiene el servidor, guardando y actualizando dinamicamente los
datos antes de salir.
Resolucién de problemas en BIND
En este punto del capitulo, deberia tener un conocimiento funcional acerca de
DNS. También deberia saber Como configurar sus archivos y cémo corregir pro-
Dlemas de sintaxis, como errores tipograticos,
En sta secci6n, cubriremos algunos aspectos basicos, problemas comunes que
puede encontrar cuando BIND y DNS estan funcionando. No es un tratado ex
haustivo, pero deberia ayudarle a ejecutar DNS en su servidor Lintx si tiene
problemas para que su dominio resuelva nombres de equipos o haga transferen-
cias de zona,
‘Nota: El disci de sistema de nombres de dominio cs robust, peroen ocd
sones puerden aparecererrores. Siguendo estrctamente los patrones par
«ear archivos de zona descrfos anteriormente en este capitulo, pede evitar
problemas que estan fuera del aleance de est libro.
No se puede conectar usando mde
Para empezat, veamos un consejo sobre resolucién DNS, Anteriormente, vi-
‘mos cémo el comando status de rnde muestra el estado actual de ejectcion de
ElLsistema de nombres de dominio 93
nuestro servidor DNS. Probemos a entrar en el sistema como root y ejecutar el
comand:
Sebug Levels ©
query logging 3 OFF
Leomando rnde depende de una clave compartida en el archivo /ete/bind/
nde. key para que named acepte sus comandos, Problemas con este archivo
pueden evitar que mdc envie los comandos.
‘Agus un ejemplo de que deberiamos ver si el archivo de la clave no existiera
‘pind/endc.cont nor /ate/bind/rnde,koy was found
Podemos comprobar gue el archivo no existe con este comand:
event P14 <1 /ate/bind/enda key
Ser fete/bina/ende. key: No uch fle or aivectory
Podemos solucionar el problema regenerando el archivo de la misma forma
que lo hace la instalacion de BIND:
servers ende-contgan -2
Bervesiiog Ia 1 /eca/sina/ rads. Key
Thee ---- 1 toot bind 97 sl 19 23/38 /ete/bind/ende key
Debido a que named no tiene esta nueva clave, debemos matar el proceso,
named y reiniciarlo. Para ello, haremos uso del comando del sistema killall, que
coge la ruta completa del nombre del programa named.
Para detener named de manera correcta, ejecutaremos el comando killa dos
veces en un intervalo de unos cuantos segundos, luego reiniciamos named:
eerverti-f RiMlal2 -THRM /uer/sbin/aaned
Secverlof killa] “KILL /uer/obin/aaned
jaax/ediaysaneds no proceaa kttlee
pecverl--4 /aee/inie-a/bing® stare
ssvasisnf rade status94 EL sistema de nombres de dominio
debug Levens 0
fon querien in progress: 0
Server ie up ana running
named se inicia pero no resuelve nombres
Ahora, veamos algunas situaciones donde named no funciona correctamente.
1a localizacién incorrecta de los archivos BIND a menudo causa problemas, ¢5-
pecialmente en entornos chroot donde los archivos BIND estan en un directorio
islado, Si named se inicia bien pero no carga ningan archivo de zona, puede que
no estén en el directorio aislado, Necesitara mirar el archivo /var/1og/aysloa
para ver sieste es el caso, He aqut un ejemplo de log:
pescting BIND 9.2.4 -u Bind -t /var/ltb/named
Maing 2 CPU,
Loading contiguration fron '/ete/bind/naned. cont’
Listening on #v4 interince Lo, 227°0.0. 1859
Listening on TPv4 snteeface eth, 70.253.258. 42452
command hanne? Listening oa 127"0.0. 1893,
command chanced Listening on :14953
EL oy muestra que BIND se ha iniciado, pero no incluye lmeas indicando que
los archivos de zona se han eargado. Ya que named se ¢jecuta en un entorne
chroot en /var/1ib/named, buscaré todos los archivos relativos del directorio,
Por lo que realmente esta leyendo el archivo /var/1ib/namea/ete/bind/
named. cont para la lista de zonas que debe cargar. Cada uno de estos archivos
de zona debe colocarse en la ruta relativa del directorio /var/1ib/named,
Otro error comin ¢s el fallo de una conexion que involucra a rnde al recargar
o reiniciar el servidor de nombres:
byete/init.d/ binds retoee
Stopping naned: de! connect failed: conection refuoed
tor)
Starcing ameds 08)
.
Este tipo de error también puede suceder como resultado de ejecutar BIND en
un entorno chroot, cuando uno 0 mas archivos no esta en el directorio aislado,
Puede comprobar si los archivos estdn en las localizaciones correctas as:
te -2 /ver/1sb/naned/ate/bind/aamed.cont
Tevtele!"Y’voat pind 1611 2006-08-07 12523. /vat/Lib/naned/ate/bsna/
H sistema de nombres de dominio 95
4 As /vas/2in/naned/eve/bina/
Grd Ndbslocal~ nanedconf Local pri.contraisofe.org
5.127 detect” nawed.conf eptione Prk cpensourcetodsy.
b.255 naned.conf pei.256.18,67 Sn-aade_arpatnde.key
Seveopty aagad.cont pri, 19¢.10 67 Anaade expe gones.rfc2918
Si estos archivos no existen, el entorno chroot no est configurado adecuada
‘0 completamente. Vuelva al comienzo del capitulo y siga las instrucciones con
cuidaclo para asegurarse de que cada archivo esta en su lugar.
Una vez arreglado el problema, necesitars parar y reit
iciar named para que
‘nde pueda conectar con el servidor. Use la secuencia le commandos killa deserita
en la seccion previa
yee so R61a21 THRO /aes/ebLe/naned
0h Rildall “RELL /eer/abie/named
fat/ehin/nened: no. process Killed
server. fh sabe/tnieca/oina® start
Scareing donin some service: nemod,
Ahora, compruebe el archivo /var/1o3/sysiog para ver silos archivos de
zona se han cargado. Deberia ver algo como esto:
carting sii 9.2.4 -u ind -¢ /var/itb/named
"onding configuration tron «/ete/eing/aaned cont
Listening on dbv4 interface 10, 227-0-0.2053,
Hetening on dvd Lntertace etho, 74.254 .150.42053
Saad channel Taseenseg on 14989
fone a,gsi7-in-adde-arpa/sm Loaded serial 1
tone centealgott.org/MKs loaded xeriel 2005070502,
iene supporteallorg/1: lasded serial 2006052708
running
No se reconocen los equipos
Et siguiente paso es comprobar el correct funcionamiento de DNS para ase-
_gurarse de que las consultas acezea de sus equuipos se responden de manera adle-
‘cuada, Primero, necesita asegurarse de que el archivo /ete/resolv. cont lista
sus servidores de nombres con las direcciones correctas. La mayorfa de los pro-
_gramas usan las direcciones de este archivo para determinar qué servidorcs de
nombres deben consultar y en qué orden:86 H sistema de nombres de dominio
servertsp cat /ete/reselv.cont
E] comando host hace una simple busqueda DNS usando los servidores lista-
dos en el archivo /etc/resolv.cont, Necesita el equipo a buscar como
parimetro, y un segundo pardmetro optional hace que el eomando consulte a
lun servidor de nombres especifico. He aqui dos ejemplos del comando hest y sus
resultados:
Giver -# heat wn cantealaott org server! centralsott org
Una alternativa a host es el comando dig, que es més complejo pero ofrece
respuestas mas detalladas. También tiene mas opciones que le posibilitan realizar
consultas mas especificas. La sala de dig esta formateada segtin la sintaxis del
archivo de zona. Esto es una ventaja, puesto que una vez que haya aprendido
{qué formato tienen los registros en un archivo de zona, puede comprender faeil-
‘mente los detalles de estos registros en la salida de dig. dig también ofrece infor-
‘maci6n adicional sobre los resultados de la consulta en los comentarios que
cempiezan por el cardcter "
Echemos un vistazo al resultado del comandlo dig. Muchas lincas de la salida
de dig son muy largas y no caben en el disefio de pagina de este libro. Ln el
siguiente Histado, las hemos divide en lineas, Pod ver un resultado similar cuando
Jo ejecute en su linea de comandos:
servaris# dig wncentraiaofe.org &
Fy global options? printom °
3 epcode: QUERY, atarus: NOBRROR, 4: 1699
|
El sistema de nombres de dominio 97
Sentaieote or actoo OS sexverd.centralsott.org
Centaleote ora) Seo Tf SG gervesz ceneenlacte ong
2 query eter 1 eee
2) SuRvER: 70.299. 158.42453,70.259.256.42),
La primera parte de la salida indica varios e6digos de estado y banderas, Pres~
te atencidn particular al valor del estado de la cuarta linea. Es este ejemplo, el
valor es NOERROR, Cualquier otro valor india algan tipo de problema
Los datos para la zona actual se dividen en cuatro secciones;
+ QUESTION: Esta seccién actualmente detalla una consulta, Se muestra
como un comentario porque no es la informacion que deberfa estar en un
archivo de zona,
‘+ ANSWER: Esta seccién contiene los resultados actuales solicitados por la
consulta. Mostrar los registros espectficos solicitadas, si estan dispon
bles, 0 todos los registros si se esta usando el tipo de consulta especial.
+ AUTHORITY: Esta sevcign identifica los servidores de nombres oficiales
para Ja zona de la que viene la transferencia,
+ ADDITIONAL: Esta seecién ofrece las direcciones de algunos 0 de todos los
nombres de las secciones anteriores, para evitar ef problema de hacer mas
consultas para obtener esa informacion. Ahora, veamos lo que deberta
hacer si se produjera un eror. El ejemplo anterior usaba un nombre de
equipo valido para cl servidor Web. Esta vez lanzaremos una consulta
para el nombre de un servidor FTP que no hayamos configurado en nues-
tro archivo de zona:
2 eos DIG 9.2.4 cess Eep.cenbralaott.org a
ScHGAdSRC-~ opcode. QUERY, etarus: NADONAEN, Sa 6592
Hy lage: qe aa £0 ay QOHRY: 1, ANSWER: 0, AUTBORITY: 1, ADDITIONAL: 028. sistema de nombres de dominio
Seeteaisots.ora,S640o N08 gervert.cenratenttorg. ain
‘SERVER: 70,253. 156.42453 70.259. 288,421
serrecaid
Poese en que el estado para la consulta es NADOMAIN, que en esencia significa
“no existe tal nombre de dominio”. Si usted no tiene o introduce mal el nombre de
‘equipo en el archivo de zona, obtendira este error,
Otro tipo de error que podria ver con dig es cuando un nombre de dominio:
hha sido delegado a su servidor de nombres, pero el dominio no esta configurado
en el servidor o falla al cargarse. Este error devuelve un estado dle SERVEAIL. Si
ve este error para alguno de sus dominios, necesita afiadir el dominio a su ar~
chivo named..conf y asegurar que existe un archivo dle zona valido, Si el error
‘ocurre después de haber dado estos pasos, compruebe el archivo /var/103/
sysLog para ver los mensajes que indican por qué no se ha eargado la zona.
Demostraremos el problema con un nombre de dominio que esta registrado,
pero que no esti en uso:
servoris-# dig Umbelp.org ©
e298 DIG 9.2.4 cess Lamelp org 5
ygispal options. printond
) /emp/nyeat damp
Puede crear una tuberia a través de grip para ahorrar algo de tiempo y de
espacio:
1 | atte > /emp/
Una nueva herramienta de c6digo abierto (descarga gratuita, pago por sopor-
te) llamada Zmanda Recovery.
Manager para MySOL ofrece una interfaz titi para muchas de estas alterna~
tivas.E sitio Web de Zmanda (ht tp: //wow. zmanda..com/backup-mysq) -html}
tiene todos los detalles, pero seguidamente mencionaremos algunas de sus dis-
tintas funcionalidades:
+ Tiene una interfaz de linea de comandos
+ Replica bases de datos locales o bases le datos remotas sobre SSL.
+ Envia por correo clectrénico el estado del procedimiento de replicacién.
Haciendo copia de seguridad de los datos 307
+ Mangja todos los tipos de tablas, ineluyende InnoDB,
+ No ofrece nuevos métodos de replicacion. En cambio, permite escoger en-
tre mysqldump, mysqlhotcopy, MySQL replication o LVM snapshots.
+ Soporta la restauracion de una transaccién determinada ode un punto en
eltiempo.
Zmanda ofrece archivos tar.gz y gpm para muchas distribuciones Linux,
Para un how-to de la instalacion en Debian, Visite: BEtp: //wne nowtoforge
com/mysgl_zrm_debian_sarge.Apéndice
Bash scripts de ejemplo
Este apéndice contiene vatios scripts que pueden serle itil en su trabajo dia~
rio, ast como para servir de modelos para escribir otros script. Puede descargar
los scripts (comentados en inglés) desde http: //www.centralsoft .org.
Afiadiendo usuarios
Siusted tiene mucha tarea (como en una universidad, donde entran nuevos
estudiantes al mismo tiempo o varias veces al ao), este script puede ayudarle a
afiadirlos al sistema de forma répida, Lee un archivo que contiene informacion,
sobre cada usuario ¢ invoca useradd con los parametros adecuados (vea capitu-
los anteriores para mas detalles sobre useradd y sus variantes)
tein/oacn
se U2 tent 1): then
‘Pleage give exactly one tile nane.*
tthe die will neve one weer per ina.*
personal rea) name
"Sample ain.310. Bash scripts de ejemplo,
exit 1
cat *91% | while read ueernane groupnane reslnane
4 Seip blank tines:
Ae [nz Susernane || -2 Sqroupnane || -2 Greainane 11) then.
Fesuit=}( eavep “*Susernane:' < /ete/pacewd |
Be Ut omogreeuies J]; thes
echo tuser "fusernaie’ already exiete™
+ « fero/geoup
grouped *s3roupnane™
eerada -c "Gzeslnene” \
‘Decne feeceaase”
Sexpiredstes
aes \
5 "Sgroupsame”
. \
2 /oin/baeh y
Sonera
tt (17 «= 001) then
cena "Gusceaatallyy added vaer “ousernane’
"Scho "ireor sading user ‘Gusernana’ (a¥oup \
“Sgroupane’, veal same 'Geeainene
Generador de contrasefas aleatorias
wostramos un script que genera una contrasefa de una longitad dada,
fn earacteres ASCII:
1 foinoacn
Bash scripts de ejemplo an
Ua veer DI
Se (Lg te 611) een
cone "A paseuctd of Lensth fn would be Coo weak*
Peft 48 Sf-/dev/urandom bec5i12 count-2 2>/dev/aul2 \
| ex ea va-en-20-9"
| gee se eet
eno “etp)*
Si es capaz de mejorar la funcionalidad, merece una recompensa. Mientras
‘que usted esta fuera, nosotros seremes um poco mas puntillosos com los fallos de
este eddigo. Este cédigo es el tipico que suele heredarse de un desarrollador ante
rior: sin comentarios, con nombres de variables poco descriptivos y algunos con-
Jjuros magicos. Si quiere hacer del mundo un lugar mejor, hay unas cuantas
‘casas que puede hacer cuando escriba seripts como este.
Por iiltimo, puede escribir comentarios describiendo el propésito del codigo.
Estos comentarios deben dividirse en dos partes: una gran cabecera de proposito
general (por cjemplo, indicando los parémetros que se le pasan al seript, y los
valores que se tomarian por defecto), y explicaciones explicitas para comprender
la dificultad de los procesos.
No pierda tiempo ¢jecutando los comands biisicos usados, debido a que el
‘que lo mantenga puede mirarlos si no esté familiarizado con clios. No obstante,
slonde emplee una variante exética de un comando, deberia describir explicita
mente su efecto y como puede ejecutarl.
Despuis de todo, el objetivo ¢s que documente los resultados que persigue con
Tos conjuntos de comandos y por qué se obtienen estos resultados de la forma
aque ha ideado.
Ahora, vamos a dar una explicacion al codigo del generador de contrasefias en
Aetalle, al contrario de lo que encontrard en el mundo real. El script comienza
con el comentario de inicio usual que le indica al sistema que ejecuta el interprete
bash. Luego, asignamos el primer pardmetro ala variable n, que sera el nimero
de caracteres a generar. Lo ponemos entre comillas porque puede ser una cadena
nila si el seript se ejecuta sin parametros. Esta cadena se prucha para determinar
sies tina cadena mula, El pardmetro -n significa "longitud distinta de cero’ por lo
{que sila comprobacion es verdactera se ha proporcionado una cadena.
Las dos harras verticales jecutaran la asignacién que continvia sila compro~
bacion falla. Esto obliga a que la longitud por defecto de nuestra contrasefa sea
de 12. Las siguientes lineas comprueban si la longitud dada es muy pequetta;
hemos decidido (basandonos en las recomendaciones clisicas de los expertos er
seguridad) que la Tongitud minima deberia ser 8.32. Bash scripts de ejemplo
La primera sentencia del bucle usa tres comandos del sistema en una tuberfa
para generar tuna contrasefia de prucha. Las tr lineas de la tuberia estn en u
$30) para capturar la salida como una eadena que luego se asignard a la variable p
Para generar una contraseita aleatoria, necesitamos una fuente de datos
aleatorios;¢1 sistema ofrece esto combinando tna variedad de fuentes estadisti-
«as en el pscudadispositivo /aevAurandom. El comando dd Iee datos hinarios del
dispositivo, BI comando tr con la opcién -ed borra todos los caracteres que no
estan en los ranges a-2, A-Z y 0-9. El iltimo comando de tuberfa, cut, extrae el
indmero deseado de caracteres.
‘Nota: No inente gjecutar este comando en sa terminal y ver los wesultados
‘enka pantalla, Se quedard ciego 10 minntos y su pero empezard a maullar.
‘Tedavia Gene a tentacin? Deberd gjcutar un comando normal ela stty
para restaurar la pantalla an estado Gi
Biisqueda del DNS autoritativo
Elscript usa cl comando dig que se describié en el al comienzo para buisquedas
DNS, consultando la cache del servidor DNS cache local. Una funcionalidad de
este Script es que usa su propio nombre para especificar el tipo de registro DNS
{que buisca. Sil script se llama a, busca registros A. Si se lama soa, busca regis-
tros DNS SOA. EI nombre ptr es tn caso especial que coge una direecign IPVA y la
convierte en la forma adecuada in-addr.arpa para hacer la biisqueda actual. De-
Deria hacer una copia de este seript con el nombre apropiado para cada uno de los
tipos de registro comunes en DNS que podria necesitar buscar; a, aaaa, mx, et.
‘Tambien puede usar enlaces duras o enlaces simbolicas para creat los alias
Independientemente del nombre, el script acepta una lista de equipos a buscar
como pardmetro:
4u/pin/oet
copyright i369; 2008 - PRiTp Howe
4H data, Tis Iootup bypaeaes the local DHS cache
‘
+
eyntaca {names
2 | pene
any {panes
Bash scripts de ejemplo 313
" me names oe]
‘ me [name 0}
‘ per [names oo}
* fos (names 1s }
: ee names
# for use vith per query.
funetion tnadar’{
eer. sipeine $2 "4 63 0"
}
qwery_typers( oxoc bazenane *6{0}" 1
fox hostname in "4a"; 30
SPU sSjgueey ype)" 1 hen
4 Front pecauoe the cave eyncax expecta an alphanumeric
Saar tes{hostrane}y" an
{ x10-91*). (0-3 #\- [0-9]. [0-91+7
hozenanest| ecko "5{noetnawe}* | inode >
4 execute the query
Gig verace saoeil senewer *3{query_type]
feqeep "°5{hostaane)*
sglnomzsane)* | \
Enviando archivos entre sesiones shell
Puede usar el script presentado en esta seccion para enviar un archive, 0 un
directorio de archivos (inciuyendo todos los subvlirectorios), desde un sistema a
‘otro usando tna sesién shell en cada sistema. EI script funciona creando un de-
rmonio rsync (rsyne se describi6 en el tiltime capitulo) de fondo para enviar el
archiva espectfico o directorio, Muestra varias formas distintas de cémo puede
uusarse para recibir un archivo o directorio, Este script no necesita estar en el
sistema receptor, por lo que puede usarse para enviarse una copia de si mismo. El
ppaquete rsyne, sin embargo, debe instalarse en ambos sistemas,‘
a Bash scripts de ejemplo
"Nota: Hl sistema remitente debe tener acceso a Ia red por el namero de
puerto que se usa para aceplar las conesiones rsync entrantes. EL namero
fe puerto se escoge de manera aleatoria entre el rango 12288 y 2867
Pucde sobrescrbir la elccon aleatoria de puerto usando la opcin -pseguida
ddeun numero de puerto. Silas reglas desu cortafuegossélo permiten unos
cuantos puerios alos que conectars, debe clgir tno de estos pucrtos en
este svi
Para transferir datos, primero ejecute el script en el sistema remitente. Una
‘vec que se muestren fos comandos de ejemplos, seleccione qué comando es el
apropiado para usarse basdndose en la direceién IP o el nombre del equipo que
puede aleanzar el sistema remitente, yla ubicacion donde cl archivo o directorio
‘se almacenara en el sistema receptor. Copie la linea de comando seleccionada y
_pegue el comand en la Shell del sistema receptor para ejecutar el comando rsyne
que recibe los datos. Et demonio se continuars ejecutando cuando la transferen-
cia esté completa, permitiéndole transferir un archivo o directorios muchas ve-
ces entre computadores diferentes. Pare el demonio cuando las transferencias
estén completas presionando Control-C en la ventana de la shell del sistema reral-
tente
‘Nota: Este script no tiene seguridad, Cualquiera que sepa la direccin y el
numero de puerto en el que se ests escuchando, uiede obtener fos datos
doe se estan transhriendo, No deberia usar este script para transfer datos
Secretos o confidenciate, intente sep o sftp en su lugar. Aseglrese de para
el demonio una vez gue las transferencias deseanlas eaten competadas
EL nombre que se sugiere para este script es rsend
spota/nacn
# copyright 6#i69; 2006 - Philip Howard - All sights reserved
.
* Focriaved ping one of the rayne command lines
* Shown, Ey pasting it sn a eneli aeeaion oh enter:
: host
:
usage rend optional dizectory | tite
options -c include eheckeun in the rayne comand iinee
inclute dryrin io the veyne command Lines
ube the opecifsed pore sumser, ise Tandon
Bash scripts de ejemplo 315
+ Sachude sparse Ja the rayne comand Lines
*Y ahow extra snfornacion
4 author enitip Roward
Noechatas$¢ nse hostname -£ )
weoanins( seen uhoanl
‘las (ehoams |”
re
1 oot desauice
barista (bara) (bara) s(bard}
bara-naasuestenunnnaunnensnatieh”
bbarazthe(para}9(bara]5{baza}
Geleren" --deleter
Gelnsge"/aatere?
padding
Urea | eedivectory )
"ee "aay |] ene a
Cxe-airectory=®316. Bash scripts de ejemplo Bash scripts de ejemplo 37
i ced sgfasaz}" |} exit 2
; perestecno S800)" | te oa ges}
pe, Se Tets{ate)? te s$41}° 10; then
aryzunera® sone 6)
Ferws{ ecto welt)" J era or)
EU vglece}" t2 93)" 11) then
fecno vest}
feono "842}4
*
4 only one sane can be handled,
S80 64 -gt 2.11; then
3 11y shen
zl amens( exe pid )
ane .
¥ Set up a tanporesy contig
i See ae 4 oi Directory traneterred, or where transfer ts starting
Seiport}e «0 || *eipere)* =. 117 thea 4 G2 not used (aor should be removed?
poresp| a t#n/deu/aranasn
[ea cp -tun |tr as)
portetl gpore © 16588 function contiqoat
portEl Spare > 12285 J fseno "lack fize = f{lockttie)"
Scho ‘lag tile = /dev/atders*
feono “eocket options
piyaew/aht \
A Make up nanes tor tonporary files to he used,
fenp/reyme-9{unoami}-#{por® |-§9.coné*
tep/sayuc-$|vtoami) -§(port)-#9.lock™
Spath = 302}
as emer fener een anee sesso cee sthg
a eras cea asfenslcs tenet ale Bea Jhon
aera Mi estsarioe wt oe el state's Mie318
Bash seipis de ejemplo
rs
Te (Ut -e *e(mamej 31) een
‘ocho "doeo nak exiaes* 5, etzquate *S(name)™ ) 262
Li (1 “a "etname}* 11) then.
Defi cxex atenene *G(aana]* )
De8t Gree Dacename "(rane)" }
ore name}
EI9C c@ "e{nane}* Ge exe pwd |
‘stnounce"6(a)"
‘Eeyncopes" 36 (checksun) #(aryrun}is[oparae}v2s{aetece}*|
Sontiqent «9(a]/." sairectotyss{a)/* 28 (congtite]”
euit (Lor 'g{aane)" 21, een
ef exes aiznae *S{nane)" )
Bast exco bascnane “2 {aame}*
P51 4 “6{p)" ke exec pwd >
rate(e]/(et
Sanounco>"s {a /9(
Poyneapea*-as checkaun)6{@ry=ua|9{eparae}vst
contigout "G(a}/.* "iteseia}/s[e)" >¥¢leanefsie)
UE TEL sg{nano}? 11) the
Defi croc dirname *S(nane
BIGt exec basenane *B{name]® 1
Fs8{ 4 "eip)* a exec pid |
Era(r/6l0"
anounces"5;a)/e4e)
‘Faynoopes*-a¢(checkaun}*
Configout *3{a)/. veymiinn:s{a)/s{e}* "s{e}* >¥6(coneeste}"
fs
+
f Show contig File if verbone sa requested
BE IC =n ta[vortose}* 11) thea
eno" sg [ara
Tenia "s{oonttile)*
sche. "9[Bae2]"
bat *sfconrrize)"
Bash scripts de ejemplo 319
echo para aceptar el valor por defecto que aparece en el cuadro de
texto azul.
I siguiente didlogo muestra los valores por defecto de los dominios de su
servidir:
Give a coma-separated List of domaine that thie machine shoud
consider iteel! the final destination for. Tf this se 2 nai) domain
Seher deetination to accept mai for? (blank for none)
serverd.centralzost.org, locelbost -centralsoft.org, Localhose
Ls dominios istados aparecerdin en su archivo de configuracién main .of
La pregunta Final esté relacionada com los sistemas que tienen sistemas de
archivos que no son un estandar:
If eyscnvonous updates are forced, then mail 1s proceseed move siowly.
aysten ceeshes at an inopportune tine, and you are not using a journaled
Eliesyaten (euch ae ext)
Debido a que casi todas las distribuciones usan el sistema de archivos ext3 por
efecto, puede responder