diff options
author | Jesus Rodriguez Cuesta <jesusr@FreeBSD.org> | 2004-10-08 23:03:45 +0000 |
---|---|---|
committer | Jesus Rodriguez Cuesta <jesusr@FreeBSD.org> | 2004-10-08 23:03:45 +0000 |
commit | 808e43c974e9b28833050882bc411b621abc6aca (patch) | |
tree | 1f78ea0e7ee86b88fbb998d81dbd2ceea25b39fa /es_ES.ISO8859-1 | |
parent | d12b1849d8f52e4f4e4da0af92f24fb681149bb3 (diff) |
Notes
Diffstat (limited to 'es_ES.ISO8859-1')
24 files changed, 20143 insertions, 1387 deletions
diff --git a/es_ES.ISO8859-1/books/handbook/Makefile b/es_ES.ISO8859-1/books/handbook/Makefile index 8aa7f2edc3..d5b724c20e 100755 --- a/es_ES.ISO8859-1/books/handbook/Makefile +++ b/es_ES.ISO8859-1/books/handbook/Makefile @@ -1,5 +1,6 @@ # # $FreeBSD$ +# $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/Makefile,v 1.6 2004/10/08 22:36:28 jesusr Exp $ # # Build the FreeBSD Handbook. # @@ -35,6 +36,113 @@ HAS_INDEX= true INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= +IMAGES_EN = advanced-networking/isdn-bus.eps +IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps +IMAGES_EN+= advanced-networking/natd.eps +IMAGES_EN+= advanced-networking/net-routing.pic +IMAGES_EN+= advanced-networking/static-routes.pic +IMAGES_EN+= install/adduser1.scr +IMAGES_EN+= install/adduser2.scr +IMAGES_EN+= install/adduser3.scr +IMAGES_EN+= install/boot-mgr.scr +IMAGES_EN+= install/console-saver1.scr +IMAGES_EN+= install/console-saver2.scr +IMAGES_EN+= install/console-saver3.scr +IMAGES_EN+= install/console-saver4.scr +IMAGES_EN+= install/desktop.scr +IMAGES_EN+= install/disklabel-auto.scr +IMAGES_EN+= install/disklabel-ed1.scr +IMAGES_EN+= install/disklabel-ed2.scr +IMAGES_EN+= install/disklabel-fs.scr +IMAGES_EN+= install/disklabel-root1.scr +IMAGES_EN+= install/disklabel-root2.scr +IMAGES_EN+= install/disklabel-root3.scr +IMAGES_EN+= install/disk-layout.eps +IMAGES_EN+= install/dist-set.scr +IMAGES_EN+= install/dist-set2.scr +IMAGES_EN+= install/docmenu1.scr +IMAGES_EN+= install/ed0-conf.scr +IMAGES_EN+= install/ed0-conf2.scr +IMAGES_EN+= install/edit-inetd-conf.scr +IMAGES_EN+= install/fdisk-drive1.scr +IMAGES_EN+= install/fdisk-drive2.scr +IMAGES_EN+= install/fdisk-edit1.scr +IMAGES_EN+= install/fdisk-edit2.scr +IMAGES_EN+= install/ftp-anon1.scr +IMAGES_EN+= install/ftp-anon2.scr +IMAGES_EN+= install/hdwrconf.scr +IMAGES_EN+= install/keymap.scr +IMAGES_EN+= install/main1.scr +IMAGES_EN+= install/mainexit.scr +IMAGES_EN+= install/main-std.scr +IMAGES_EN+= install/main-options.scr +IMAGES_EN+= install/main-doc.scr +IMAGES_EN+= install/main-keymap.scr +IMAGES_EN+= install/media.scr +IMAGES_EN+= install/mouse1.scr +IMAGES_EN+= install/mouse2.scr +IMAGES_EN+= install/mouse3.scr +IMAGES_EN+= install/mouse4.scr +IMAGES_EN+= install/mouse5.scr +IMAGES_EN+= install/mouse6.scr +IMAGES_EN+= install/mta-main.scr +IMAGES_EN+= install/net-config-menu1.scr +IMAGES_EN+= install/net-config-menu2.scr +IMAGES_EN+= install/nfs-server-edit.scr +IMAGES_EN+= install/ntp-config.scr +IMAGES_EN+= install/options.scr +IMAGES_EN+= install/pkg-cat.scr +IMAGES_EN+= install/pkg-confirm.scr +IMAGES_EN+= install/pkg-install.scr +IMAGES_EN+= install/pkg-sel.scr +IMAGES_EN+= install/probstart.scr +IMAGES_EN+= install/routed.scr +IMAGES_EN+= install/security.scr +IMAGES_EN+= install/sysinstall-exit.scr +IMAGES_EN+= install/timezone1.scr +IMAGES_EN+= install/timezone2.scr +IMAGES_EN+= install/timezone3.scr +IMAGES_EN+= install/userconfig.scr +IMAGES_EN+= install/userconfig2.scr +IMAGES_EN+= install/xf86setup.scr +IMAGES_EN+= mail/mutt1.scr +IMAGES_EN+= mail/mutt2.scr +IMAGES_EN+= mail/mutt3.scr +IMAGES_EN+= mail/pine1.scr +IMAGES_EN+= mail/pine2.scr +IMAGES_EN+= mail/pine3.scr +IMAGES_EN+= mail/pine4.scr +IMAGES_EN+= mail/pine5.scr + +IMAGES_EN+= install/example-dir1.eps +IMAGES_EN+= install/example-dir2.eps +IMAGES_EN+= install/example-dir3.eps +IMAGES_EN+= install/example-dir4.eps +IMAGES_EN+= install/example-dir5.eps +IMAGES_EN+= security/ipsec-network.pic +IMAGES_EN+= security/ipsec-crypt-pkt.pic +IMAGES_EN+= security/ipsec-encap-pkt.pic +IMAGES_EN+= security/ipsec-out-pkt.pic +IMAGES_EN+= vinum/vinum-concat.pic +IMAGES_EN+= vinum/vinum-mirrored-vol.pic +IMAGES_EN+= vinum/vinum-raid10-vol.pic +IMAGES_EN+= vinum/vinum-raid5-org.pic +IMAGES_EN+= vinum/vinum-simple-vol.pic +IMAGES_EN+= vinum/vinum-striped-vol.pic +IMAGES_EN+= vinum/vinum-striped.pic + +# Images from the cross-document image library +IMAGES_LIB= callouts/1.png +IMAGES_LIB+= callouts/2.png +IMAGES_LIB+= callouts/3.png +IMAGES_LIB+= callouts/4.png +IMAGES_LIB+= callouts/5.png +IMAGES_LIB+= callouts/6.png +IMAGES_LIB+= callouts/7.png +IMAGES_LIB+= callouts/8.png +IMAGES_LIB+= callouts/9.png +IMAGES_LIB+= callouts/10.png + # # SRCS lists the individual SGML files that make up the document. Changes # to any of these files will force a rebuild @@ -42,33 +150,35 @@ INSTALL_ONLY_COMPRESSED?= # SGML content SRCS+= book.sgml +SRCS+= colophon.sgml SRCS+= advanced-networking/chapter.sgml SRCS+= basics/chapter.sgml SRCS+= bibliography/chapter.sgml -##SRCS+= config/chapter.sgml SRCS+= boot/chapter.sgml +SRCS+= config/chapter.sgml SRCS+= cutting-edge/chapter.sgml SRCS+= disks/chapter.sgml SRCS+= eresources/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml SRCS+= kernelconfig/chapter.sgml +SRCS+= kerneldebug/chapter.sgml +SRCS+= kernelopts/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mail/chapter.sgml SRCS+= mirrors/chapter.sgml SRCS+= multimedia/chapter.sgml SRCS+= pgpkeys/chapter.sgml +SRCS+= ports/chapter.sgml SRCS+= ppp-and-slip/chapter.sgml +SRCS+= preface/preface.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml SRCS+= users/chapter.sgml -##SRCS+= vinum/chapter.sgml +SRCS+= vinum/chapter.sgml SRCS+= x11/chapter.sgml -SRCS+= ports/chapter.sgml -SRCS+= preface/preface.sgml -SRCS+= colophon.sgml # Entities SRCS+= chapters.ent diff --git a/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml index ee8f901387..8cd71b09fb 100755 --- a/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.3 2004/08/26 10:03:24 carvay Exp $ --> @@ -10,15 +11,9119 @@ <para>Networking Avanzado</para> + <sect1 id="advanced-networking-synopsis"> + <title>Resumen</title> + + <para>Este capítulo cubre algunos de los servicios de red + que se usan con más frecuencia en sistemas + &unix;. Para ser más concretos este capítulo + explica cómo definir, ejecutar, probar + y mantener todos los servicios de red que utiliza + &os;. Se muestran además ejemplos de ficheros de + configuración que podrá utilizar para sus + propios quehaceres.</para> + + <para>Después de leer este capítulo habremos + aprendido:</para> + + <itemizedlist> + <listitem> + <para>Los conceptos básicos de pasarelas y + encaminadores (gateways y routers).</para> + </listitem> + + <listitem> + <para>Cómo poner en funcionamiento dispositivos IEEE + 802.11 y &bluetooth;.</para> + </listitem> + + <listitem> + <para>Cómo configurar &os; para que actúe + como un <quote>bridge</quote>.</para> + </listitem> + + <listitem> + <para>Cómo poner en funcionamiento un sistema de + ficheros en red con NFS.</para> + </listitem> + + <listitem> + <para>Cómo realizar un arranque del sistema por red en + máquinas sin disco duro.</para> + </listitem> + + <listitem> + <para>Cómo ejecutar un servidor de información + en red para compartir cuentas de usuario mediante NIS.</para> + </listitem> + + <listitem> + <para>Cómo especificar parámetros de + configuración automática de red utilizando + DHCP.</para> + </listitem> + + <listitem> + <para>Cómo ejecutar un servidor de nombres de dominio.</para> + </listitem> + + <listitem> + <para>Cómo sincronizar la hora y la fecha y ejecutar + un servidor horario utilizando el protocolo NTP.</para> + </listitem> + + <listitem> + <para>Cómo ejecutar un servicio de traducción de + direcciones de red.</para> + </listitem> + + <listitem> + <para>Cómo gestionar el dæmon + <application>inetd</application>.</para> + </listitem> + + <listitem> + <para>Cómo conectar dos computadoras a través de + PLIP.</para> + </listitem> + + <listitem> + <para>Cómo habilitar IPv6 en una máquina + FreeBSD.</para> + </listitem> + + <listitem> + <para>Cómo configurar ATM sobre &os; 5.X.</para> + </listitem> + </itemizedlist> + + <para>Antes de leer este capítulo debería usted:</para> + + <itemizedlist> + <listitem> + <para>Intentar comprender los conceptos básicos de los + scripts de <filename>/etc/rc</filename>.</para> + </listitem> + + <listitem> + <para>Familiarizarse con la terminología básica + de redes.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="network-routing"> + <sect1info> + <authorgroup> + <author> + <firstname>Coranth</firstname> + <surname>Gryphon</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Pasarelas y Encaminadores</title> + + <indexterm><primary>routing</primary></indexterm> + <indexterm><primary>gateway</primary></indexterm> + <indexterm><primary>subnet</primary></indexterm> + <para>Para que una máquina sea capaz de encontrar otra + máquina remota a través de la red debe existir + mecanismo que describa cómo llegar del origen al destino. + Este mecanismo se demonina <firstterm>routing</firstterm> o + <firstterm>encaminamiento</firstterm>. Una <quote>ruta</quote> + es un par definido de direcciones: una dirección de + <quote>destino</quote> y una dirección + de <quote>pasarela</quote>. Éste par indica que para llegar a + dicho <emphasis>destino</emphasis> debe efectuarse una + comunicación previa con dicha + <emphasis>pasarela</emphasis>. Exiten tres tipos distintos + de destinos: máquinas individuales, subredes y + <quote>por defecto</quote>. La <quote>ruta por defecto</quote> + se utiliza sólamente cuando no se puede aplicar ninguna + de las otras rutas existentes. El tema de las + rutas por defecto se tratará más adelante con + más detalle. También existen tres tipos de + pasarelas distintas: máquinas individuales, interfaces + (también llamados <quote>enlaces</quote>) y direcciones + hardware de ethernet (direcciones MAC).</para> + + <sect2> + <title>Ejemplo</title> + + <para>Para ilustrar diferentes aspectos del sistema de + encaminamiento veamos el siguiente ejemplo obtenido mediante el + comando <command>netstat</command>.</para> + + <screen>&prompt.user; <userinput>netstat -r</userinput> +Routing tables + +Destination Gateway Flags Refs Use Netif Expire + +default outside-gw UGSc 37 418 ppp0 +localhost localhost UH 0 181 lo0 +test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 +10.20.30.255 link#1 UHLW 1 2421 +ejemplo.com link#1 UC 0 0 +host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 +host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => +host2.ejemplo.com link#1 UC 0 0 +224 link#1 UC 0 0</screen> + + <indexterm><primary>default route</primary></indexterm> + <para>Las primeras dos líneas especifican la ruta por + defecto (la cual se comenta en la + <link linkend="network-routing-default">siguiente + sección</link>) y la ruta de <hostid>máquina + local</hostid>.</para> + + <indexterm><primary>loopback device</primary></indexterm> + <para>La interfaz (columna <literal>Netif</literal>) que + especifica esta tabla de rutas + para el destino <literal>localhost</literal> se denomina + <devicename>lo0</devicename>, + y también se conoce como el dispositivo de <quote> + loopback</quote> a de bucle de retorno. Esto viene a decir que + el tráfico no debe entregarse a la red puesto que + dicho tráfico va destinado a la misma máquina + que lo originó.</para> + + <indexterm> + <primary>Ethernet</primary> + <secondary>MAC address</secondary> + </indexterm> + <para>Lo siguiente que podemos observar son las direcciones + que comienzan por + <hostid role="mac">0:e0:</hostid>. Son direcciones hardware de + Ethernet, llamadas también se direcciones MAC. + FreeBSD identifica automáticamente cualquier + máquina (<hostid>test0</hostid> en el ejemplo anterior) + que se encuentre en la red local y + crea una ruta del estilo que estamos comentando, para entregar + el tráfico directamente a través del + correspondiente interfaz Ethernet, en este caso + <devicename>ed0</devicename>. Existe también + un contador (<literal>Expire</literal>) asociado con este tipo + de rutas que se usa para borrarlas cuando dicho contador expira. + Las rutas para las máquinas de nuestra propia red de + de área local se crean dinámicamente + utilizando el protocolo ARP (Address Resolution Protocol o + Protocolo de Resolución de Direcciones), + que se encarga de averiguar la dirección MAC que se + corresponde con la dirección IP de la máquina + destino.</para> + + <indexterm><primary>subnet</primary></indexterm> + <para>FreeBSD tambíen utiliza rutas de subred para + direccionar la subred local (<hostid + role="ipaddr">10.20.30.255</hostid> es la dirección + de broadcast para la subred + <hostid role="ipaddr">10.20.30</hostid>, y + <hostid role="domainname">ejemplo.com</hostid> es el nombre de + dominio asociado con dicha subred.) + La notación <literal>link#1</literal> se refiere a la + primera tarjeta Ethernet de la máquina. + En este tipo de redes no se especifica ningún interfaz + en el campo de <literal>Netif</literal>.</para> + + <para>Las rutas de subredes aparecen cuando se asigna una + dirección IP a una interfaz, utilizando una + máscara de red. También se pueden aprender + dinámicamente utilizando demonios de encaminamiento, + como <application>routed</application>. Por último estas + rutas pueden crearse manualmente de forma explícita; + es lo que se conoce con el nombre de rutas estáticas.</para> + + <para>La línea de <literal>host1</literal> se refiere a + nuestra máquina, que el sistema identifica por la + correspondiente dirección Ethernet de la tarjeta de red. + FreeBSD sabe que debe utilizar la interfaz de loopback + (<devicename>lo0</devicename>) en vez de enviar los paquetes a + a través de red.</para> + + <para>Las dos líneas que comienzan por + <literal>host2</literal> son ejemplos del uso de alias de + &man.ifconfig.8; alias (consultar la sección sobre + Ethernet para averiguar por qué nos podría + interesar hacer esto.) El símbolo + <literal>=></literal> después de la interfaz + <devicename>lo0</devicename> especifica que no sólo + estamos utilizando la interfaz de loopback, si no que + además especifica que se trata de un alias. Estas rutas + sólo aparecen en las máquinas que implementan el + alias, el resto de las máquinas de la subred local + solamente poseerán una línea + <literal>link#1</literal> para dichas rutas.</para> + + <para>La última línea (destino de subred <hostid + role="ipaddr">224</hostid>) trata sobre encaminamiento + multicast, que cubriremos en otra sección.</para> + + <para>Finalmente, se pueden observar varios atributos + relacionados con las rutas en la columna de + <literal>Flags</literal>. A continuación se muestra una + pequeña tabla con el significado de algunos de esos + de los atributos o <quote>flags</quote>.</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <tbody> + <row> + <entry>U</entry> + <entry>Up: La ruta está activa.</entry> + </row> + + <row> + <entry>H</entry> + <entry>Host: El destino de la ruta es una única + máquina.</entry> + </row> + + <row> + <entry>G</entry> + <entry>Gateway: Envía cualquier cosa para éste + destino a través de la pasarela especificada, + la cual decidirá cómo encaminar el paquete + hasta que eventualmente se alcance el destino.</entry> + </row> + + <row> + <entry>S</entry> + <entry>Static: Esta ruta se configuró + manualmente, y no se ha generado de forma + automática por el sistema.</entry> + </row> + + <row> + <entry>C</entry> + <entry>Clone: Genera una nueva ruta para la + máquina a la que nos queremos conectar + basándose en la ruta actual. Este tipo de ruta se + utiliza normalmente en redes locales.</entry> + </row> + + <row> + <entry>W</entry> + <entry>WasCloned: Indica una ruta que se auto-configuró + basándose en una ruta de red de área local con + etiqueta Clone.</entry> + </row> + + <row> + <entry>L</entry> + <entry>Link: Esta ruta posée referencias a hardware de + Ethernet.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2 id="network-routing-default"> + <title>Rutas por Defecto</title> + + <indexterm><primary>default route</primary></indexterm> + <para>Cuando el sistema local necesita realizar una conexión con + una máquina remota se examina la tabla de rutas para determinar + si se conoce algún camino para llegar al destino. + Si la máquina remota pertenece a una subred que sabemos + cómo alcanzar (rutas clonadas) entonces el sistema comprueba si + se puede conectar utilizando dicho camino.</para> + + <para>Si todos los caminos conocidos fallan al sistema le queda una + única opción: la <quote>ruta por defecto</quote>. + Esta ruta está constituída por un tipo especial de + pasarela (normalmente el único encaminador presente en la red + área local) y siempre posée el <quote>flag</quote> + <literal>c</literal> en el campo de <quote>flags</quote>. + En una LAN, la pasarela es la máquina que posée + conectividad con el resto de las redes (sea a través de un + enlace PPP, DSL, cable modem, T1 u otra interfaz de red.)</para> + + <para>Si se configura la ruta por defecto en una máquina que + está actuando como pasarela hacia el mundo exterior + la ruta por defecto será el encaminador que se encuentre en + posesión del proveedor de servicios de internet (ISP).</para> + + <para>Vamos a examinar un ejemplo que utiliza rutas por defecto. + A continuación se muestra una configuración bastante + común:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/net-routing"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> +[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] + </literallayout> + </textobject> + </mediaobject> + + <para>Las máquinas <hostid>Local1</hostid> y + <hostid>Local2</hostid> se encuentran en nuestro sitio u + organización. <hostid>Local1</hostid> se conecta con un ISP + a través de una conexión de modem PPP. + El servidor PPP del ISP se conecta a través de una red de + área local a otra pasarela utilizando una interfaz + externa.</para> + + <para>Las rutas por defecto para cada una de las máquinas son + las siguientes:</para> + + <informaltable frame="none"> + <tgroup cols="3"> + <thead> + <row> + <entry>Host</entry> + <entry>Default Gateway</entry> + <entry>Interface</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Local2</entry> + <entry>Local1</entry> + <entry>Ethernet</entry> + </row> + + <row> + <entry>Local1</entry> + <entry>T1-GW</entry> + <entry>PPP</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Una pregunta bastante frecuente es <quote>¿Por + qué (o cómo) hacer que la máquina + <hostid>T1-GW</hostid> sea el encaminador por defecto para + <hostid>Local1</hostid> en vez de que sea el servidor del ISP + al cual se está conectando?</quote>.</para> + + <para>Recordemos que, como la interfaz PPP está utilizando una + dirección de la red local del ISP en nuestro lado de la + las rutas para cualquier otra máquina en la red local del + proveedor se generarán de forma automática. De este + ya sabemos el modo de alcanzar la máquina + <hostid>T1-GW</hostid>, de tal forma que no se necesita un paso + intermedio para enviar tráfico al servidor del ISP.</para> + + <para>Es frecuente utilizar la dirección <hostid + role="ipaddr">X.X.X.1</hostid> como la dirección de + la pasarela en la red local. Siguiendo con el ejemplo anterior, si + nuestro espacio de direccionamiento local fuera la clase C + <hostid role="ipaddr">10.20.30</hostid> y nuestro ISP estuviera + utilizando <hostid role="ipaddr">10.9.9</hostid> las rutas por + defecto serían:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Host</entry> + <entry>Default Route</entry> + </row> + </thead> + <tbody> + <row> + <entry>Local2 (10.20.30.2)</entry> + <entry>Local1 (10.20.30.1)</entry> + </row> + <row> + <entry>Local1 (10.20.30.1, 10.9.9.30)</entry> + <entry>T1-GW (10.9.9.1)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Se puede especificar fácilmente la entrada de la + ruta por defecto utilizando el fichero + <filename>/etc/rc.conf</filename>. En nuestro ejemplo + en la máquina <hostid>Local2</hostid>, se añadió + la siguiente línea en dicho fichero:</para> + + <programlisting>defaultrouter="10.20.30.1"</programlisting> + + <para>También se puede hacer directamente desde la línea + de comandos mediante &man.route.8;:</para> + + <screen>&prompt.root; <userinput>route add default 10.20.30.1</userinput></screen> + + <para>Para obtener más información sobre la + manipulación de tablas de rutas se ruega consultar + la página de manual &man.route.8;.</para> + </sect2> + + <sect2> + <title>Máquinas con Doble Pertenencia (Dual Homed Hosts)</title> + <indexterm><primary>dual homed hosts</primary></indexterm> + <para>Existe otro tipo de configuración que debemos describir + y que se produce cuando una máquina se sitúa en dos + redes distintas al mismo tiempo. Técnicamente hablando + cualquier máquina que actúa como pasarela (en el + caso anterior utilizando un enlace de PPP) pertenece al tipo + de máquinas con doble pertenencia, pero normalmente el + término sólo se aplica para describir máquinas + que se encuentran directamente conectadas con dos redes de área + local.</para> + + <para>En un caso la máquina posée dos tarjetas de red + Ethernet, cada una de ellas con una dirección de red + independiente. En otro caso la máquina puede tener + sólo una tarjeta de red, pero utilizar <quote> + aliasing</quote> (&man.ifconfig.8;). El primer caso se utiliza cuando + se necesita usar dos redes Ethernet al mismo tiempo mientras que el + segundo caso se utiliza cuando se dispone de un único segmento + de red físico pero se han definido dos redes lógicas + distintas</para> + + <para>En cualquier caso la tabla de rutas se construye de tal forma + que cada subred sepa que la máquina es la pasarela definida + definida (<quote>inbound route</quote>) para la otra subred. + Ésta configuración en la que la máquina + actúa como encaminador entre las dos subredes se usa a menudo + cuando queremos implementar filtrado de paquetes o cortafuegos + seguridad en un sentido o en ambos.</para> + + <para>Si queremos que dicha máquina encamine paquetes entre las + dos interfaces es necesario decirle a FreeBSD que active dicha + funcionalidad. En la siguiente sección se explica cómo + hacerlo.</para> + </sect2> + + <sect2 id="network-dedicated-router"> + <title>Construcción de un Encaminador</title> + + <indexterm><primary>router</primary></indexterm> + + <para>Un encaminador de red, también llamado pasarela o + <quote>router</quote>, es simplemente un sistema que reenvía + paquetes desde un interfaz hacia otro interfaz. Los estándares + Internet y el sentido común aplicado a la ingeniería de + redes impiden que FreeBSD incluya por defecto ésta + característica. Se puede activar cambiando a + <literal>YES</literal> el valor de la siguiente variable en el fichero + &man.rc.conf.5;:</para> + + <programlisting>gateway_enable=YES # Set to YES if this host will be a gateway</programlisting> + + <para>Esta opción modificará la variable de + &man.sysctl.8; <varname>net.inet.ip.forwarding</varname> al valor + <literal>1</literal>. Si en algún momento se necesita + detener el encaminador de forma temporal basta con asignar a dicha + variable el valor <literal>0</literal>. Consulte &man.sysctl.8; para + más detalles.</para> + + <para>Nuestro recién activado encaminador necesita rutas para + saber a dónde debe enviar el tráfico recibido. + Si nuestra red es ña se pueden definir rutas estáticas. + FreeBSD incluye por defecto el dæmon de encaminamiento BSD, + &man.routed.8;, que admite RIP (versión 1 y versión 2) + e IRDP. El paquete <filename role="package">net/zebra</filename> le + permitirá usar otros protocolos de encaminamiento + dinámico como BGP v4, OSPF v2 y muchos otros. + En caso de necesitar características avanzadas de + gestión puede usted recurrir a productos comerciales como + <application>&gated;</application>.</para> + +<indexterm><primary>BGP</primary></indexterm> +<indexterm><primary>RIP</primary></indexterm> +<indexterm><primary>OSPF</primary></indexterm> + + <para>Incluso cuando FreeBSD se configura del modo descrito no se + cumple completamente con los estándares de Internet + respecto a los encaminadores de red. Bastará no obstante + para poder usarse.</para> + </sect2> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Al</firstname> + <surname>Hoang</surname> + <contrib>Escrito por</contrib> + </author> + </authorgroup> + </sect2info> + <!-- Feb 2004 --> + <title>Configuración de Rutas Estáticas</title> + + <sect3> + <title>Configuración Manual</title> + + <para>Vamos a suponer que tenemos la siguiente topología de + red:</para> + + <literallayout class="monospaced"> + INTERNET + | (10.0.0.1/24) Router por defecto para Internet + | + |Interfaz xl0 + |10.0.0.10/24 + +------+ + | | RouterA + | | (pasarela FreeBSD) + +------+ + | Interfaz xl1 + | 192.168.1.1/24 + | + +--------------------------------+ + Red Interna 1 | 192.168.1.2/24 + | + +------+ + | | RouterB + | | + +------+ + | 192.168.2.1/24 + | + Red Interna 2 + </literallayout> + + <para>En este escenario <hostid>RouterA</hostid> es nuestra + máquina &os; que actúa como pasarela para acceder al + resto de internet. Tiene una ruta por defecto que apunta a + <hostid role="ipaddr">10.0.0.1</hostid> que le permite conectarse + con el mundo exterior. Vamos a suponer también que + <hostid>RouterB</hostid> se encuentra configurado de forma adecuada + que sabe cómo llegar a cualquier sitio que necesite. + Esto es sencillo viendo nuestra topología de red, basta + con añadir una ruta por defecto en la máquina + <hostid>RouterB</hostid> utilizando + <hostid role="ipaddr">192.168.1.1</hostid> como encaminador.</para> + + <para>Si observamos la tabla de rutas de + <hostid>RouterA</hostid> veremos algo como lo siguiente:</para> + + <screen>&prompt.user; <userinput>netstat -nr</userinput> +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +default 10.0.0.1 UGS 0 49378 xl0 +127.0.0.1 127.0.0.1 UH 0 6 lo0 +10.0.0/24 link#1 UC 0 0 xl0 +192.168.1/24 link#2 UC 0 0 xl1</screen> + + <para>Con la tabla de rutas actual <hostid>RouterA</hostid> + no es capaz de alcanzar la red interna 2. Esto es así + porque no posee ninguna ruta para la red + <hostid role="ipaddr">192.168.2.0/24</hostid>. Una forma de + mitigar esto es añadir de forma manual la ruta que falta. El + siguiente comando añade la red interna 2 a la tabla de rutas + de la máquina <hostid>RouterA</hostid> + utilizando <hostid + role="ipaddr">192.168.1.2</hostid> como siguiente salto:</para> + + <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen> + + <para>Ahora <hostid>RouterA</hostid> puede alcanzar cualquier + máquina en la red + <hostid role="ipaddr">192.168.2.0/24</hostid>.</para> + </sect3> + + <sect3> + <title>Cómo Hacer la Configuración Persistente</title> + + <para>El ejemplo anterior es perfecto en tanto que resuelve el + problema de encaminamiento entre redes pero existe un problema. + La información de encaminamiento desaparecerá si se + reinicia la máquina. La forma de evitarlo es + añadir las rutas estáticas a + <filename>/etc/rc.conf</filename>:</para> + + <programlisting># Añade la red interna 2 como una ruta estática +static_routes="redinterna2" +route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting> + + <para>La variable de configuración + <literal>static_routes</literal> es una lista de cadenas + separadas por espacios. Cada cadena identifica un nombre para la + ruta que se desea definir. En el ejemplo anterior sólamente + se dispone de una cadena dentro de la variable + <literal>static_routes</literal>. + Esta cadena es <replaceable>redinterna2</replaceable>. A + continuación se añade otra variable de + configuración denominada + <literal>route_<replaceable>redinterna2</replaceable></literal> + donde se escriben todos los parámetros de + configuración que normalmente utilizaríamos + normalmente utilizaríamos con &man.route.8;. + En el ejemplo que estamos comentando se utilizaría el + siguiente comando:</para> + + <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen> + + <para>De tal forma que la variable debería contener + <literal>"-net 192.168.2.0/24 192.168.1.2"</literal>.</para> + + + <para>Como ya se ha comentado anteriormente podemos especificar + más de una cadena en la variable + <literal>static_routes</literal>. Esto nos permite crear varias + rutas estáticas. Las siguientes línas muestran + un ejemplo donde se añaden rutas estáticas para las + redes <hostid role="ipaddr">192.168.0.0/24</hostid> + y <hostid role="ipaddr">192.168.1.0/24</hostid> en un + <quote>router</quote>imaginario:</para> + + <programlisting>static_routes="red1 red2" +route_red1="-net 192.168.0.0/24 192.168.0.1" +route_red2="-net 192.168.1.0/24 192.168.1.1"</programlisting> + </sect3> + </sect2> + + <sect2> + <title>Propagación del Encaminamiento</title> + <indexterm><primary>routing propagation</primary></indexterm> + <para>Ya hemos comentado cómo se definen las rutas para + el mundo exterior pero no hemos comentado nada sobre cómo + haremos que el mundo exterior nos encuentre a nosotros.</para> + + <para>También hemos aprendido que las tablas de rutas se + pueden construír de tal forma que un grupo de tráfico + (perteneciente a un espacio de direcciones determinado) se + reenvíe a una máquina específica de la red, + que se encargará de reenviar los paquetes hacia adentro.</para> + + <para>Cuando se obtiene un espacio de direcciones para la + organización el proveedor de servicios modifica sus tablas de + rutas para que todo el tráfico para nuestra subred se encamine + a través del enlace PPP hasta alcanzarnos. + Pero ¿cómo conocen las organizaciones dispersas + a través del país que deben enviar los paquetes + dirigidos a nosotros hacia nuestro ISP?</para> + + <para>Existe un sistema (muy similar al sistema de nombres de + dominio, DNS) que se encarga de controlar todos los espacios de + direcciones que se encuentran actualmente repartidos y que + además define sus puntos de conexión con el + <quote>backbone</quote> de internet. El <quote>backbone</quote> + está formado por las principales líneas de + de comunicacion que se encargan de transportar el tráfico de + internet a través del país y del mundo entero. + Cada máquina del <quote>backbone</quote> dispone de una copia + de un conjunto maestro de tablas de rutas gracias a las cuales pueden + dirigir el tráfico para una red particular hacia una + determinada red de transporte de dicho <quote>backbone</quote>. + Una vez en la red de transporte adecuada el tráfico se encamina + a través de un número indeterminado de redes de + proveedores de servicio hasta que se alcanza la red de destino + final.</para> + + <para>Una de las tareas que debe realizar el proveedor de servicio + servicio consiste en anunciarse a las organizaciones del + consiste en anunciarse a las organizaciones del + <quote>backbone</quote> como el punto de conexión principal + (y por tanto como el camino de entrada) para alcanzar las redes de + sus clientes. Este proceso se denomina propagación de + rutas.</para> + + </sect2> + + <sect2> + <title>Depuración de Problemas</title> + <indexterm> + <primary><command>traceroute</command></primary> + </indexterm> + <para>En algunas ocasiones surgen problemas con la propagación + de las rutas y algunas organizaciones son incapaces de conectarse con + nuestra subred. Quizá el comando más útil para + averiguar dónde se está interrumpiendo el sistema + de encaminamiento sea &man.traceroute.8;. Se puede usar + también cuando somos nosotros los que no podemos alcanzar + alguna red externa (por ejemplo cuando &man.ping.8; falla).</para> + + <para>&man.traceroute.8; se ejecuta pasandole como parámetro el + nombre de la máquina remota a la que nos queremos + conectar. El comando muestra por pantalla lás máquinas + que actúan de pasarela a lo largo del camino. El proceso + termina bien porque se alcanza el destino o bien porque algún + <quote>router</quote> intermedio no puede conectarse con el siguiente + salto, o lo desconoce.</para> + + <para>Si quiere saber más sobre esto consulte la página + man de &man.traceroute.8;.</para> + </sect2> + + <sect2> + <title>Encaminamiento Multicast</title> + <indexterm> + <primary>multicast</primary> + <secondary>options MROUTING</secondary> + </indexterm> + <para>FreeBSD soporta tanto aplicaciones multicast como encaminamiento + multicast de forma nativa. Las aplicaciones multicast no necesitan + ninguna configuración especial en FreeBSD; estas aplicaciones + se ejecutan tal cual. El encaminamiento multicast necesita para + ser usado que se compile dicho soporte en el núcleo de + FreeBSD:</para> + + <programlisting>options MROUTING</programlisting> + + <para>Se debe configurar además el dæmon de + encaminamiento multicast, &man.mrouted.8;, para establecer + túneles y ejecutar DVMRP utilizando + <filename>/etc/mrouted.conf</filename>. Se pueden encontrar + más detalles sobre cómo realizar una + configuración de multicast en &man.mrouted.8;.</para> + </sect2> + </sect1> + + <sect1 id="network-wireless"> + <sect1info> + <authorgroup> + <author> + <firstname>Eric</firstname> + <surname>Anderson</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Redes sin cables (<quote>wireless</quote>)</title> + + <indexterm><primary>wireless networking</primary></indexterm> + <indexterm> + <primary>802.11</primary> + <see>Redes sin cables</see> + </indexterm> + + <sect2> + <title>Introducción</title> + <para>Puede resultar muy útil el ser capaz de utilizar una + computadora sin la molestia de tener un cable de red colgando + de la máquina en todo momento. FreeBSD puede utilizarse + como un cliente de <quote>wireless</quote> e incluso como un + <quote>punto de acceso</quote>.</para> + </sect2> + + <sect2> + <title>Modos de Operación Wireless</title> + <para>Existen dos formas diferentes de configurar dispositivos wireless + 802.11: BSS e IBSS.</para> + + <sect3> + <title>Modo BSS</title> + <para>El modo BSS es el que se utiliza normalmente. Este modo + también se denomina modo infraestructura. En + esta configuración se conectan un determinado + número de puntos de acceso a una red cableada. Cada red + Cada red <quote>wireless</quote> posée su propio nombre. + Este nombre es el SSID de la red.</para> + + <para>Los clientes <quote>wireless</quote> se conectan a estos puntos + de acceso. El estándar IEEE 802.11 define el protocolo que + se utiliza para realizar esta conexión. Un cliente + <quote>wireless</quote> puede asociarse con una determinada red + <quote>wireless</quote> especificando el SSID. + Un cliente <quote>wireless</quote> también puede asociarse a + cualquier red que se encuentre disponible; basta con no especificar + ningún SSID.</para> + + </sect3> + + <sect3> + <title>Modo IBSS</title> + <para>El modo IBSS, también conocido como modo ad-hoc, se ha + diseñado para facilitar las conexiones punto a punto. + En realidad existen dos tipos distintos de modos ad-hoc. Uno es + el modo IBSS, también conocido como modo ad-hoc o modo + ad-hoc del IEEE. Este modo se encuentra especificado en el + estándar IEEE 802.11. El segundo tipo se denomina modo + ad-hoc de demostración o modo ad-hoc de Lucent (y algunas + veces, también se le llama simplemente modo ad-hoc, lo cual + es bastante confuso). Este es el modo de funcionamiento + antíguo, anterior al estándar 802.11, del modo ad-hoc + debería utilizarse sólo en instalaciones + propietarias. No profundizaremos más sobre estos modos de + funcionamiento.</para> + + </sect3> + </sect2> + + <sect2> + <title>Modo Infraestructura</title> + <sect3> + <title>Puntos de Acceso</title> + + <para>Los puntos de acceso son dispositivos de red + <quote>wireless</quote> que funcionan de forma equivalente a los + <quote>hubs</quote> o concentradores, permitiendo que varios clientes + <quote> wireless</quote> se comuniquen entre sí. + A menudo se utilizan varios puntos de acceso para cubrir un + área determinada como una casa, una oficina u otro tipo de + localización delimitada.</para> + + <para>Los puntos de acceso poseen típicamente varias + conexiones de red: la tarjeta <quote>wireless</quote> y una o + más tarjetas Ethernet que se utilizan para comunicarse con + el resto de la red.</para> + + <para>Los puntos de acceso se pueden comprar como tales + pero también se puede configurar un sistema FreeBSD para + crear nuestro propio punto de acceso <quote>wireless</quote> + utilizando un determinado tipo de tarjetas <quote>wireless</quote> + que poseen tales capacidades de configuración. + Existe una gran cantidad de fabricantes de hardware que distribuyen + puntos de acceso y tarjetas de red <quote>wireless</quote>, aunque + las capacidades de unos y otras varín.</para> + + </sect3> + + <sect3> + <title>Construcción de un Punto de Acceso basado en + FreeBSD</title> + <indexterm><primary>wireless networking</primary> + <secondary>Punto de Acceso</secondary> + </indexterm> + + <sect4><title>Requisitos</title> + + <para>Para crear nuestro propio punto de acceso con FreeBSD + debemos utilizar un determinado tipo de tarjeta + <quote>wireless</quote>. Por el momento, sólo las tarjetas + con el chip Prism nos permiten hacer un punto de acceso. + También vamos a necesitar una tarjeta para red cableada que + sea soportada por el sistema (esto no es muy complicado dada la + ingente cantidad de dispositivos de este tipo que funcionan en + FreeBSD). Para este ejemplo vamos a suponer que queremos puentear + (&man.bridge.4;) todo el tráfico entre la red cableada y la + red inalámbrica.</para> + + <para>El uso como punto de acceso <quote>wireless</quote> + (también denominado <emphasis>hostap</emphasis>) + funciona mejor con determinadas versiones del <quote> + firmware</quote>. Las tarjetas con chip Prism2 deben disponer de + la versión 1.3.4 (o superior) del <quote> + firmware</quote>. Los chips Prism2.5 y Prism3 deben disponer de + la versión 1.4.9 o superior del <quote>firmware</quote>. + Las versiones más antíguas de estos <quote> + firmwares</quote> pueden no funcionar correctamente. A día + de hoy la única forma de actualizar el <quote> + firmware</quote> de las tarjetas es usando las herramientas que + proporciona el fabricante para &windows;.</para> + + </sect4> + + <sect4> + <title>Puesta en Marcha del Sistema</title> + <para>Primero debemos asegurarnos de que el sistema reconoce + la tarjeta <quote>wireless</quote>:</para> + <screen>&prompt.root; <userinput>ifconfig -a</userinput> +wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 + inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 + ether 00:09:2d:2d:c9:50 + media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) + status: no carrier + ssid "" + stationname "nodo Wireless FreeBSD" + channel 10 authmode OPEN powersavemode OFF powersavesleep 100 + wepmode OFF weptxkey 1</screen> + + <para>No se preocupe si no entiende algo de la configuración + anterior, lo importante es asegurarse de que el sistema muestra + algo parecido, lo cual nosindicará que la tarjeta + <quote>wireless</quote> ha sido correctamente reconocida por + FreeBSD. Si el interfaz inalámbrico no es reconocido + correctamente y se está utilizando una tarjeta PC Card + consulte &man.pccardc.8; y &man.pccardd.8;, en las que + tiene mucha información al respecto.</para> + + <para>A continuación, para que podamos disponer de + un <quote>bridge</quote> deberá cargar el módulo + del kernel &man.bridge.4; por el sencillo procedimiento de + ejecutar el siguiente comando:</para> + + <screen>&prompt.root; <userinput>kldload bridge</userinput></screen> + + <para>No debería aparecer mensaje de error alguno al ejecutar + dicho comando. Si apareciera alguno quizás deba compilar + el kernel del sistema con &man.bridge.4; incluído. La + sección <link + linkend="network-bridging">Bridging</link> de éste + manual incluye información abundante para llevar a buen + puerto esa tarea.</para> + + <para>Una vez que tenemos el soporte de <quote>bridging</quote> + cargado debemos indicar a FreeBSD qué interfaces se desean + puentear. Para ello emplearemos &man.sysctl.8;:</para> + + <screen>&prompt.root; <userinput>sysctl net.link.ether.bridge=1</userinput> +&prompt.root; <userinput>sysctl net.link.ether.bridge_cfg="wi0,xl0"</userinput> +&prompt.root; <userinput>sysctl net.inet.ip.forwarding=1</userinput></screen> + + <para>En &os; 5.2-RELEASE y posteriores se deben emplear las + siguientes opciones en lugar de las anteriormente expuestas:</para> + + <screen>&prompt.root; <userinput>sysctl net.link.ether.bridge.enable=1</userinput> +&prompt.root; <userinput>sysctl net.link.ether.bridge.config="wi0,xl0"</userinput> +&prompt.root; <userinput>sysctl net.inet.ip.forwarding=1</userinput></screen> + + <para>Ahora es el momento de configurar la tarjeta de red + inalámbrica. El siguiente comando convierte la tarjeta en + un punto de acceso:</para> + + <screen> +&prompt.root; <userinput>ifconfig wi0 ssid <replaceable>mi_red</replaceable> channel 11 media DS/11Mbps mediaopt hostap up stationname "<replaceable>PA FreeBSD</replaceable>"</userinput> + </screen> + + <para>La línea de &man.ifconfig.8; levanta el interfaz + <devicename>wi0</devicename>, configura el SSID con el valor de + <replaceable>mi_red</replaceable> y también el nombre + de la estación como + <replaceable>FreeBSD</replaceable>. La opción + <option>media DS/11Mbps</option> configura la tarjeta a 11Mbps. + Ésto es necesario para que cualquier valor que se necesite + asignar a <option>mediaopt</option> surta efecto. + La opción <option>mediaopt hostap</option> sitúa el + interfaz en modo punto de acceso. La opción <option> + channel 11</option> configura la tarjeta para que use el canal de + radio número 11. En &man.wicontrol.8; encontraráa + rangos de canales válidos para varios dominios + regulatorios. Por favor, tenga en cuenta que no todos los canales + son legales en todos los países.</para> + + <para>Despues de esto deberíamos disponer de un punto de + acceso completamente funcional y en ejecución. + Le animamos a consultar &man.wicontrol.8;, &man.ifconfig.8; y + &man.wi.4; para máss información.</para> + + <para>También le recomemdamos leer la sección sobre + cifrado que econtrará más adelante.</para> + </sect4> + + <sect4> + <title>Información de Estado</title> + <para>Una vez que el punto de acceso estáconfigurado + resulta interesante poder obtener información acerca de los + clientes que estén asociados. La persona encargada de la + administración del punto de acceso puede ejecutar cuando + estime oportuno lo siguiente: + + <screen>&prompt.root; <userinput>wicontrol -l</userinput> +1 station: +00:09:b7:7b:9d:16 asid=04c0, flags=3<ASSOC,AUTH>, caps=1<ESS>, rates=f<1M,2M,5.5M,11M>, sig=38/15 +</screen> + + <para>Lo que aquí se muestra indica que hay una única + estación asociada y nos suministra sus parámetros. + Los valores de señal que se muestran se deben tomar + sólo como indicaciones aproximadas de la fuerza de dicha + señal. Su traducción a dBm u otras unidades + varía según la versión del <quote> + firmware</quote> de la tarjeta que se use.</para> + </sect4> + </sect3> + + <sect3> + <title>Clientes</title> + + <para>Un cliente <quote>wireless</quote> es un sistema que se comunica + con un punto de acceso o directamente con otro cliente + <quote>wireless</quote>.</para> + + <para>Generalmente los clientes <quote>wireless</quote> sólo + poseen un dispositivo de red: la tarjeta de red + inalámbrica.</para> + + <para>Existen varias formas de configurar un cliente <quote> + wireless</quote> basadas en los distintos modos + inalámbricos, normalmente reducidos a BSS (o modo + infraestructura, que requiere de un punto de acceso) y el + modo IBSS (modo ad-hoc, o modo punto a punto). En nuestro ejemplo + usaremos el más famoso de ambos, el BSS, para comunicarnos + con un punto de acceso.</para> + + <sect4> + <title>Requisitos</title> + <para>Sólamente existe un requisito real para configurar + un sistema FreeBSD como cliente inalámbrico: usar una + tarjeta de red inalámbrica soportada por el sistema.</para> + </sect4> + + <sect4> + <title>Ejecución de un cliente inalámbrico FreeBSD</title> + + <para>Para utilizar una red inalámbrica se necesitan + conocer algunos conceptos básicos de redes + de redes wireless. En nuestro ejemplo queremos conectarnos a la + red inalámbrica <replaceable>mi_red</replaceable> y queremos + hacerlo con el soporte de cifrado desactivado.</para> + + <note><para>En este ejemplo no se utiliza cifrado, + lo cual resulta ser bastante peligroso. En la próxima + sección aprenderemos cómo activar el sistema de + cifrado común el los dispositivos + inalámbricos, por qué resulta importante hacerlo + y por qué algunas tecnologías de cifrado no son + suficientes para protegernos completamente.</para></note> + + <para>Asegúrese de que FreeBSD reconoce su tarjeta de + red inalámbrica:</para> + + <screen>&prompt.root; <userinput>ifconfig -a</userinput> +wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::202:2dff:fe2d:c938%wi0 prefixlen 64 scopeid 0x7 + inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 + ether 00:09:2d:2d:c9:50 + media: IEEE 802.11 Wireless Ethernet autoselect (DS/2Mbps) + status: no carrier + ssid "" + stationname "FreeBSD Wireless node" + channel 10 authmode OPEN powersavemode OFF powersavesleep 100 + wepmode OFF weptxkey 1</screen> + + <para>A continuación debemos especificar los + parámetros correctos para nuestra red:</para> + + <screen>&prompt.root; <userinput>ifconfig wi0 inet <replaceable>192.168.0.20</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>mi_red</replaceable></userinput></screen> + + <para>Sustituya <hostid role="ipaddr">192.168.0.20</hostid> y + <hostid role="netmask">255.255.255.0</hostid> con una + dirección IP y máscara de red que se + adecúen con el espacio de direccionamiento de la red cableada. + Recordemos que nuestro punto de acceso está puenteando la red + inalámbrica y la red de cable, de modo que para el resto de + dispositivos de la red el cliente inalábrico se muestra como + un elemento más de la red cableada.</para> + + <para>Llegados a este punto deberíamos poder hacer ping a las + máquinas de la red cableada como si estuviéramos + compartiendo el mismo enlace físico cableado.</para> + + <para>Si se presentan problemas con la conexión + inalámbrica se puede comprobar si la tarjeta <quote> + wireless</quote> se encuentra correctamente asociada (conectada) + con el punto de acceso:</para> + + <screen>&prompt.root; <userinput>ifconfig wi0</userinput></screen> + + <para>ebería devolver algún tipo de información + entre la que deberíamos observar la siguiente + línea:</para> + <screen>status: associated</screen> + + <para>Si no aparece la palabra <literal>associated</literal> puede ser + que nos encontremos fuera de la cobertura proporcionada por el punto + de acceso o puede ser que necesitemos activar el cifrado, aunque + éstos no son los únicos problemas con los que nos + podemos encontrar.</para> + + </sect4> + </sect3> + + <sect3> + <title>Cifrado</title> + <indexterm> + <primary>wireless networking</primary> + <secondary>encryption</secondary> + </indexterm> + + <para>El cifrado, también llamado codificación, de una + red inalámbrica es un proceso importante porque, a diferencia + de lo que ocurre con las redes cableadas convencionales, las redes + inalámbricas no se pueden restringir a un espacio + físico determinado. Los datos que viajan a través de + ondas de radio se difunden a través de las paredes y alcanzan + a los vecinos más cercanos. Aquí es donde entra en + en juego el sistema de cifrado. El cifrado se emplea para evitar que + cualquiera pueda examinar los datos enviados a través del + aire.</para> + + <para>Los dos métodos más comunes para realizar el cifrado + de datos entre el cliente y el punto de acceso son WEP e + &man.ipsec.4;.</para> + + <sect4> + <title>WEP</title> + <indexterm><primary>WEP</primary></indexterm> + + <para>WEP son las siglas de Wired Equivalency Protocol. WEP es un + un intento de crear redes inalámbricas al menos tan seguras + omo las redes cableadas o al menos de seguridad equivalente a dichas + redes. Por desgracia el sistema WEP es débil y resulta + bastante sencillo de romper. Esto significa que cuando se transmite + información de carácter crítico no se debe + confiar únicamente en este sistema de cifrado.</para> + + <para>No obstante es mejor que no utilizar nada; puede activar WEP en el + sistema que hace de punto de acceso mediante:</para> + + <screen>&prompt.root; <userinput>ifconfig wi0 inet up ssid + <replaceable>mi_red</replaceable> wepmode on wepkey + <replaceable>0x1234567890</replaceable> media DS/11Mbps + mediaopt hostap</userinput></screen> + + <para>y en un cliente inalámbrico mediante el siguiente + comando:</para> + + <screen>&prompt.root; <userinput>ifconfig wi0 inet <replaceable>192.168.0.20</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>mi_red</replaceable> wepmode on wepkey <replaceable>0x1234567890</replaceable></userinput></screen> + + <para>Por favor, tenga un poco de sentido común y reemplace la + clave <replaceable>0x1234567890</replaceable> por otra clave + menos obvia.</para> + + </sect4> + + <sect4> + <title>IPsec</title> + + <para>&man.ipsec.4; es una herramienta más robusta y potente para + cifrar datos que se mueven a través de una red. Es el + mecanismo más conveniente para asegurar los datos de una red + inalámbrica. Tiene más información sobre el + protocolo &man.ipsec.4; y cómo utilizarlo en la sección + <link linkend="ipsec">IPsec</link> de este manual.</para> + </sect4> + </sect3> + + <sect3> + <title>Herramientas</title> + + <para>No hay muchas herramientas disponibles si se quiere depurar y + monitorizar redes inalámbricas pero en el siguiente apartado + mostraremos cómo utilizar algunas de ellas.</para> + <sect4> + <title>El paquete <application>bsd-airtools</application></title> + + <para>El paquete <application>bsd-airtools</application> es un + conjunto muy completo de herramientas <quote>wireless</quote> que se + pueden utilizar para multitud de tareas, entre las cuales podemos citar + citar el desciframiento de claves WEP, detección de puntos de + de acceso, monitorización de la señal de radio, etc.</para> + + <para>El paquete <application>bsd-airtools</application> se puede instalar + como <quote>port</quote> desde <filename role="package"> + net/bsd-airtools</filename>. La información relacionada con los + <quote>ports</quote> puede encontrarse en la sección + <xref linkend="ports"> de este + manual.</para> + + <para>El programa <command>dstumbler</command> es una herramienta que + permite descubrir puntos de acceso y entre otras cosas muestra de forma + gráfica la relación señal / ruido del enlace. + Si se experimentan problemas para acceder a un determinado punto de + acceso <command>dstumbler</command> puede ser muy útil.</para> + + <para>Para probar la seguridad de la red inalámbrica se puede usar + <quote>dweputils</quote>, concretamente los comandos <command> + dwepcrack</command>, <command>dwepdump</command> y <command> + dwepkeygen</command>. Estos comandos permiten determinar hasta + qué punto la seguridad que ofrece WEP es suficiente para nuestras + necesidades.</para> + + </sect4> + + <sect4> + <title>Las utilidades <command>wicontrol</command>, + <command>ancontrol</command> y + <command>raycontrol</command></title> + + <para>Mediante estas herramientas se puede controlar el comportamiento de + la tarjeta de red inalámbrica. En los ejemplos anteriores se + ha utilizado &man.wicontrol.8; debido a que la tarjeta de red del + ejemplo utiliza el interfaz <devicename>wi0</devicename>. Si se + posée una tarjeta <quote>wireless</quote> de Cisco dicha tarjeta + se mostrará en el sistema mediante el interfaz <devicename> + an0</devicename> y por lo tanto el comando equivalente que se debe usar + será &man.ancontrol.8;.</para> + + </sect4> + + <sect4> + <title><command>ifconfig</command></title> + <indexterm><primary>ifconfig</primary></indexterm> + + <para>Con &man.ifconfig.8; se puede utilizar unas cuantas de las opciones + que se pueden usar con &man.wicontrol.8;, pero no obstante no + posée todas las funcionalidades que proporciona + &man.wicontrol.8;. Se recomienda leer &man.ifconfig.8; para conocer los + detalles de los parámetros y opciones que admite.</para> + + </sect4> + + </sect3> + + <sect3> + <title>Tarjetas de Red Inalámbricas Soportadas</title> + <sect4> + <title>Puntos de Acceso</title> + + <para>Las únicas tarjetas que soportan el modo de funcionamiento + funcionamiento BSS (pueden funcionar como puntos de acceso) son los + dispositivos basados en el chip Prism 2, 2.5 ó 3. Consulte + &man.wi.4; para ver una lista completa de ellos.</para> + </sect4> + + <sect4> + <title>Clientes</title> + + <para>FreeBSD soporta casi todas las tarjetas inalámbricas 802.11b + 802.11b que se encuentran actualmente en el mercado. La + mayoría de las tarjetas basadas en los chips Prism, Spectrum24, + Spectrum24, Hermes, Aironet y Raylink tambíen funcionan en modo + IBSS (modos ad-hoc, punto a punto y BSS).</para> + + </sect4> + </sect3> + + </sect2> + </sect1> + + <sect1 id="network-bluetooth"> + <sect1info> + <authorgroup> + <author> + <firstname>Pav</firstname> + <surname>Lucistnik</surname> + <contrib>Escrito por </contrib> + <affiliation> + <address><email>pav@oook.cz</email></address> + </affiliation> + </author> + </authorgroup> + </sect1info> + <title>Bluetooth</title> + + <indexterm><primary>Bluetooth</primary></indexterm> + <sect2> + <title>Introducción</title> + <para>Bluetooth es una tecnología inalámbrica que opera en + banda de 2.4 GHz (donde no se necesita licencia). Se trata de una + tecnología pensada para la creación de redes de + ámbito personal (de cobertura reducida, normalmente de unos 10 + metros). Las redes se suelen construir en modo <quote>ad-hoc</quote> + utilizando dispositivos heterogéneos como teléfonos + móviles, dispositivos manuales (<quote>handhelds</quote>) y + computadoras portátiles. A diferencia de otras + tecnologías inalámbricas como Wi-Fi, Bluetooth ofrece + perfiles de servicio más detallados; por ejemplo un perfil para + actuar como un servidor de ficheros basado en FTP, para la + difusión de ficheros (<quote>file pushing</quote>), para el + transporte de voz, para la emulación de línea serie y + muchos más.</para> + + <para>La pila de Bluetooth en &os; se implementa utilizando el entorno + de Netgraph (véase &man.netgraph.4;). La mayoría de los + dispositivos USB Bluetooth se pueden utilizar mediante el controlador + &man.ng.ubt.4;. Los dispositivos Bluetooth basados en el chip Broadcom + BCM2033 están soportados mediante los controladores + &man.ubtbcmfw.4; y &man.ng.bt3c.4;. Los dispositivos Bluetooth + basados en la interfaz serie o de Rayos Infrarrojos (UART) se + controlan mediante &man.sio.4;, &man.ng.h4.4; y &man.hcseriald.8;. + Este capítulo describe el uso de dispositivos Bluetooth USB. + El soporte para Bluetooth se encuentra en las versiones de &os; 5.0 y + posteriores.</para> + </sect2> + + <sect2> + <title>Instalación del Dispositivo</title> + <para>Por defecto los controladores de los dispositivos Bluetooth se + encuentran disponibles como módulos del kernel. Antes de + enchufar el dispositivo Bluetooth se debe cargar el módulo + correspondiente dentro del núcleo.</para> + + + <screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen> + + <para>Si el dispositivo Bluetooth se encuentra conectado cuando el + sistema arranca se debe cargar el módulo modificando a tal + efecto el fichero <filename>/boot/loader.conf</filename>.</para> + + <programlisting>ng_ubt_load="YES"</programlisting> + + <para>Al conectar el dispositivo Bluetooth aparecerá en la + consola (o en syslog) la siguiente información:</para> + + <screen>ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 +ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 +ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, + wMaxPacketSize=49, nframes=6, buffer size=294</screen> + + <para>Se debe copiar + <filename>/usr/share/examples/netgraph/bluetooth/rc.bluetooth</filename> + a algún lugar más conveniente, por ejemplo + <filename>/etc/rc.bluetooth</filename>. Este script se usa para + ejecutar y detener la pila Bluetooth del sistema. Se suele recomendar + quitar la pila antes de desenchufar el dispositivo pero si no se hace + no debería producirse ningún desastre. Cuando se + arranca la pila aparece un mensaje similar a este:</para> + + <screen>&prompt.root; <userinput>/etc/rc.bluetooth start ubt0</userinput> +BD_ADDR: 00:02:72:00:d4:1a +Features: 0xff 0xff 0xf 00 00 00 00 00 +<3-Slot> <5-Slot> <Encryption> <Slot offset> +<Timing accuracy> <Switch> <Hold mode> <Sniff mode> +<Park mode> <RSSI> <Channel quality> <SCO link> +<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> +<Paging scheme> <Power control> <Transparent SCO data> +Max. ACL packet size: 192 bytes +Number of ACL packets: 8 +Max. SCO packet size: 64 bytes +Number of SCO packets: 8</screen> + + </sect2> + + <indexterm><primary>HCI</primary></indexterm> + <sect2> + <title>Interfaz de la Controladora de la Máquina (HCI)</title> + + <para>La interfaz de la Controladora de la Máquina (Host + Controller Interface) proporciona una interfaz de comandos + para la controladora de banda base y para el gestor de enlace, + y permite acceder al estado del hardware y a los + registros de control. Esta interfaz proporciona una capa de + acceso homogénea para todos los dispositivos Bluetooth + de banda base. La capa HCI de la máquina intercambia + comandos y datos con el firmware del HCI presente en el + dispositivo Bluetooth. El driver de la capa de transporte de + la controladora de la máquina + (es decir, el driver del bus físico) proporciona + ambas capas de HCI la posibilidad de intercambiar + información entre ellas.</para> + + <para>Se crea un nodo Netgraph de tipo <emphasis>HCI</emphasis> + para cada dispositivo Bluetooth. El nodo Netgraph HCI + se conecta normalmente con el nodo que representa el + controlador del dispositivo Bluetooth de la máquina + (sentido de bajada) y con el nodo Netgraph L2CAP en el sentido + de subida. Todas las operaciones HCI se realizan sobre el + nodo Netgraph HCI y no sobre el el nodo que representa al + dispositivo. El nombre por defecto para el nodo HCI es + <quote>devicehci</quote>. Para obtener más detalles, + por favor consulte la página del manual de + &man.ng.hci.4;.</para> + + <para>Una de las tareas más importantes que se deben + realizar es el descubrimiento automático de otros + dispositivos Bluetooth que se encuentren dentro del radio de + cobertura. Esta operación se denomina en inglés + <emphasis>inquiry</emphasis> (consulta). Esta operación + o otras operaciones HCI relacionadas se realizan mediante + la utilidad &man.hccontrol.8;. El siguiente ejemplo muestra + cómo descubrir dispositivos en pocos segundos. + Tenga siempre presente que un dispositivo remoto sólo + contesta a la consulta si se encuentra configurado en modo + descubrimiento (<emphasis>discoverable mode</emphasis>).</para> + + <screen>&prompt.user; <userinput>hccontrol -n ubt0hci inquiry</userinput> +Inquiry result, num_responses=1 +Inquiry result #0 + BD_ADDR: 00:80:37:29:19:a4 + Page Scan Rep. Mode: 0x1 + Page Scan Period Mode: 00 + Page Scan Mode: 00 + Class: 52:02:04 + Clock offset: 0x78ef +Inquiry complete. Status: No error [00]</screen> + + <para><literal>BD_ADDR</literal> es la dirección + identificativa única del dispositivo Bluetooth, + similar a las direcciones MAC de las tarjetas Ethernet. Esta + dirección se necesita para transmitir otro tipo de + información a otros dispositivos. Se puede asignar un nombre + más significativo para los humanos en la variable BD_ADDR. + El fichero <filename>/etc/bluetooth/hosts</filename> contiene + información relativa a los dispositivos Bluetooth conocidos. + El siguiente ejemplo muestra cómo obtener un nombre + significativo para los humanos que fué asignado a un + dispositivo remoto:</para> + + <screen>&prompt.user; <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput> +BD_ADDR: 00:80:37:29:19:a4 +Name: Pav's T39</screen> + + <para>Si se realiza una consulta (inquiry) sobre el dispositivo + Bluetooth remoto, dicho dispositivo identificará nuestro + computador como <quote>nombre.de.su.sistema + (ubt0)</quote>. El nombre asignado al dispositivo local se puede + modificar en cualquier momento.</para> + + <para>El sistema Bluetooth proporciona una conexión punto a punto + (con sólo dos unidades Bluetooth involucradas) o + también una conexión punto multipunto. En el + último caso, la conexión se comparte entre varios + dispositivos Bluetooth. El siguiente ejemplo muestra como obtener una + lista de las conexiones de banda base activas en el dispositivo + local:</para> + + <screen>&prompt.user; <userinput>hccontrol -n ubt0hci read_connection_list</userinput> +Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State +00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN</screen> + + <para>Resulta útil disponer de un <emphasis>manejador de + la conexión</emphasis> cuando se necesita terminar la + conexión de banda base. Es importante recalcar que normalmente + no es necesario realizar esta terminación de forma manual. + La pila Bluetooth puede concluír automáticamente las + conexiones de banda base que se encuentren inactivas.</para> + + <screen>&prompt.root; <userinput>hccontrol -n ubt0hci disconnect 41</userinput> +Connection handle: 41 +Reason: Connection terminated by local host [0x16]</screen> + + <para>Se ruega consultar la salida del comando + <command>hccontrol help</command> para obtener un listado completo de + los comandos HCI que se encuentran disponibles. La mayoría de + éstos comandos no requiren privilegios de superusuario.</para> + + </sect2> + + <indexterm><primary>L2CAP</primary></indexterm> + <sect2> + <title>Protocolo de Adaptación y de Control de Enlace a + nivel Lógico (L2CAP)</title> + + <para>El protocolo L2CAP (Logical Link Control and Adaptation + Protocol) proporciona servicios de datos tanto orientados a + conexión como no orientados a conexión a los protocolos + de las capas superiores, junto con facilidades de + multiplexación y de segmentacion y reensamblaje. L2CAP permite + que los protocolos de capas superiores puedan transmitir y recibir + paquetes de datos L2CAP de hasta 64 kilobytes de longitud.</para> + + <para>L2CAP se basa en el concepto de <emphasis>canales</emphasis>. + Un canal es una conexión lógica que se sitúa + sobre la conexión de banda base. Cada canal se asocia a un + único protocolo. Cada paquete L2CAP que se recibe a un canal + se redirige al protocolo superior correspondiente. Varios canales + pueden operar sobre la misma conexión de banda base, pero un + canal no puede tener asociados más de un protocolo de alto + nivel.</para> + + <para>Para cada dispositivo Bluetooth se cre un único nodo + Netgraph de tipo <emphasis>l2cap</emphasis>. El nodo L2CAP se conecta + normalmente conectado al nodo Netgraph HCI (hacia abajo) y con nodos + Bluetooth tipo <quote>sockets</quote> hacia arriba. El nombre por + defecto para el nodo Netgraph L2CAP es <quote>devicel2cap</quote>. + Para obtener más detalles se ruega consultar la página + del manual &man.ng.l2cap.4;.</para> + + <para>Un comando muy útil es el &man.l2ping.8;, el cual se puede + utilizar para hacer ping a otros dispositivos. Algunas + implementaciones de Bluetooth no devuelven todos los datos que se + envían, de tal forma que el valor <emphasis>0 bytes</emphasis> + que se observa a continuación es normal:</para> + + <screen>&prompt.root; <userinput>l2ping -a 00:80:37:29:19:a4</userinput> +0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0</screen> + + <para>La herramienta &man.l2control.8; se utiliza para realizar + varias operaciones sobre los nodos L2CAP. Este ejemplo muestra + cómo obtener la lista de conexiones lógicas (canales) y + la lista de conexiones de banda base (física) que mantiene el + dispositivo local:</para> + + <screen>&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput> +L2CAP channels: +Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State +00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN +&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_connection_list</userinput> +L2CAP connections: +Remote BD_ADDR Handle Flags Pending State +00:07:e0:00:0b:ca 41 O 0 OPEN</screen> + + <para>Otra herramienta de diagnóstico interesante es + &man.btsockstat.1;. Realiza un trabajo similar al comando + &man.netstat.1;, pero en este caso para las estructuras de datos + relacionadas con el sistema Bluetooth. A continuación se + muestra la información relativa a la misma conexión + lógica del ejemplo anterior.</para> + + <screen>&prompt.user; <userinput>btsockstat</userinput> +Active L2CAP sockets +PCB Recv-Q Send-Q Local address/PSM Foreign address CID State +c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN +Active RFCOMM sessions +L2PCB PCB Flag MTU Out-Q DLCs State +c2afe900 c2b53380 1 127 0 Yes OPEN +Active RFCOMM sockets +PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State +c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN</screen> + + </sect2> + + <indexterm><primary>RFCOMM</primary></indexterm> + <sect2> + <title>Protocolo RFCOMM </title> + + <para>El protocolo RFCOMM proporciona emulación de puertos serie + a través del protocolo L2CAP. Este protocolo se basa en el + estándar de la ETSI denominado TS 07.10. RFCOMM es un + protoclo de transporte sencillo, con soporte para hasta 9 puertos + serie RS-232 (EIATIA-232-E). El protocolo RFCOMM permite hasta 60 + conexiones simultaneas (canales RFCOMM) entre dos dispositivos + Bluetooth.</para> + + <para>Para los propósitos de RFCOMM, un camino de + comunicación involucra siempre a dos aplicaciones que se + ejecutan en dos dispositivos distintos (los extremos de la + comunicación). Entre ellos existe un segmento que los + comunica. RFCOMM pretende cubrir aquellas aplicaciones que utilizan + los puertos serie de las máquinas donde se ejecutan. El + segmento de comunicación es un enlace Bluetooth desde un + dispositivo al otro (conexión directa).</para> + + + <para>RFCOMM trata únicamente con la conexión de + dispositivos directamente, y también con conexiones entre el + dispositivo y el modem para realizar conexiones de red. RFCOMM puede + soportar otras configuraciones, tales como módulos que + se comunican via Bluetooth por un lado y que proporcionan una interfaz + de red cableada por el otro.</para> + + <para>En &os; el protocolo RFCOMM se implementa utilizando la + capa de <quote>sockets</quote> de Bluetooth.</para> + </sect2> + + <indexterm><primary>pairing</primary></indexterm> + <sect2> + <title>Enparejamiento de Dispositivos</title> + + <para>Por defecto, la comunicación Bluetooth no se valida, por lo + que cualquier dispositivo puede en principio hablar con cualquier + otro. Un dispositivo Bluetooth (por ejemplo un teléfono + celular) puede solicitar autenticación para realizar un + determinado servicio (por ejemplo para el servicio de + marcación por modem). La autenticación de Bluetooth + normalmente se realiza utilizando <emphasis>códigos + PIN</emphasis>. Un código PIN es una cadena ASCII de hasta + 16 caracteres de longitud. Los usuarios deben introducir + el mismo código PIN en ambos dispositivos. Una vez que el + usuario ha introducido el PIN adecuado ambos dispositivos generan una + <emphasis>clave de enlace</emphasis>. Una vez generada, la clave se + puede almacenar en el propio dispositivo o en un dispositivo de + almacenamiento externo. La siguiente vez que se comuniquen ambos + dispositivos se reutilizará la misma clave. El procedimiento + descrito hasta este punto se denomina + <emphasis>emparejamiento (pairing)</emphasis>. Es importante recordar + que si la clave de enlace se pierde en alguno de los dispositivos + involucrados se debe volver a ejecutar el procedimiento de + emparejamiento.</para> + + <para>El dæmon &man.hcsecd.8; se encarga de gestionar todas las + peticiones de autenticación Bluetooth. El archivo de + configuración predeterminado se denomina + <filename>/etc/bluetooth/hcsecd.conf</filename>. A + continuación se muestra una sección de ejemplo de un + teléfono celular con el código PIN arbitrariamente + fijado al valor <quote>1234</quote>: + </para> + + <programlisting>device { + bdaddr 00:80:37:29:19:a4; + name "Pav's T39"; + key nokey; + pin "1234"; + }</programlisting> + + <para>No existe ninguna limitación en los códigos PIN a + excepción de su longitud. Algunos dispositivos (por ejemplo + los dispositivos de mano Bluetooth) pueden obligar a escribir un + número predeterminado de caracteres para el código + PIN. La opción <option>-d</option> fuerza al dæmon + &man.hcsecd.8; a permanecer ejecutádose en primer plano, + de tal forma que se puede observar fácilmente lo que ocurre. Si + se configura el dispositivo Bluetooth remoto para aceptar el + procedimiento de emparejamiento y se inicia la conexión con + dicho dispositivo, el dispositivo remoto debería decir que el + procedimiento de emparejamiento se ha aceptado y debería + solicitar el código PIN. Si se introduce el mismo + código PIN que se escribió en su momento en el fichero + <filename>hcsecd.conf</filename> el procedimiento de emparejamiento y + de generación de la clave de enlace debería terminar + satisfactoriamente. Por otra parte el procedimiento de emparejamiento + se puede iniciar en el dispositivo remoto. A continuación + se muestra un ejemplo de la salida del dæmon + <command>hcsecd</command>.</para> + +<programlisting>hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist +hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists +hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4</programlisting> + + </sect2> + + <indexterm><primary>SDP</primary></indexterm> + <sect2> + <title>Protocolo de Descubrimiento de Servicios (SDP)</title> + <para>El Protocolo de Descubrimiento de Servicios (Service + Discovery Protocol o SDP) permite a las aplicaciones + cliente descubrir la existencia de diversos servicios + proporcionados por uno o varios servidores de aplicaciones, + junto con los atributos y propiedades de los servicios que se + ofrecen. Estos atributos de servicio incluyen + el tipo o clase de servicio ofrecido y el mecanismo o la + información necesaria para utilizar dichos servicios.</para> + + <para>SDP se basa en una determinada comunicación entre + un servidor SDP y un cliente SDP. El servidor mantiene una lista de + registros de servicios, los cuales describen las + características de los servicios ofrecidos. Cada registro + contiene información sobre un determinado servicio. Un cliente + puede recuperar la información de un registro de servicio + almacenado en un servidor SDP lanzando una petición SDP. Si el + cliente o la aplicación asociada con el cliente decide utilizar + un determinado servicio, debe establecer una conexión + independiente con el servicio en cuestión. SDP proporciona un + mecanismo para el descubrimiento de servicios y sus atributos + asociados, pero no proporciona ningún mecanismo ni protocolo + para utilizar dichos servicios.</para> + + <para>Normalmente, un cliente SDP realiza una búsqueda de + servicios acotada por determinadas características. No obstante + hay momentos en los que resulta deseable descubrir todos los + servicios ofrecidos por un servidor SDP sin que pueda existir + ningún conocimiento previo sobre los registros que pueda + contener. Este proceso de búsqueda de cualquier servicio + ofrecido se denomina <emphasis>navegación</emphasis> o + <emphasis>browsing</emphasis>.</para> + + <para>El servidor Bluetooth SDP denominado &man.sdpd.8; y el cliente de + línea de comando denominado &man.sdpcontrol.8; se incluyen en + la instalación estándar de &os;. El siguiente ejemplo + muestra cómo realizar una consulta de navegación + una consulta de navegación SDP.</para> + + <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput> +Record Handle: 00000000 +Service Class ID List: + Service Discovery Server (0x1000) +Protocol Descriptor List: + L2CAP (0x0100) + Protocol specific parameter #1: u/int/uuid16 1 + Protocol specific parameter #2: u/int/uuid16 1 + +Record Handle: 0x00000001 +Service Class ID List: + Browse Group Descriptor (0x1001) + +Record Handle: 0x00000002 +Service Class ID List: + LAN Access Using PPP (0x1102) +Protocol Descriptor List: + L2CAP (0x0100) + RFCOMM (0x0003) + Protocol specific parameter #1: u/int8/bool 1 +Bluetooth Profile Descriptor List: + LAN Access Using PPP (0x1102) ver. 1.0 +</screen> + + <para>... y así sucesivamente. Resulta importante resaltar una + vez más que cada servicio posee una lista de atributos (por + ejemplo en el canal RFCOMM). Dependiendo de los servicios que se + quieran utilizar puede resultar necesario anotar algunos de los + atributos. Algunas implementaciones de Bluetooth no soportan + navegación de servicios y pueden devolver una lista + vacía. En este caso se puede intentar buscar algún + servicio determinado. El ejemplo siguiente muestra cómo buscar + el servicio OBEX Object Push (OPUSH):</para> + + <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput></screen> + + <para>En &os; los servicios a clientes Bluetooth se suministran mediante + el servidor &man.sdpd.8;.</para> + <screen>&prompt.root; <userinput>sdpd</userinput></screen> + + <para>La aplicación local servidora que quiere proporcionar + servicio Bluetooth a los clientes remotos puede registrar su servicio + con el dæmon SDP local. Un ejemplo de dicha aplicación + Un ejemplo de dicha aplicación lo constituye el dæmon + &man.rfcomm.pppd.8;. + Una vez ejecutado el dæmon registra un servicio LAN de Bluetooth + en el dæmon SDP local.</para> + + <para>Se puede obtener la lista de servicios registrados con el servidor + SDP local lanzando una consulta de navegación SDP utilizando + el canal de control local.</para> + + <screen>&prompt.root; <userinput>sdpcontrol -l browse</userinput></screen> + + </sect2> + + <sect2> + <title>Acceso Telefónico a Redes (DUN) y Acceso a Redes mediante + perfiles PPP (LAN)</title> + + <para>El perfil de Acceso Telefónico a Redes (Dial-Up Networking + o DUN) se utiliza mayoritariamente con modems y teléfonos + celulares. Los escenarios cubiertos por este perfil se describen a + continuación:</para> + + <itemizedlist> + <listitem><para>Utilización de un teléfono celular o un + modem por una computadora para simular un modem sin cables + que se conecte a un servidor de acceso telefónico a redes o + para otros servicios de acceso telefónico relacionados; + </para></listitem> + + <listitem><para>Utilización de un teléfono celular o un + modem por un computador para recibir llamadas de datos. + </para></listitem> + </itemizedlist> + + <para>El Acceso a Redes con perfiles PPP (LAN) se puede utilizar en las + siguientes situaciones:</para> + + <itemizedlist> + <listitem><para>Acceso LAN para un único dispositivo Bluetooth; + </para></listitem> + + <listitem><para>Acceso LAN para múltiples dispositivos + Bluetooth; + </para></listitem> + + <listitem><para>Conexión de PC a PC (utilizando + emulación de PPP sobre una línea serie). + </para></listitem> + </itemizedlist> + + <para>En &os; ambos perfiles se implementan bajo los comandos + &man.ppp.8; y &man.rfcomm.pppd.8;, un encapsulador que convierte la + conexión RFCOMM de Bluetooth en algo que puede ser utilizado + por PPP. Antes de que se puedan utilizar los perfiles se debe + definir una nueva etiqueta PPP en el fichero de configuración + <filename>/etc/ppp/ppp.conf</filename>. Consulte &man.rfcomm.pppd.8; + para ver algunos ejemplos.</para> + + + <para>En el siguiente ejemplo se va a utilizar &man.rfcomm.pppd.8; para + abrir una conexión RFCOMM con un dispositivo remoto con + BD_ADDR 00:80:37:29:19:a4 sobre un canal RFCOMM basado en DUN (Dial-Up + Networking). El número de canal RFCOMM se obtiene a partir del + dispositivo remoto a través de SDP. Es posible especificar el + canal RFCOMM a mano, en cuyo caso &man.rfcomm.pppd.8; no + realizará ninguna consulta SDP. Se puede utilizar el comando + &man.sdpcontrol.8; para descubrir el canal RFCOMM utilizado en el + dispositivo remoto.</para> + + <screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen> + + <para>Para proporcionar el servicio de Acceso a Redes a través de + PPP (LAN) se debe ejecutar el servidor &man.sdpd.8;. Se debe crear + una nueva entrada en <filename>/etc/ppp/ppp.conf</filename>. Le + rogamos que consulte &man.rfcomm.pppd.8; y observe los ejemplos que + se facilitan. Por último se debe ejecutar el servidor PPP + RFCOMM sobre un número de canal RFCOMM adecuado. El servidor + PPP RFCOMM registrará automáticamente el servicio LAN + de Bluetooth con el servidor SDP local. El ejemplo que se muestra a + continuación describe cómo ejecutar el servidor PPP + RFCOMM.</para> + + <screen>&prompt.root; <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput></screen> + + </sect2> + + <indexterm><primary>OBEX</primary></indexterm> + <sect2> + <title>Perfil OBEX Object Push (OPUSH)</title> + <para>OBEX es un protocolo muy utilizado para transferencias de ficheros + sencillas entre dispositivos móviles. Su uso más + importante se produce en comuncaciones por infrarrojos, donde se + utiliza para transferencia de ficheros genéricos entre + portátiles o dispositivos Palm y para enviar tarjetas de visita + o entradas de la agenda entre teléfonos celulares y otros + dispositivos con aplicaciones PIM.</para> + + <para>El cliente y el servidor de OBEX se implementan como un paquete + denominado <application>obexapp</application> disponible como <quote> + port</quote> en + <filename role="package">comms/obexapp</filename>.</para> + + <para>El cliente OBEX se utiliza para introducir y para recuperar + recuperar objetos del servidor OBEX. Un objeto puede por ejemplo ser + una tarjeta de visita o una cita. El cliente OBEX puede obtener un + número de canal RFCOMM del dispositivo remoto utilizando SDP. + Esto se hace especificando el nombre del servicio en lugar del + número de canal RFCOMM. Los nombres de servicios soportados + son: IrMC, FTRN y OPUSH. Es posible especificar el canal RFCOMM como + un número. A continuación se muestra un ejemplo de una + sesión OBEX donde el objeto que posee la información del + dispositivo se recupera del teléfono celular y un nuevo objeto + (la tarjeta de visita) se introduce en el directorio de dicho + teléfono.</para> + + <screen>&prompt.user; <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput> +obex> get +get: remote file> telecom/devinfo.txt +get: local file> devinfo-t39.txt +Success, response: OK, Success (0x20) +obex> put +put: local file> new.vcf +put: remote file> new.vcf +Success, response: OK, Success (0x20) +obex> di +Success, response: OK, Success (0x20)</screen> + + <para>Para proporcionar servicio de OBEX el servidor &man.sdpd.8; debe + estar en funcionamiento. Además se debe crear un directorio + raíz donde todos los objetos van a ser almacenados. La ruta + por defecto para el directorio raíz es <filename> + /var/spool/obex</filename>. Por último se debe ejecutar el + servidor OBEX en un número de canal RFCOMM válido. El + servidor OBEX registra automáticamente el servicio de Object + Push con el dæmon SDP local. El ejemplo que se muestra a + local. El ejemplo que se muestra a continuación + continuación describe cómo ejecutar el servidor + OBEX.</para> + + <screen>&prompt.root; <userinput>obexapp -s -C 10</userinput></screen> + </sect2> + + <sect2> + <title>Perfil de Puerto Serie (SP) </title> + <para>El perfil de puerto serie (Serial Port o SP) permite que + dispositivos Bluetooth realicen emulación de RS232 (o + similar). El escenario cubierto por este perfil trata con + con aplicaciones comerciales que utilizan Bluetooth como un sustituto + sustituto del cable, utilizando una capa de abstracción que + representa un puerto serie virtual.</para> + + <para>La aplicación &man.rfcomm.sppd.1; implementa el perfil + Puerto Serie. Usa una pseudo tty como abstracción de puerto + serie virtual. El ejemplo de más abajo muestra cómo + conectarse a un servicio de dispositivo remoto de Puerto Serie. + Observe que no necesita especificarse el canal RFCOMM: + &man.rfcomm.sppd.1; puede obtenerlo del dispotivo remoto via + SDP. Si necesita especificarlo por alguna razón + hágalo en la propia línea de comandos.</para> + + <screen>&prompt.root; <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6</userinput> +rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen> + + <para>Una vez conectado el pseudo tty se puede utilizar como un puerto + serie.</para> + + <screen>&prompt.root; <userinput>cu -l ttyp6</userinput></screen> + + </sect2> + + <sect2> + <title>Depuración de Problemas</title> + + <sect3> + <title>Un dispositivo remoto no puede conectarse</title> + <para>Algunos dispositivos Bluetooh antiguos no soportan el cambio de + cambio de roles. Por defecto, + roles. Cuando &os; acepta una nueva conexión por defecto + intenta realizar un cambio de rol y convertirse en maestro. + Dispositivos que no son capaces de realizar este cambio no pueden + conectarse. Es interesante resaltar que el cambio de roles se + realiza cuando se está estableciendo una nueva + conexión de tal forma que no es posible preguntar al + dispositivo si soporta intercambio de roles. Existe una + opción HCI para desactivar el intercambio de roles en la + parte local.</para> + + <screen>&prompt.root; <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput></screen> + + </sect3> + + <sect3> + <title>Algo va mal ¿puedo ver exactamente qué + está ocurriendo?</title> + <para>Sí, se puede. Utilice el paquete + <application>hcidump-1.5</application>, que se puede descargar de + <ulink + url="http://www.geocities.com/m_evmenkin/">aquí</ulink>. + La herramienta <application>hcidump</application> es similar a la + herramienta &man.tcpdump.1;. Se puede utilizar para mostrar el + contenido de los paquetes Bluetooth sobre el terminal y para volcar + los paquetes Bluetooth a un fichero.</para> + + </sect3> + + </sect2> + + </sect1> + + <sect1 id="network-bridging"> + <sect1info> + <authorgroup> + <author> + <firstname>Steve</firstname> + <surname>Peterson</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Puenteado</title> + + <sect2> + <title>Introducción</title> + <indexterm><primary>IP subnet</primary></indexterm> + <indexterm><primary>bridge</primary></indexterm> + <para>Algunas veces resulta útil dividir una red física + (como por ejemplo un segmento Ethernet) en dos segmentos de red + separados, sin tener que crear subredes IP y sin utilizar una pasarela + para comunicar ambos segmentos. El dispositivo que realiza esta + función se denomina <quote>bridge</quote>. Un sistema FreeBSD + con dos interfaces de red puede actuar como un <quote>bridge</quote> + o puente entre ambas.</para> + + <para>El <quote>bridge</quote> funciona de tal forma que aprende las + direcciones de la capa MAC (direcciones Ethernet) de los nodos que se + encuentran conectados a cada interfaz de red de tal forma que + sólo se reenvía tráfico entre los segmentos de + red cuando las direcciones fuente y destino se encuentran separadas en + segmentos distintos.</para> + + <para>En varios aspectos se puede comparar un <quote>bridge</quote> con + un <quote>switch</quote> de pocos puertos.</para> + </sect2> + + <sect2> + <title>Situaciones donde el Puenteado resulta adecuado</title> + + <para>Existen al menos dos situaciones típicas donde se puede + utilizar la funcionalidad proporcionada por los <quote> + bridges</quote>.</para> + + + <sect3> + <title>Tráfico de gran volumen en un segmentos de red</title> + + <para>La primera situación surge cuando nos encontramos con un + segmento de red congestionado pero por las razones que sean no + queremos subdividir la red e interconectar las nuevas subredes + mediante un encaminador.</para> + + <para>Vamos a considerar un ejemplo de un periódico donde los + departamentos editoriales y de producción utilizan la misma + subred. Los usuarios de la editorial utilizan el servidor + <hostid>A</hostid> como servidor de ficheros y los de + producción utilizan el servidor <hostid>B</hostid>. Se + Se utiliza una red Ethernet para conectar ambos departamentos y se + ha detectado que la alta utilización del enlace está + ralentizando el funcionamiento de la red.</para> + + + <para>Si los usuarios de la editorial pudieran agregarse en un + segmento de red mientras que los usuarios de producción se + localizaran en otro se podrían conectar ambos segmentos + mediante un <quote>bridge</quote>. Sólo se utilizará + el <quote>bridge</quote> para encaminar tráfico de red + destinado a interfaces que se encuentren en el <emphasis> + otro</emphasis> lado del <quote>bridge</quote>, reduciendo de esta + forma la congestión en cada nuevo segmento.</para> + + </sect3> + + <sect3> + <title>Cortafuegos de Filtrado/Conformación de Tráfico + </title> + <indexterm><primary>firewall</primary></indexterm> + <indexterm><primary>network address + translation</primary></indexterm> + + <para>La segunda situación típica se produce cuando se + necesita un cortafuegos pero no la Traducción de Direcciones + de Red (NAT).</para> + + <para>A continuación se muestra un ejemplo. Una + pequeña compañía se comunica con su ISP + utilizando DSL o ISDN. Dicha compañía posee 13 + 13 direcciones IP globalmente accesibles delegadas por su ISP y tiene + 10 ordenadores en funcionamiento. En esta situación un + un cortafuegos basado en un <quote>router</quote> resulta + difícil debido a la distribución del espacio de + direccionamiento disponible (subnetting).</para> + + <indexterm><primary>router</primary></indexterm> + <indexterm><primary>DSL</primary></indexterm> + <indexterm><primary>ISDN</primary></indexterm> + <para>Un cortafuegos implementado sobre un <quote>bridge</quote> se + puede utilizar en el camino de bajado desde el ISP hasta las + oficinas de la compañía sin necesidad de tener en + cuenta ningún aspecto relacionado con la + distribución de las direcciones IP.</para> + + </sect3> + </sect2> + + <sect2> + <title>Configuración de un <quote>Bridge</quote></title> + + <sect3> + <title>Selección de la interfaz de red</title> + + <para>Un <quote>bridge</quote> necesita al menos dos tarjetas de red + situadas en dos segmentos de red para su funcionamiento. Por + desgracia no todas las interfaces de red pueden usarse para el + puenteo. Consulte &man.bridge.4;, ahín encontrará + más información sobre qué tarjetas puede + usar.</para> + + <para>Por favor, instale y pruebe las dos tarjetas de red antes de + continuar.</para> + + </sect3> + + <sect3> + <title>Cambios en la Configuración del Núcleo</title> + <indexterm> + <primary>kernel options</primary> + <secondary>options BRIDGE</secondary> + </indexterm> + + <para>Para activar el soporte de <quote>bridging</quote> en el + núcleo añada</para> + + <programlisting>options BRIDGE</programlisting> + + <para>al fichero de configuración del núcleo y + recompile el kernel.</para> + </sect3> + + <sect3> + <title>Soporte de Cortafuegos</title> + <indexterm><primary>firewall</primary></indexterm> + <para>Si se desea utilizar el <quote>bridge</quote> como un + cortafuegos, se debe añadir además la opción + <literal>IPFIREWALL</literal>. Lea <xref + linkend="firewalls"> para obtener información general sobre + cómo configurar el bridge para que actúe + además como cortafuegos.</para> + + <para>Si además queremos que los paquetes que no sean IP (por + ejemplo paquetes ARP) puedan atravesar el <quote>bridge</quote> + deberemos añadir la opción + <literal>IPFIREWALL_DEFAULT_TO_ACCEPT</literal>. Tenga en cuenta + opción modifica el comportamiento del cortafuegos de tal + forma que por defecto aceptará cualquier paquete. Hay que + tener cuidado para asegurarse de que el comportamiento esperado del + cortafuegos, que reside en el conjunto de reglas que se hayan + definido, no se vea afectado por este cambio.</para> + + </sect3> + + <sect3> + <title>Soporte de Conformado de Tráfico</title> + + <para>Si se quiere utilizar el <quote>bridge</quote> como un + conformador de tráfico, es decir, como un elemento capaz de + adaptar los distintos flujos según determinados patrones, se + debe añadir la opción + <literal>DUMMYNET</literal> a la configuración del + núcleo. Se ruega consultar &man.dummynet.4; para obtener + más información al respecto.</para> + + </sect3> + </sect2> + + <sect2> + <title>Cómo Activar el <quote>Bridge</quote></title> + + <para>Añadir la línea:</para> + + <programlisting>net.link.ether.bridge=1</programlisting> + + <para>en <filename>/etc/sysctl.conf</filename> para habilitar el + soporte de <quote>bridging</quote> en tiempo de ejecución y la + línea:</para> + + <programlisting>net.link.ether.bridge_cfg=<replaceable>if1</replaceable>,<replaceable>if2</replaceable></programlisting> + + <para>Para activar el <quote>bridging</quote> en las interfaces + especificadas (sustituya + <replaceable>if1</replaceable> y + <replaceable>if2</replaceable> con los nombres de sus interfaces de + red). Si deseamos filtrar los paquetes puenteados utilizando + &man.ipfw.8;, debemos añadir también:</para> + + <programlisting>net.link.ether.bridge_ipfw=1</programlisting> + + <para>En &os; 5.2-RELEASE y posteriores, se debe utilizar las + siguientes líneas en lugar de las anteriores:</para> + + <programlisting>net.link.ether.bridge.enable=1 +net.link.ether.bridge.config=<replaceable>if1</replaceable>,<replaceable>if2</replaceable> +net.link.ether.bridge.ipfw=1</programlisting> + + </sect2> + + <sect2> + <title>Información Adicional</title> + + <para>Si queremos ser capaces de conectarnos al <quote>bridge</quote> + mediante &man.telnet.1; se puede asignar una dirección IP a + una de las tarjetas de red del <quote>bridge</quote>. Por amplio + consenso se considera una mala idea asignar más de una + dirección IP al <quote>bridge</quote>.</para> + + <para>Si poseemos varios <quote>bridges</quote> en nuestra red + sólamente puede existir un único camino entre + cualesquiera dos máquinas de nuestra red. + Técnicamente hablando esto significa que no existe soporte para + gestión de enlace mediante mecanismos basados en + árboles de recubrimiento mínimos (<quote>spanning + tree</quote>).</para> + + <para>Un <quote>bridge</quote> puede añadir latencia a los tiempos + de respuesta del comando &man.ping.8;, especialmente cuando + el tráfico tiene que viajar de un segmento de red al + otro.</para> + + </sect2> + </sect1> + + <sect1 id="network-nfs"> + <sect1info> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + <contrib>Reorganizado y ampliado por </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Bill</firstname> + <surname>Swingle</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>NFS</title> + + <indexterm><primary>NFS</primary></indexterm> + <para>FreeBSD soporta diversos sistemas de ficheros, uno de los + cuales es el Sistema de Ficheros en Red, tambíen conocido + por su acrónimo en inglés <acronym>NFS</acronym>. + <acronym>NFS</acronym> permite compartir directorios y ficheros a + través de la red. Los usuarios del sistema <acronym> + NFS</acronym> pueden acceder a ficheros que se encuentran + físicamente en máquinas remotas de una forma + transparente, como si se tratara de ficheros locales.</para> + + <para>He aquí algunos los beneficios más destacados que + <acronym>NFS</acronym> proporciona:</para> + + <itemizedlist> + <listitem> + <para>Las estaciones de trabajo locales utilizan menos espacio de + disco debido a que los datos se encuentran centralizados en un + único lugar pero pueden ser accedidos y modificados por + varios usuarios, de tal forma que no es necesario replicar la + información.</para> + </listitem> + + <listitem> + <para>Los usuarios no necesitan disponer de un directorio <quote> + home</quote> en cada una de las máquinas de la + organización. Los directorios <quote>home</quote> pueden + crearse en el servidor de <acronym>NFS</acronym> para posteriormente + poder acceder a ellos desde cualquier máquina a través + de la infraestrutura de red.</para> + </listitem> + + <listitem> + <para>También se pueden compartir a través de la red + dispositivos de almacenamiento como disqueteras, CDROM y unidades + ZIP. Esto puede reducir la inversión en dichos dispositivos + y mejorar el aprovechamiento del hardware existente en la + organización.</para> + </listitem> + </itemizedlist> + + <sect2> + <title>Cómo Funciona <acronym>NFS</acronym></title> + + <para>El sistema <acronym>NFS</acronym> está dividido al menos en + dos partes principales: un servidor y uno o más clientes. + Los clientes acceden de forma remota a los datos que se encuentran + almacenados en el servidor. Para que el sistema funcione + correctamente se deben configurar y ejecutar unos cuantos + procesos.</para> + + <note><para>En &os; 5.X se ha reemplazado <application> + portmap</application> por <application>rpcbind</application>. + de esta forma para los ejemplos que vamos a comentar a + continuación se recuerda que en &os; 5.X se debe reemplazar + cualquier instancia de <application>portmap</application> por + <application>rpcbind</application>.</para></note> + + <para>El servidor de <acronym>NFS</acronym> debe ejecutar los siguientes + dæmones:</para> + <indexterm> + <primary>NFS</primary> + <secondary>server</secondary> + </indexterm> + <indexterm> + <primary><application>portmap</application></primary> + </indexterm> + <indexterm> + <primary><application>mountd</application></primary> + </indexterm> + <indexterm> + <primary><application>nfsd</application></primary> + </indexterm> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Dæmon</entry> + <entry>Descripción</entry> + </row> + </thead> + <tbody> + <row> + <entry><application>nfsd</application></entry> + <entry>El dæmon<acronym>NFS</acronym>, que atiende + peticiones de clientes <acronym>NFS</acronym>.</entry> + + </row> + <row> + <entry><application>mountd</application></entry> + <entry>El dæmon de montaje de <acronym>NFS</acronym>, + que transporta las peticiones que &man.nfsd.8; realiza.</entry> + </row> + <row> + <entry><application>portmap</application></entry> + <entry> El dæmon portmapper permite que los clientes + <acronym>NFS</acronym> puedan descubrir qué puerto + está utilizando el servidor de + <acronym>NFS</acronym>.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>El cliente también puede ejecutar un dæmon conocido , + como <application>nfsiod</application>. El dæmon + <application>nfsiod</application> atiende las peticiones provinientes + del servidor <acronym>NFS</acronym>. Este dæmon es opcional y + sirve para mejorar el rendimiento pero no es necesario para el + funcionamiento correcto del sistema. Se recomienda consultar + &man.nfsiod.8; para obtener más información.</para> + + </sect2> + + <sect2 id="network-configuring-nfs"> + <title>Configuración de <acronym>NFS</acronym></title> + <indexterm> + <primary>NFS</primary> + <secondary>configuration</secondary> + </indexterm> + + <para>La configuración de <acronym>NFS</acronym> es un proceso + relativamente sencillo. Para que los procesos anteriormente descritos + se ejecuten en tiempo de arranque del sistema, basta con realizar + paqueñas modificaciones en <filename>/etc/rc.conf</filename>. + </para> + + <para>En <filename>/etc/rc.conf</filename> del servidor de + <acronym>NFS</acronym> se deben configurar las siguientes opciones:</para> + + <programlisting>portmap_enable="YES" +nfs_server_enable="YES" +mountd_flags="-r"</programlisting> + + <para><application>mountd</application> se ejecuta + automáticamente cuando se activa el servidor + <acronym>NFS</acronym>.</para> + + <para>En el cliente debemos asegurarnos de que se encuentra activada la + activada la siguiente opción dentro de <filename> + /etc/rc.conf</filename>:</para> + + <programlisting>nfs_client_enable="YES"</programlisting> + + <para>El archivo <filename>/etc/exports</filename> especifica los + directorios o sistemas de ficheros que <acronym>NFS</acronym> exporta + al exterior. Cada línea dentro de <filename> + /etc/exports/</filename> especifia un sistema de ficheros y qué + máquinas tienen derechos de acceso sobre dicho sistema. + Además de los derechos de acceso se pueden definir otras + opciones de acceso, tales como solo lectura o lectura y escritura. + Existen multitud de opciones que pueden definirse sobre un directorio + exportable pero en este manual sólo se van a comentar unas + pocas. Consulte &man.exports.5; para obtener una descripción + más detallada.</para> + + <para>Aquí se muestran algunos ejemplos de entradas para + <filename>/etc/exports</filename>:</para> + + <indexterm> + <primary>NFS</primary> + <secondary>export examples</secondary> + </indexterm> + + <para>El siguiente ejemplo proporciona una idea de cómo exportar + sistemas de ficheros, aunque los parámetros pueden diferir + dependiendo de su entorno y su configuración de red. En dicho + ejemplo, se exporta el directorio <filename>/cdromm</filename> a tres + máquinas que se encuentran en el mismo dominio que el servidor + (de ahí que no se especifique ningún nombre de dominio + para cada máquina) o que pueden estar dadas de alta en + <filename>/etc/hosts</filename>. En cualquier caso la opción + <option>-ro</option> configura el sistema de ficheros de red como + <quote>sólo lectura</quote> (<quote>read-only</quote>). + Con esta opción los sistemas remotos no serán capaces + de realizar cambios sobre el sistema de ficheros exportados.</para> + + <programlisting>/cdrom -ro host1 host2 host3</programlisting> + + <para>La siguiente línea exporta el directorio + <filename>/home</filename> a tres máquinas utilizando + direcciones IP. Esto resulta útil cuando disponemos de una red + privada pero no disponemos de ningún servidor de + <acronym>DNS</acronym> configurado. También se podría + configurar <filename>/etc/hosts</filename> para que resolviera + nombres de máquinas internos; consulte &man.hosts.5; para + obtener más información al respecto. La opción + <option>-alldirs</option> permite que los subdirectorios del + directorio <filename>/home</filename> tambíen se puedan utilizar + como puntos de montaje. En otras palabras, esto permite que los + clientes puedan trabajar sobre los subdirectorios en los que + estén realmente interesados.</para> + + <programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting> + + <para>La siguiente línea exporta el directorio + <filename>/a</filename> de tal forma que puedan acceder a dicho + directorio dos máquinas situadas en distintos dominios. La + opción <option>-maproot=root</option> permite que el usuario + <username>root</username> de la máquina cliente modifique los + datos del sistema de ficheros en red como si fuera el usuario + <username>root</username> del servidor. Si no se especifica la + opción <option>-maproot=root</option> el usuario + <username>root</username> del cliente puede no poseer los permisos + necesarios para realizar modificaciones en el sistema de + ficheros.</para> + + <programlisting>/a -maproot=root host.example.com box.example.org</programlisting> + + <para>Para que un cliente pueda acceder al sistema de ficheros exportado + debe poseer permisos para ello. Debemos asegurarnos de que el cliente + se encuentra listado en <filename>/etc/exports</filename>.</para> + + <para>Dentro de <filename>/etc/exports</filename> cada línea + representa información de exportación de un sistema de + ficheros para un determinado conjunto de máquinas. Una + máquina sólo puede aparecer una vez dentro de un + sistema de ficheros exportable y el archivo sólo puede tener + una única entrada por defecto. Por ejemplo, si suponemos que + <filename>/usr</filename> es un único sistema de ficheros la + siguiente configuración de <filename>/etc/exports</filename> + sería incorrecta:</para> + + <programlisting>/usr/src client +/usr/ports client</programlisting> + + <para>Existe un sistema de ficheros, concretamente + <filename>/usr</filename>, que posee dos líneas con reglas de + exportación para la misma máquina, + <hostid>client</hostid>. El formato correcto para esta + situación sería el siguiente:</para> + + <programlisting>/usr/src /usr/ports client</programlisting> + + <para>Las propiedades de un sistemas de ficheros que se exporta al + exterior deben aparecer agrupadas bajo la misma línea. + Líneas que no poseen ningún cliente se tratan como si + tuvieran una única máquina. Esto limita la forma en que + pueden configurarse la exportaciones de sistemas de ficheros pero para + la mayoría de la gente no suele ser un problema.</para> + + <para>El ejemplo que se muestra a continuación es una muestra de + una lista de exportación correcta, donde <filename> + /usr</filename> y <filename>/exports</filename> son sistemas de + ficheros locales:</para> + + <programlisting># Exportar src y ports a cliente01 y cliente02, pero +# solo el cliente01 tiene acceso root +/usr/src /usr/ports -maproot=root cliente01 +/usr/src /usr/ports cliente02 +# Las maquinas cliente tienen acceso root y pueden montar todo lo que aparezca +# en /exports. Cualquier sistema puede montar /exports/obj en modo +# solo lectura +/exports -alldirs -maproot=root cliente01 cliente02 +/exports/obj -ro</programlisting> + + <para>Se debe reiniciar el dæmon <application>mountd</application> + siempre que se modifique el contenido del archivo + <filename>/etc/exports</filename> para que los cambios surtan efecto. + Esto se realiza enviando la señal HUP al proceso + <command>mountd</command>:</para> + + <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen> + + <para>También se puede reiniciar FreeBSD para que se cargue la + nueva configuración pero este mecanismo no resulta necesario + si se ejecutan los siguientes comandos como + <username>root</username>, los cuales ponen el servidor de + <acronym>NFS</acronym> de nuevo en funcionamiento.</para> + + <para>En el servidor de <acronym>NFS</acronym>:</para> + + <screen>&prompt.root; <userinput>portmap</userinput> +&prompt.root; <userinput>nfsd -u -t -n 4</userinput> +&prompt.root; <userinput>mountd -r</userinput></screen> + + <para>En el cliente de <acronym>NFS</acronym>:</para> + + <screen>&prompt.root; <userinput>nfsiod -n 4</userinput></screen> + + <para>En este punto todo debería estar preparado para + poder anclar el sistema de ficheros remoto en la máquina + cliente. En los siguientes ejemplos el nombre del servidor es + <hostid>server</hostid> y el punto de montaje temporal utilizado + por el cliente es <hostid>client</hostid>. Si se desea montar el + sistema de ficheros de forma temporal o simplemente comprobar que la + configuración funciona sin problemas se puede ejecutar un + comando como el que se muestra a continuación con permisos + de <username>root</username> en la máquina cliente:</para> + + <indexterm> + <primary>NFS</primary> + <secondary>mounting</secondary> + </indexterm> + <screen>&prompt.root; <userinput>mount server:/home /mnt</userinput></screen> + + <para>Este comando ancla el directorio + <filename>/home</filename> del servidor en el directorio + <filename>/mnt</filename> del cliente. Si todo funciona correctamente + debería poder entrar en el directorio + <filename>/mnt</filename> del cliente y ver todos los ficheros que se + encuentran en el directorio <filename>/home</filename> del servidor. + </para> + + <para>Si queremos anclar automáticamente un sistema de ficheros + remoto cuando la máquina está arrancando se puede + añadir una línea como la siguiente dentro de + <filename>/etc/fstab</filename>:</para> + + <programlisting>servidor:/home /mnt nfs rw 0 0</programlisting> + + <para>&man.fstab.5; comenta todas las opciones disponibles.</para> + </sect2> + + <sect2> + <title>Usos Prácticos</title> + + <para>El protocolo <acronym>NFS</acronym> tiene múltiples usos + prácticos. Los más típicos se enumeran a + continuación:</para> + + <indexterm> + <primary>NFS</primary> + <secondary>uses</secondary> + </indexterm> + <itemizedlist> + <listitem> + <para>Compartición de la unidad de CDROM entre varias + máquinas. Esto resulta ser más barato y una forma + más conveniente para instalar software en varias + máquinas.</para> + </listitem> + + <listitem> + <para>En grandes redes puede ser más adecuado configurar un + servidor central de <acronym>NFS</acronym> en el cual se + almacenen todos los <quote>homes</quote> de los distintos + usuarios. Estos directorios se pueden exportar a través de + la red de tal forma que los usuarios pueden trabajar con el mismo + directorio independientemente de la máquina que utilicen. + </para> + </listitem> + + <listitem> + <para>Varias máquinas pueden poseer el directorio + <filename>/usr/ports/distfiles</filename> compartido. De + este modo cuando necesitemos instalar un port en varias + máquinas, se puede acceder rápidamente a las fuentes + sin necesidad de bajarlas una vez para cada máquina.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="network-amd"> + <sect2info> + <authorgroup> + <author> + <firstname>Wylie</firstname> + <surname>Stilwell</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Chern</firstname> + <surname>Lee</surname> + <contrib>Reescrito por </contrib> + </author> + </authorgroup> + </sect2info> + <title>Anclajes Automáticos usando <application>amd</application></title> + + <indexterm><primary>amd</primary></indexterm> + <indexterm><primary>automatic mounter daemon</primary></indexterm> + + <para>El dæmon &man.amd.8; (<quote>the automatic mounter + daemon</quote>, o dæmon de montaje automático) + automáticamente ancla un sistema de ficheros remoto cuando se + tiene que acceder a un fichero perteneciente a dicho sistema. Los + sistemas de ficheros que permanecen inactivos durante un determinado + periodo de tiempo son automáticamente desmontados por el mismo + dæmon. Este dæmon proporciona una alternativa sencilla a + la utilización de los montajes permanentes que normalmente se + especifican a través del fichero <filename> + /etc/fstab</filename>.</para> + + <para><application>amd</application> trabaja actuando como un servidor + servidor de NFS para los directorios + <filename>/host</filename> y <filename>/net</filename>. Cuando se + accede a algún fichero ubicado bajo estos directorios + <application>amd</application> busca el punto de montaje remoto y + automáticamente lo monta. El directorio <filename> + /net</filename> se utiliza para anclar sistemas de ficheros remotos + especificados mediante direcciones IP, mientras que el directorio + <filename>/host</filename> almacena aquellos sistemas de ficheros + remotos que han sido especificados mediante un nombre de + máquina.</para> + + <para><application>amd</application> detecta cualquier intento + de acceder a un fichero dentro del directorio + <filename>/host/foobar/usr</filename> y se encarga de montar + el sistema de ficheros remoto (<filename>/usr</filename>) + en la máquina, en caso de que no estuviera ya + anclado.</para> + + <example> + <title>Anclaje de una Exportación utilizando + <application>amd</application></title> + + <para>El comando <command>showmount</command> muestra los + puntos de montaje que posee una máquina remota. Por ejemplo + para conocer los montajes de un máquina llamada + <hostid>foobar</hostid>, se puede utilizar:</para> + + <screen>&prompt.user; <userinput>showmount -e foobar</userinput> +Exports list on foobar: +/usr 10.10.10.0 +/a 10.10.10.0 +&prompt.user; <userinput>cd /host/foobar/usr</userinput></screen> + </example> + + <para>Como se observa en el ejemplo, el comando + <command>showmount</command> muestra el directorio + <filename>/usr</filename> + como una exportación. Cuando se cambia el directorio actual + al directorio <filename>/host/foobar/usr</filename> el dæmon + <application>amd</application> intenta resolver el nombre + <hostid>foobar</hostid> y automáticamente ancla el sistema + de ficheros remoto.</para> + + <para>El dæmon <application>amd</application> se puede ejecutar + a partir de los scripts de inicio, utilizando la siguiente + línea del archivo de configuración + <filename>/etc/rc.conf</filename>:</para> + + <programlisting>amd_enable="YES"</programlisting> + + <para>Además, <application>amd</application> soporta opciones + adicionales que pueden definirse mediante la variable + <varname>amd_flags</varname>. Por defecto, la variable + <varname>amd_flags</varname> posee las siguientes opciones:</para> + + <programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting> + + <para>El archivo <filename>/etc/amd.map</filename> define las opciones + por defecto con las cuales se anclan los sistemas de ficheros + remotos. El archivo <filename>/etc/amd.conf</filename> define algunas + características avanzadas para el dæmon + <application>amd</application>.</para> + + <para>Se ruega consultar las páginas del manual de &man.amd.8; y + de &man.amd.conf.5; para obtener más información.</para> + </sect2> + + <sect2 id="network-nfs-integration"> + <sect2info> + <authorgroup> + <author> + <firstname>John</firstname> + <surname>Lind</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect2info> + <title>Problemas de Integración con Otras Plataformas</title> + + <para>Determinados adaptadores Ethernet para sistemas basados en + el bus ISA poseen restricciones que pueden producir serios problemas + de red, en particular con el protocolo NFS. Estos problemas no son + específicos de FreeBSD, pero los sistemas &os; se ven + afectados por ellos.</para> + + <para>El problema surge casi siempre cuando el sistema (&os;) + está empotrado dentro de una red compuesta por estaciones de + trabajo de alto rendimiento, como por ejemplo estaciones de Silicon + Graphics y de Sun Microsystems. El montaje del sistema de ficheros + remoto suele funcionar perfectamente y algunas operaciones sobre el + el sistema de ficheros pueden tener é,xito pero de repente el + el servidor que no responde a las peticiones del cliente, aunque + peticiones y respuestas de otros clientes funcionan con normalidad y + se continúan procesando. Esto sucede en los sistemas clientes, + tanto en sistemas FreeBSD como en otras estaciones de trabajo. + En muchos sistemas, lo único que se puede hacer es resetear + la máquina de forma abrupta, ya que el bloqueo producido por el + protocolo NFS no se puede solucionar.</para> + + <para>Aunque la solución <quote>correcta</quote> consiste en + obtener un adaptador Ethernet con mayor rendimiento y capacidad, + todavía se puede aplicar un parche sencillo que puede llegar a + permitir un funcionamiento sin problemas. Si el sistema FreeBSD + actúa como servidor de <emphasis>NFS</emphasis> se puede + incluír la opción <option>w=1024</option> cuando el + ejecute una petición de montaje sobre dicho servidor. Si &os; + dicho servidor. Si &os; actúa como cliente de + <emphasis>NFS</emphasis>, se puede ejecutar &man.mount.8; con el + parámetro <option>-r=1024</option>. Estas opciones se pueden + especificar en el <filename>/etc/fstab</filename> del cliente para que + entren en funcionamiento cuando se realicen montajes + automáticos y también se puede utilizar el + parámetro <option>-o</option> de &man.mount.8; cuando se + realicen montajes manuales.</para> + + <para>Resulta apropiado resaltar que existe un problema totalmente + distinto que algunas veces se confunde con el que acabamos de + describir, que aparece cuando el servidor y los clientes se encuentran + en redes diferentes. Si nos encontramos en esta situación + debemos <emphasis>asegurarnos</emphasis> de que nuestros <quote> + routers</quote> están encaminando correctamente los paquetes + UDP que genera el protocolo <acronym>NFS</acronym> pues en caso + contrario el sistema no funcionará, independientemente de los + ajustes que se realicen en el cliente o en el servidor.</para> + + <para>En los siguientes ejemplos <hostid>fastws</hostid> es el nombre de + una estación de trabajo de altas prestaciones y <hostid> + freebox</hostid> es el nombre de un sistema &os; con un adaptador + Ethernet de bajas prestaciones. Se pretende además exportar el + directorio <filename>/sfcompartido</filename> (ver &man.exports.5;) y + el directorio <filename>/projecto</filename>. Tenga en cuenta que en + cualquier caso puede resultar útil definir opciones adicionales + a las que que se muestran en el siguiente ejemplo, como pueden ser + <option>hard</option>, <option>soft</option> o + <option>bg</option>. Esto dependerá de la aplicación + que utilice el sistema de ficheros remoto.</para> + + <para>Ejemplos de configuración para el sistema &os; + (<hostid>freebox</hostid>) que actúa como cliente. + Configuración del archivo + <filename>/etc/fstab</filename> de + <hostid>freebox</hostid>:</para> + + <programlisting>fastws:/sfcompartido /projecto nfs rw,-r=1024 0 0</programlisting> + + <para>Comando de ejecución manual para + <hostid>freebox</hostid>:</para> + + <screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sfcompartido /projecto</userinput></screen> + + <para>Ejemplos de configuración para el sistema &os; que + actúa como servidor. Configuración de + <filename>/etc/fstab</filename> de <hostid>fastws</hostid>:</para> + + <programlisting>freebox:/sfcompartido /projecto nfs rw,-w=1024 0 0</programlisting> + + <para>Comando de ejecución manual para + <hostid>fastws</hostid>:</para> + + <screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sfcompartido /projecto</userinput></screen> + + <para>Casi cualquier adaptador Ethernet de 16 bits permite operar sin + operar sin las restricciones anteriores sobre el tamaño de + lectura o escritura especificado por defecto.</para> + + <para>Por si alguien estuviera interesado a continuación se + muestra el error que aparece en estos casos, lo cual explica por + qué decimos que el error resulta irrecuperable. NFS trabaja + típicamente con un tamaño de <quote>bloque</quote> + de 8 K (aunque se pueden producir fragmentos de menor + tamaño). Debido a que el máximo tamaño de los + paquetes Ethernet se encuentra alrededor de los 1500 bytes el + <quote>bloque</quote> de NFS se trocea en varios paquetes Ethernet + aunque desde el punto de vista del protocolo NFS se trata como si + fuese un único paquete. Los trozos deben reensamblarse en el + destino y se debe enviar una <emphasis>confirmación</emphasis> + para el bloque recibido. Las estaciones de trabajo de altas + prestaciones pueden soltar paquetes NFS de forma contínua uno + después de otro, lo más juntos posible. Por otro lado + en las tarjetas de red más pequeñas y de menor + capacidad puede ocurrir que un paquete recien llegado a la tarjeta + sobreescriba información perteneciente a un paquete anterior + antes de que llegue a ser transmitido completamente, de tal forma que + al recibirse el bloque NFS no puede ser ni reconstruido ni + ni reconocido. Como resultado de este proceso la máquina + tratará de enviar el mismo paquete transcurridos unos instantes + de espera, pero se tratarán de enviar de nuevo los 8 K + que constituyen un bloque NFS, y de esta forma se repetirá el + el proceso, así hasta el infinito.</para> + + <para>Si se mantiene el tamaño del bloque por debajo del + tamaño de paquete máximo de Ethernet, podemos asegurar + que cualquier paquete Ethernet transporta un bloque NFS, el cual + puede asentirse individualmente, evitando así la + explosión de paquetes y el eventual bloqueo del sistema.</para> + + <para>Desbordamientos circulares del <quote>buffer</quote> (<quote> + overruns</quote>) pueden producirse si nos encontramos con una + estación de trabajo de altas prestaciones que envía + contínuamente mucho tráfico a un sistema convencional, + pero con tarjetas Ethernet de buena calidad, estos desbordamientos + resultan altamente improbables para el caso de los tamaños de + bloque por defecto generados por el sistema NFS. Cuando se produce un + desbordamiento, las unidades afectadas se retransmiten, y + existe una gran probabilidad de que se reciban, se reensamblen + y se confirmen.</para> + </sect2> + </sect1> + + <sect1 id="network-diskless"> + <sect1info> + <authorgroup> + <author> + <firstname>Jean-François</firstname> + <surname>Dockès</surname> + <contrib>Actualizado por </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Alex</firstname> + <surname>Dupre</surname> + <contrib>Reorganizado y ampliado por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Ejecución sin Disco Duro</title> + + <indexterm><primary>diskless workstation</primary></indexterm> + <indexterm><primary>diskless operation</primary></indexterm> + + <para>Una máquina &os; se puede arrancar a través + de la red y operar sin que necesite poseer ningún disco, + utilizando sistemas de ficheros de un servidor de + <acronym>NFS</acronym>. No se necesita realizar ninguna + modificación al sistema, salvo configurar determinados ficheros. + Este tipo de sistemas se pueden configurar fácilmente puesto + que &os; dispone de todos los elementos necesarios:</para> + + <itemizedlist> + <listitem> + <para>Existen al menos dos formas de cargar el núcleo + del sistema operativo a través de la red:</para> + <itemizedlist> + <listitem> + <para><acronym>PXE</acronym>: El sistema de &intel; conocido como + Preboot Execution Environment. Se trata de una especie de + arranque inteligente a partir de una memoria de sólo + lectura (ROM) que se encuentra en algunas placas bases y + tarjetas de red. Se puede obtener más información + en &man.pxeboot.8;.</para> + </listitem> + <listitem> + <para>El port <application>etherboot</application> + (<filename role="package">net/etherboot</filename>) + genera código de sólo lectura (código ROM) + que se puede utilizar para arrancar máquinas a + través de la red. Dicho código se puede instalar + en una memoria de arranque tipo PROM en algunas tarjetas de red + o se puede cargar en una disquetera (o disco duro), y + también en un sistema de ficheros &ms-dos; que + esté en ejecución. Varias tarjetas de red soportan + este mecanismo.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>Existe un script de ejemplo + (<filename>/usr/share/examples/diskless/clone_root</filename>) que + facilita la creación y el mantenimiento del sistema de + ficheros raíz de la estación de trabajo en el + servidor. La configuración de este <quote>script</quote> se + debe retocar ligeramente pero sirve como punto de partida para + comenzar rápidamente.</para> + </listitem> + + <listitem> + <para>Existen ficheros estándar de arranque bajo + <filename>/etc</filename> que dan soporte al arranque de + máquinas sin disco.</para> + </listitem> + + <listitem> + <para>El <quote>swapping</quote>, en caso de ser necesario, se puede + realizar usando <acronym>NFS</acronym> y tambíen + usando un disco duro local.</para> + </listitem> + </itemizedlist> + + <para>Existen varias formas de ejecutar una estación de trabajo sin + discos. En el proceso se involucran distintos elementos y la + mayoría se pueden adaptar a las necesidades del usuario. + A continuación se describen variaciones sobre la + configuración de un sistema sin discos, haciendo incapié + en la simplicidad y compatibilidad con los <quote>scripts</quote> de + arranque de &os;. El sistema que vamos a describir tiene las + siguientes características.</para> + + <itemizedlist> + <listitem> + <para>Las estaciones de trabajo sin disco utilizan un sistema + de ficheros <filename>raíz</filename> de sólo lectura + y un sistema de ficheros compartido, también de + sólo lectura, bajo <filename>/usr</filename>.</para> + + + <para>El sistema de ficheros <filename>raíz</filename> + es una copia del sistema raíz estandar de &os; (normalmente + del sistema raíz del servidor), donde se sobreescriben + algunos archivos de configuración necesarios para la + ejecución sin discos y para la configuración local + específica de la máquina objetivo.</para> + + <para>Las partes del sistema de ficheros + <filename>raíz</filename> que tiene que tener permisos de + lectura y escritura se superponen con los sistemas de ficheros + &man.mfs.8; (&os; 4.X) o &man.md.4;. Cualquier cambio que se + produzca en dichas partes se perderá cuando se reinicie el + sistema.</para> + </listitem> + <listitem> + <para>El núcleo se transmite y se carga utilizando + <application>etherboot</application> o bien + <acronym>PXE</acronym>, dependiendo del hardware y los mecanismos + que se soporten.</para> + </listitem> + </itemizedlist> + + <caution><para>Como se ha comentado con anterioridad estos sistemas son + inseguros. Se debe confinar dentro de una red protegida y el resto + de las máquinas por defecto no deben confiar en estos + métodos.</para> + </caution> + + <para>Toda la información que se presenta en esta + sección se ha probado utilizando &os; 4.9-RELEASE y + 5.2.1-RELEASE. El texto se encuentra estructurado principalmente para + utilización en sistemas 4.X. Se insertan notas para indicar + cambios producidos en las versiones 5.X.</para> + + <sect2> + <title>Conocimientos Previos</title> + + <para>Configurar estaciones de trabajo sin discos es una + operación relativamente sencilla pero en la que pueden + cometerse errores. Estos errores resultan algunas veces + difíciles de diagnosticar debido a razones que vamos a + exponer a continuación. Por ejemplo:</para> + + <itemizedlist> + <listitem> + <para>Diferentes opciones de tiempo de compilación pueden + determinar comportamientos distintos en tiempo de + ejecución.</para> + </listitem> + + <listitem> + <para>Los mensajes de error a menudo resultan crípticos o + incluso no existen.</para> + </listitem> + </itemizedlist> + + <para>Se se quieren resolver los posibles problemas que puedan surgir + resulta muy útil conocer el funcionamiento conceptual del + mecanismo.</para> + + <para>Para que el arranque se produzca exitosamente se deben realizar + varias operaciones:</para> + + <itemizedlist> + <listitem> + <para>La máquina necesita obtener algunos + parámetros iniciales, tales como su dirección IP, + el fichero ejecutable, el nombre del servidor y la ruta + raíz. Esto se realiza utilizando los protocolos + <acronym>DHCP</acronym> o <acronym>BOOTP</acronym>. + <acronym>DHCP</acronym> es una extensión compatible del + protocolo <acronym>BOOTP</acronym> y utiliza los mismos + números de puertos y los mismos formatos de paquete + básicos.</para> + + <para>Es posible configurar un sistema de tal forma que utilice + sólamente <acronym>BOOTP</acronym>. En el sistema base de + &os; se incluye el programa servidor &man.bootpd.8;.</para> + + <para>No obstante <acronym>DHCP</acronym> posee varias ventajas sobre + BOOTP (archivos de configuración más limpios, + posibilidad de ejecutar <acronym>PXE</acronym>, junto con otras + características que no se relacionan directamente con el + tema que estamos tratando tratando) por lo que principalmente se + va a describir la configuración de <acronym>DHCP</acronym>, + proporcionando ejemplos equivalentes en &man.bootpd.8; siempre que + sea posible. La configuración de ejemplo se basa en el + paquete software de <application>ISC DHCP</application> (en el + servidor de prueba se instaló la versión + 3.0.1.r12).</para> + </listitem> + + <listitem> + <para>La máquina sin disco necesita transferir uno o varios + programas a la memoria local. Para ello se usa + <acronym>TFTP</acronym> o bien <acronym>NFS</acronym>. + La elección entre ambos se produce mediante la + configuración de la compilación que se produce en + varios lugares. Una fuente de error típica aparece cuando + se especifican ficheros con el protocolo incorrecto: + <acronym>TFTP</acronym> normalmente transfiere todos los ficheros + desde un único directorio del servidor, de modo que espera + nombres de ficheros relativos a dicho directorio. Por otro lado + <acronym>NFS</acronym> necesita recibir rutas de fichero + absolutas.</para> + + </listitem> + + <listitem> + <para>El kernel y los programas de arranque intermedios deben ser + inicializados y ejecutados. Existen diferencias importantes en + este área:</para> + + <itemizedlist> + <listitem> + <para><acronym>PXE</acronym> carga &man.pxeboot.8;, una + versión modificada de la tercera fase del cargador de + arranque de &os;. &man.loader.8; obtiene la mayoría de + los parámetros necesarios para arrancar el sistema + y los deposita en variables de entorno del kernel antes de + tranferir el control. En este caso es posible utilizar un + un núcleo <filename>GENERIC</filename> + .</para> + </listitem> + + <listitem> + <para><application>etherboot</application> carga directamente el + directamente el núcleo con menos trabajo previo que + el método anterior. Para ello se debe compilar un + núcleo con ciertas opciones.</para> + </listitem> + </itemizedlist> + + <para><acronym>PXE</acronym> y <application>etherboot</application> + funcionan muy bien en los sistemas 4.X. Dado que los + núcleos de los sistemas 5.X permiten que el &man.loader.8; + realice más tareas, se prefiere usar <acronym> + PXE</acronym>.</para> + + <para>Si su <acronym>BIOS</acronym> y su tarjeta de red soportan + <acronym>PXE</acronym> lo normal es utilizarlo. No obstante se + puede arrancar un sistema 5.X utilizando <application> + etherboot</application>.</para> + </listitem> + + <listitem> + <para>Para acabar la tarea la máquina necesita acceder al + sistema de ficheros. En todos los casos se utiliza + <acronym>NFS</acronym>.</para> + </listitem> + </itemizedlist> + + <para>No olvide consultar &man.diskless.8;.</para> + </sect2> + + <sect2> + <title>Instrucciones de Configuración</title> + + <sect3> + <title>Configuración Utilizando <application>ISC + DHCP</application></title> + <indexterm> + <primary>DHCP</primary> + <secondary>diskless operation</secondary> + </indexterm> + + <para>El servidor <application>ISC DHCP</application> puede + responder tanto a peticiones de BOOTP como a peticiones de + <acronym>DHCP</acronym>.</para> + + <para><application>ISC DHCP</application> no forma parte de + la versión 4.9 de &os; por lo que se debe instalar el port + <filename role="package">net/isc-dhcp3-server</filename> o el + paquete correspondiente. Por favor, consulte <xref + linkend="ports"> para obtener + más información sobre los ports y los + paquetes.</para> + + <para>Una vez que <application>ISC DHCP</application> se encuentra + instalado necesita un fichero de configuración para poder + ejecutarse + <filename>/usr/local/etc/dhcpd.conf</filename>). A + continuación se muestra un ejemplo comentado, donde la + máquina <hostid>margaux</hostid> utiliza + <application>etherboot</application> y + la máquina <hostid>corbieres</hostid> utiliza + <acronym>PXE</acronym>:</para> + + <programlisting> +default-lease-time 600; +max-lease-time 7200; +authoritative; + +option domain-name "example.com"; +option domain-name-servers 192.168.4.1; +option routers 192.168.4.1; + +subnet 192.168.4.0 netmask 255.255.255.0 { + use-host-decl-names on; <co id="co-dhcp-host-name"> + option subnet-mask 255.255.255.0; + option broadcast-address 192.168.4.255; + + host margaux { + hardware ethernet 01:23:45:67:89:ab; + fixed-address margaux.example.com; + next-server 192.168.4.4; <co id="co-dhcp-next-server"> + filename "/data/misc/kernel.diskless"; <co id="co-dhcp-filename"> + option root-path "192.168.4.4:/data/misc/diskless"; <co id="co-dhcp-root-path"> + } + host corbieres { + hardware ethernet 00:02:b3:27:62:df; + fixed-address corbieres.example.com; + next-server 192.168.4.4; + filename "pxeboot"; + option root-path "192.168.4.4:/data/misc/diskless"; + } +} + </programlisting> + + <calloutlist> + <callout arearefs="co-dhcp-host-name"><para>Esta + opción indica a + <application>dhcpd</application> que envíe el + valor que se encuentra en las declaraciones + de <literal>host</literal> como el nombre de + máquina para la máquina sin disco. Otra forma + de hacer esto sería añadiendo una opción + <literal>option host-name + <replaceable>margaux</replaceable></literal> dentro de las + declaraciones de máquina.</para> + </callout> + + <callout arearefs="co-dhcp-next-server"><para>La directiva + <literal>next-server</literal> selecciona el servidor + de <acronym>TFTP</acronym> o de <acronym>NFS</acronym> + que se debe utilizar para cargar el núcleo + o el fichero cargador del núcleo (por defecto se + utiliza la misma máquina que actúa como servidor + de <acronym>DHCP</acronym>).</para> + </callout> + + <callout arearefs="co-dhcp-filename"><para>La directiva + <literal>filename</literal> define el archivo que + <application>etherboot</application> o <acronym>PXE</acronym> + cargará en el siguiente paso de ejecución. + Debe especificarse de acuerdo con el método de + transferencia seleccionado. + <application>Etherboot</application> se puede compilar para + que use <acronym>NFS</acronym> o <acronym>TFTP</acronym>. El + sistema &os; se configura por defecto para <acronym> + NFS</acronym>. + <acronym>PXE</acronym> utiliza <acronym>TFTP</acronym> por lo + que se utiliza una ruta relativa para especificar el nombre del + fichero (esto puede depender de la configuración del + servidor de <acronym>TFTP</acronym> pero suele ser lo + normal). Además <acronym>PXE</acronym> no carga el + núcleo, lo hace <filename>pxeboot</filename>. + Existen otras posibilidades interesantes, como cargar + <filename>pxeboot</filename> desde el directorio + <filename role="directory">/boot</filename> + de una unidad de CD-ROM de &os; (ya que &man.pxeboot.8; puede + cargar un núcleo + <filename>GENERIC</filename> surge la posibilidad de utilizar + <acronym>PXE</acronym> para arrancar desde una unidad de + CD-ROM remota).</para> + </callout> + + <callout arearefs="co-dhcp-root-path"><para>La opción + <literal>root-path</literal> define la ruta para el + sistema de ficheros raíz utilizando la notación + típica de <acronym>NFS</acronym>. Cuando se utiliza + <acronym>PXE</acronym>, es posible dejar la + dirección IP siempre y cuando no se active la + opción del núcleo de BOOTP. El servidor + <acronym>NFS</acronym> será en este caso el mismo que el + servidor de <acronym>TFTP</acronym>.</para> + </callout> + </calloutlist> + + </sect3> + <sect3> + <title>Configuración utilizando BOOTP</title> + <indexterm> + <primary>BOOTP</primary> + <secondary>diskless operation</secondary> + </indexterm> + + <para>A continuación se muestra la configuración + equivalente utilizando <application>bootpd</application> + (reducida a un único cliente). Esta configuración + se debe situar en <filename>/etc/bootptab</filename>.</para> + + <para>Por favor, recuerde que <application>etherboot</application> + se debe compilar con la opción específica de + <literal>NO_DHCP_SUPPORT</literal> para que pueda utilizar BOOTP + y que <acronym>PXE</acronym> <emphasis>requiere</emphasis> + <acronym>DHCP</acronym>. La única ventaja obvia de + <application>bootpd</application> es que se encuentra disponible en + el sistema base.</para> + + <programlisting> +.def100:\ + :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\ + :sm=255.255.255.0:\ + :ds=192.168.4.1:\ + :gw=192.168.4.1:\ + :hd="/tftpboot":\ + :bf="/kernel.diskless":\ + :rp="192.168.4.4:/data/misc/diskless": + +margaux:ha=0123456789ab:tc=.def100 + </programlisting> + </sect3> + + <sect3> + <title>Preparación de un Programa de Arranque con + <application>Etherboot</application></title> + + <indexterm> + <primary>Etherboot</primary> + </indexterm> + + <para><ulink url="http://etherboot.sourceforge.net">La + página web de Etherboot + </ulink> contiene + <ulink + url="http://etherboot.sourceforge.net/doc/html/userman/t1.html"> + una amplia documentación</ulink> enfocada + principalmente a los sistemas Linux pero en cualquier caso contiene + información que puede resultar útil. En los siguientes + párrafos se describe brevemente como se puede utilizar + <application>etherboot</application> en un sistema &os;.</para> + + <para>Lo primero es instalar el port o paquete <filename + role="package">net/etherboot</filename>. El port de + <application>etherboot</application> está en + <filename>/usr/ports/net/etherboot</filename>. Si el árbol + de ports está instalado en el sistema basta con ejecutar + <literal>make</literal> en dicho directorio. Por favor, + lea <xref linkend="ports"> para saber más sobre los ports y + los paquetes.</para> + + <para>Se puede modificar la configuración de + <application>etherboot</application> (por ejemplo, para que use + <acronym>TFTP</acronym> en lugar de <acronym>NFS</acronym>) editando + el fichero <filename>Config</filename> que se encuentra en el + directorio fuente de <application>etherboot</application>.</para> + + <para>Para nuestros propósitos se utilizará un disquete + de arranque. Para utilizar otros métodos (PROM o un + programa &ms-dos;) por favor consulte la documentación de + <application>etherboot</application>.</para> + + <para>Para crear un disco de arranque se debe insertar un disco en la + unidad de disquetes de la máquina donde se ha instalado + <application>etherboot</application>, cambiar al directorio + <filename>src</filename> dentro del árbol de directorios de + <application>etherboot</application> y teclear:</para> + + <screen> +&prompt.root; <userinput>gmake bin32/<replaceable>tipo_de_dispositivo</replaceable>.fd0</userinput> + </screen> + + <para><replaceable>tipo_de_dispositivo</replaceable> depende del tipo + de tarjeta Ethernet que se encuentre instalada en la estación + de trabajo sin disco. Consulte el fichero + <filename>NIC</filename> en el mismo directorio para determinar + cúal es el <replaceable>tipo_de_dispositivo</replaceable> que + debe usted usar.</para> + + </sect3> + + <sect3> + <title>Arrancar con <acronym>PXE</acronym></title> + + <para>Por defecto el cargador &man.pxeboot.8; carga, valga la + redundancia, el kernel vía <acronym>NFS</acronym>. El + El cargador se puede compilar para que utilice <acronym> + TFTP</acronym> en lugar de <acronym>NFS</acronym> especificando la + opción <literal>LOADER_TFTP_SUPPORT</literal> dentro de + <filename>/etc/make.conf</filename>. Observe los comentarios de + <filename>/etc/defaults/make.conf</filename> (o de + <filename>/usr/share/examples/etc/make.conf</filename> para + sistemas 5.X) para saber más detalles.</para> + + <para>Existen otras dos opciones de + <filename>make.conf</filename> no documentadas que pueden + ser útiles para arrancar una máquina sin disco a + través del puerto serie: + <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal> y + <literal>BOOT_PXELDR_ALWAYS_SERIAL</literal> (esta + última sólo existe en &os; 5.X).</para> + + <para>Para utilizar <acronym>PXE</acronym> cuando arranca la + máquina normalmente el usuario tiene que seleccionar la + opción <literal>Boot from network</literal> dentro del + menú de opciones de la <acronym>BIOS</acronym> o pulsar un + tecla de función cuando la máquina se está + inicializando.</para> + </sect3> + + <sect3> + <title>Configuración de Servidores de + <acronym>TFTP</acronym> y de <acronym>NFS</acronym></title> + + <indexterm> + <primary>TFTP</primary> + <secondary>diskless operation</secondary> + </indexterm> + <indexterm> + <primary>NFS</primary> + <secondary>diskless operation</secondary> + </indexterm> + + <para>Si <acronym>PXE</acronym> o + <application>etherboot</application> se encuentran configurados para + utilizar <acronym>TFTP</acronym> se necesita activar + <application>tftpd</application> en el servidor de ficheros: + </para> + <procedure> + <step> + <para>Crear un directorio desde el cual el dæmon + <application>tftpd</application> servirá los + ficheros, por ejemplo <filename>/tftpboot</filename>.</para> + </step> + + <step> + <para>Añadir la siguiente línea a + <filename>/etc/inetd.conf</filename>:</para> + + <programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting> + + <note><para>Parece que al menos algunas versiones de + <acronym>PXE</acronym> utilizan la versión + <acronym>TCP</acronym> + de <acronym>TFTP</acronym>. En este caso se puede + añadir una segunda línea, donde se reemplace + <literal>dgram udp</literal> por <literal>stream + tcp</literal>.</para> + </note> + </step> + <step> + <para>Indicar a <application>inetd</application> que + vuelva a leer su fichero de configuración:</para> + + <screen>&prompt.root; <userinput>kill -HUP `cat + /var/run/inetd.pid`</userinput></screen> + </step> + </procedure> + + <para>Se puede situar el directorio + <filename>tftpboot</filename> en cualquier parte del servidor. + Debe asegurarse de que la localización se encuentra + correctamente configurada tanto en + <filename>inetd.conf</filename> como en + <filename>dhcpd.conf</filename>.</para> + + <para>En todos los casos también resulta necesario activar el + sistema de <acronym>NFS</acronym> y exportar los sistemas de + ficheros adecuados, todo ello en el servidor de + <acronym>NFS</acronym>.</para> + + <procedure> + <step> + <para>Añadir lo siguiente a + <filename>/etc/rc.conf</filename>:</para> + <programlisting>nfs_server_enable="YES"</programlisting> + </step> + + <step> + <para>Exportar el sistema de ficheros donde el directorio + raíz sin disco se encuentra localizado añadiendo + lo siguiente a <filename>/etc/exports</filename> (ajuste el + punto de montaje de la unidad y sustituya + <replaceable>margaux corbieres</replaceable> por el + nombre de las estaciones de trabajo sin disco, según + corresponda):</para> + + <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting> + </step> + <step> + <para>Indicar a <application>mountd</application> que vuelva a leer + su archivo de configuración. Si en un primer paso se ha + configurado la activación automática del sistema de + <acronym>NFS</acronym> en + <filename>/etc/rc.conf</filename> lo mejor es reiniciar para que + los cambios surtan efecto.</para> + + <screen>&prompt.root; <userinput>kill -HUP `cat + /var/run/mountd.pid`</userinput></screen> + </step> + </procedure> + + </sect3> + + <sect3> + <title>Construcción de un Núcleo Sin + Disco</title> + + <indexterm> + <primary>diskless operation</primary> + <secondary>kernel configuration</secondary> + </indexterm> + + <para>Si se utiliza <application>etherboot</application>, se necesita + crear un archivo de configuración para el kernel de la + máquina sin disco que posea las siguientes opciones + (además de las opciones del núcleo habituales):</para> + + <programlisting> +options BOOTP # Use BOOTP to obtain IP address/hostname +options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info + </programlisting> + + <para>Puede resultar interesante utilizar además + <literal>BOOTP_NFSV3</literal>, + <literal>BOOT_COMPAT</literal> y + <literal>BOOTP_WIRED_TO</literal> + (consultar <filename>LINT</filename> en 4.X o + <filename>NOTES</filename> en sistemas 5.X).</para> + + <para>Los nombres de estas opciones son nombres + históricos y ligeramente confusos ya que permiten un uso + indistinto tanto de <acronym>DHCP</acronym> como de BOOTP dentro del + núcleo (también resulta posible forzar la + utilización única de o bien BOOTP o bien de + <acronym>DHCP</acronym>).</para> + + <para>Contruir el núcleo (vea <xref + linkend="kernelconfig">) y copiarlo al lugar especificado + en el archivo <filename>dhcpd.conf</filename>.</para> + + <note> + <para>Cuando se utiliza <acronym>PXE</acronym>, la + construcción del núcleo con las opciones anteriores + no resulta ser algo estrictamente necesario (aunque se + recomienda). Activar dichas opciones provoca un mayor + tráfico de peticiones de <acronym>DHCP</acronym> durante el + arranque del núcleo, lo que puede dar lugar a + pequeñas inconsistencias entre los nuevos valores y los + los valores recuperados por &man.pxeboot.8; en casos muy + específicos. La ventaja de utilizarlas consiste en que como + un efecto colateral se configurará el nombre de la + máquina. De otro modo tendríamos que configurar dicho + nombre mediante otro método por ejemplo mediante la + configuración específica de la máquina cliente + a través del archivo <filename>rc.conf</filename>.</para> + </note> + + <note> + <para>Para que el núcleo se pueda cargar sin problemas con + <application>etherboot</application> en sistemas 5.X dicho + núcleo tiene que tener compilado el soporte para + <emphasis>device hints</emphasis>. Para ello normalmente se + especifica la siguiente opción dentro del fichero + de configuración del núcleo (consulte los comentarios + del fichero <filename>NOTES</filename>):</para> + + <programlisting>hints "GENERIC.hints"</programlisting> + </note> + + </sect3> + + <sect3> + <title>Preparación del Sistema de Ficheros + Raíz</title> + + <indexterm> + <primary>root file system</primary> + <secondary>diskless operation</secondary> + </indexterm> + + <para>Se debe crear un sistema de ficheros raíz en las + estaciones de trabajo sin disco, concretamente en la + localización especificada por <literal>root-path</literal> + dentro de <filename>dhcpd.conf</filename>. Las siguientes secciones + describen dos formas de hacer esto.</para> + <sect4> + <title>Utilización del <quote>script</quote> + <filename>clone_root</filename></title> + + <para>Este es el modo más rápido de crear un sistema de + ficheros raíz, pero actulamente sólo se encuentra + soportado en &os; 4.X. El <quote>script</quote> de shell se + encuentra en <filename>/usr/share/examples/diskless/clone_root</filename> + y debe ser configurado al menos para ajustar el lugar donde se + construirá el sistema de ficheros (concretamente la + variable <literal>DEST</literal>).</para> + + <para>Consulte los comentarios que se encuentran al comienzo del + <quote>script</quote> para conocer cuales son las instrucciones que + debe seguir. Allí se explica cómo se construye el + sistema de ficheros base y como determinados ficheros se pueden + sobreescribir de manera selectiva por versiones + específicas para funcionar sin discos, para toda una subred + o para una máquina individual. También allí + se muestran ejemplos de los ficheros + <filename>/etc/fstab</filename> y + <filename>/etc/rc.conf</filename> para máquinas sin + disco.</para> + + <para>Los archivos <filename>README</filename> que se encuentran + dentro de <filename>/usr/share/examples/diskless</filename> + contienen mucha información de base, que junto con + el resto de ejemplos dentro del directorio + <filename>diskless</filename> sirven para documentar un + método de configuración distinto del que se + utiliza en <filename>clone_root</filename> y en los <quote> + scripts</quote> del sistema de <filename + role="directory">/etc</filename>, que resultan ser un tanto + confusos. No obstante se pueden utilizar a modo de referencia, + excepto si se prefiere utilizar el método que se describe + en ellos, en cuyo caso se necesitará modificar y + adaptar los <quote>scripts</quote> de forma adecuada.</para> + </sect4> + + <sect4> + <title>Utilización del Procedimiento Estándar de + <command>make world</command> + </title> + + <para>Este método se puede utilizar tanto en + &os; 4.X o 5.X y se instalará un sistema completamente + nuevo (no sólo el sistema de ficheros raíz) dentro de + <envar>DESTDIR</envar>. Basta con ejecutar el siguiente <quote> + script</quote>:</para> + + <programlisting>#!/bin/sh +export DESTDIR=/data/misc/diskless +mkdir -p ${DESTDIR} +cd /usr/src; make world && make kernel +cd /usr/src/etc; make distribution</programlisting> + + <para>Una vez ejecutado puede ser necesario ajustar los ficheros + <filename>/etc/rc.conf</filename> y + <filename>/etc/fstab</filename> que se encuentran en + <envar>DESTDIR</envar> de acuerdo con nuestras necesidades.</para> + </sect4> + </sect3> + + <sect3> + <title>Configuración de la Partición de + Intercambio</title> + + <para>En caso de ser necesario se puede acceder a un fichero + de intercambio (swap) a través del sistema + <acronym>NFS</acronym>. Uno de los métodos + típicamente utilizados para realizar esta tarea ha sido + retirado de la distribución 5.X.</para> + <sect4> + <title><acronym>NFS</acronym> Swap en sistemas &os; 4.X</title> + + <para>La ubicación del fichero de intercambio y su + tamaño se puede especificar con las opciones + &os;-specific 128 y 129 de BOOTP/<acronym>DHCP</acronym>. + A continuación se muestran varios ejemplos de ficheros de + de configuración para <application> + ISC DHCP 3.0</application> o + <application>bootpd</application>:</para> + + <procedure> + <step><para>Añadir las siguientes líneas al fichero + <filename>dhcpd.conf</filename>:</para> + <programlisting> +# Global section +option swap-path code 128 = string; +option swap-size code 129 = integer 32; + +host margaux { + ... # Standard lines, see above + option swap-path <replaceable>"192.168.4.4:/netswapvolume/netswap"</replaceable>; + option swap-size <replaceable>64000</replaceable>; +} + </programlisting> + + <para><literal>swap-path</literal> es la ruta al directorio donde + se instalarán los archivos de intercambio. Cada + Cada fichero se denomina + <filename>swap.<replaceable>direccion-ip-del-cliente</replaceable></filename>.</para> + + <para>Versiones más antiguas de + <application>dhcpd</application> usaban una sintáxis del + estilo de <literal>option option-128 "...</literal>, lo cual ya + no está soportado.</para> + + <para><filename>/etc/bootptab</filename> normalmente + utiliza la siguiente sintaxis:</para> + + <programlisting>T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00</programlisting> + + <note><para>El tamaño del fichero dedicado a intercambio + se debe expresar en <filename>/etc/bootptab</filename> + en formato hexadecimal.</para></note> + </step> + + <step> + <para>En el servidor de ficheros <acronym>NFS</acronym> + donde va a residir el fichero de <quote>swap</quote> se debe(n) + crear dicho(s) fichero(s)</para> + <screen> +&prompt.root; <userinput>mkdir <replaceable>/volumenintercambiored/intercambiored</replaceable></userinput> +&prompt.root; <userinput>cd <replaceable>/volumenintercambiored/intercambiored</replaceable></userinput> +&prompt.root; <userinput>dd if=/dev/zero bs=1024 count=<replaceable>64000</replaceable> of=swap.<replaceable>192.168.4.6</replaceable></userinput> +&prompt.root; <userinput>chmod 0600 swap.<replaceable>192.168.4.6</replaceable></userinput> + </screen> + <para><replaceable>192.168.4.6</replaceable> es la dirección IP del cliente sin disco.</para> + </step> + + <step> + <para>En el servidor <acronym>NFS</acronym> añadir a + <filename>/etc/exports</filename> la siguiente línea: + </para> + <programlisting> +<replaceable>/volumenintercambiored</replaceable> -maproot=0:10 -alldirs <replaceable>margaux corbieres</replaceable> + </programlisting> + <para>A continuación indicar a + <application>mountd</application> que vuelva a leer el fichero + <filename>/etc/exports</filename> como se ha indicado + anteriormente.</para> + </step> + </procedure> + </sect4> + + <sect4> + <title><acronym>NFS</acronym> Swap en &os 5.X</title> + + <para>El núcleo no soporta la activación del + intercambio a través de <acronym>NFS</acronym> en tiempo de + arranque. De esta forma la <quote>swap</quote> se debe activar + mediante los <quote>scripts</quote> montando un sistema de ficheros + de lectura-escritura y creando y activando el fichero de + intercambio. Para crear un fichero de intercambio de un + determinado tamaño se puede ejecutar lo siguiente:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/ruta/al/fichero/de/intercambio</replaceable> bs=1k count=1 oseek=<replaceable>100000</replaceable></userinput></screen> + + <para>Para activar el intercambio se tiene que añadir + la siguiente línea al fichero de configuración + <filename>rc.conf</filename>:</para> + + <programlisting>swapfile=<replaceable>/ruta/al/fichero/de/intercambio</replaceable></programlisting> + </sect4> + </sect3> + + <sect3> + <title>Cuestiones Variadas</title> + + + <sect4> + <title>Ejecución con un <filename>/usr</filename> de + sólo lectura</title> + + <indexterm> + <primary>diskless operation</primary> + <secondary>/usr read-only</secondary> + </indexterm> + + <para>Si la estación de trabajo sin disco se configura para + utilizar el sistema X-Window se tiene que ajustar el fichero de + configuración de xdm debido a que dicho fichero + sitúa por defecto el fichero de <quote>logs</quote> de + errores en el directorio <filename>/usr</filename>.</para> + </sect4> + <sect4> + <title>Utilización de un Servidor No-&os;</title> + + <para>Cuando el servidor del sistema de ficheros raíz no + ejecuta &os; se tiene que crear un sistema de ficheros + raíz sobre una máquina &os; para después + copiarlo al servidor original mediante los comandos + <command>tar</command> o <command>cpio</command>.</para> + + + <para>En esta situación algunas veces surgen varios + problemas relacionados con los dispositivos especiales que + se encuentran en el directorio + <filename>/dev</filename> debido a los diferentes + tamaños de los enteros mayor/menor. Una solución + para este problema consiste en exportar un directorio del servidor + no-&os;, montar este directorio en la máquina &os; anterior + y ejecutar <command>MAKEDEV</command> en dicha máquina para + crear las entradas de dispositivo correctas (&os; 5.0 y + posteriores utilizan &man.devfs.5; para ubicar nodos de + dispositivos de forma transparente para el usuario de tal modo que + la ejecución de <command>MAKEDEV</command> en estos + sistemas no sirve para nada).</para> + + </sect4> + + </sect3> + + </sect2> + </sect1> + + <sect1 id="network-isdn"> + <title>RDSI</title> + + <indexterm> + <primary>RDSI</primary> + </indexterm> + + <para><ulink url="http://www.alumni.caltech.edu/~dank/isdn/">la + página de RDSI de Dan Kegel</ulink> constituye un recurso de + información bastante bueno sobre la tecnología RDSI + (ISDN en inglés) y sobre el hardware relacionado.</para> + + <para>A continuación se comenta un esquema rápido sobre + RDSI:</para> + + <itemizedlist> + <listitem> + <para>Si usted vive en Europa le puede resultar útil leer la + sección sobre tarjetas RDSI.</para> + </listitem> + + <listitem> + <para>Si se prevee utilizar RDSI principalmente para conectarse a + Internet a través de un Proveedor de Servicios utilizando + un mecanismo de marcación automática no dedicado + (dial-up), se puede echar un vistazo a los Adaptadores de + Terminal. Dichos adaptadores proporciona la mayor flexibilidad y + garantiza los mínimos problemas en caso de cambio de + cambio de proveedor.</para> + </listitem> + + <listitem> + <para>Si estamos conectados a dos LAN o conectando a Internet con una + conexión RDSI dedicada puede ser interesante considerar la + opción de usar un <quote>router/bridge</quote> + único.</para> + </listitem> + </itemizedlist> + + <para>El coste es un factor importante a la hora de determinar + qué solución se debe escoger. Las siguientes opciones se + encuentran ordenadas desde las más baratas hasta las + más caras.</para> + + <sect2 id="network-isdn-cards"> + <sect2info> + <authorgroup> + <author> + <firstname>Hellmuth</firstname> + <surname>Michaelis</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect2info> + <title>Tarjetas RDSI</title> + + <indexterm> + <primary>ISDN</primary> + <secondary>cards</secondary> + </indexterm> + + <para>La implementación de RDSI que posee &os; soporta + sólamente el estandar DSS1/Q.931 (también conocido como + Euro-RDSI) utilizando tarjetas pasivas. A partir de &os; 4.4 se + soportan también algunas tarjetas activas usando firmware que + además soporta otros protocolos de señalización; + esto también sucede con la primera tarjeta RDSI de + acceso primario (PRI) soportada.</para> + + <para>El software <application>isdn4bsd</application> permite conectar + con otras pasarelas RDSI utilizando IP sobre HDLC o bien PPP + PPP síncrono: ambos mediante el uso del PPP del núcleo + con <literal>isppp</literal>, una versión modificada del + controlador &man.sppp.4; o mediante la utilización del PPP de + entorno de usuario, &man.ppp.8;. Si se utiliza &man.ppp.8; de entorno + de usuario se pueden agrupar dos o mas canales B de RDSI (channel + bonding). Existe también software que permite a una + máquina responder a llamadas de teléfono y algunas + cosas más como un modem de 300 baudios.</para> + + <para>Cada vez se soportan más tarjetas RDSI bajo &os; y los + informes existentes muestra que &os; se utiliza con dichas tarjetas de + forma satisfactoria en toda Europa y también en otras partes del + mundo.</para> + + <para>Las tarjetas RDSI pasivas soportadas en &os; son principalmente las + que poseen el chip Infineon (antiguamente Siemens) ISAC/HSCX/IPAC. + También las tarjetas RDSI con los chips de Cologne (en bus ISA + exclusivamente), tarjetas PCI con el chip Winbond W6692, algunas + tarjetas con combinaciones de los chips Tiger 300/320/ISAC y + también algunas tarjetas basadas en chips propietarios como + las AVM Fritz! PCI V.1.0 y AVM Fritz! PnP.</para> + + <para>Actualmente las tarjetas RDSI activas soportadas son las + AVM B1 (ISA y PCI) BRI, y las AVM T1 PCI PRI.</para> + + <para>Se puede consultar + <filename>/usr/share/examples/isdn/</filename> para + obtener documentación sobre + <application>isdn4bsd</application> y también + en <ulink url="http://www.freebsd-support.de/i4b/">la + página principal de isdn4bsd</ulink>, donde hay enlaces de + ayuda, erratas y mucha más información útil, + como por ejemplo el <ulink + url="http://people.FreeBSD.org/~hm/">manual de isdn4bsd</ulink>.</para> + + <para>Si se quiere añadir soporte para un protoclo RDSI distinto + para una tarjeta RDSI que no se encuentra soportada o para mejorar + <application>isdn4bsd</application> en algún aspecto por favor + póngase en contacto con &a.hm;.</para> + + <para>Para realizar consultas referentes a la instalación, + configuración y depuración de problemas relacionados con + <application>isdn4bsd</application> le recomendamos recurrir a la lista + de correo &a.isdn.name;.</para> + </sect2> + + <sect2> + <title>Adaptadores de Terminal RDSI</title> + + <para>Los Adaptadores de Terminal (TA), son para RDSI lo que los modems + son para las líneas de teléfono convencionales.</para> + + <indexterm><primary>modem</primary></indexterm> + <para>La mayor parte de los TAs utilizan el conjunto de instrucciones AT + de los modem Hayes y se pueden utilizar en lugar del modem.</para> + + <para>Un TA opera básicamente de igual forma que un modem, + diferenciándose en que las velocidades de conexión y + <quote>throughput</quote> son mucho más grandes. La + configuración de <link + linkend="ppp">PPP</link> se realiza exactamente igual que para una + configuración de modem convencional.</para> + + <indexterm><primary>PPP</primary></indexterm> + + <para>La ventaja principal de utilizar un TA para conectarse a un + proveedor de servicios de internet consiste en que se puede usar PPP + dinámico. Ya que el espacio de direcciones de IP se está + direcciones de IP se está convirtiendo cada vez + convirtiendo en un recurso cada dí más limitado y escaso + los proveedores ya no desean proporcionar direcciones IP + estáticas a sus clientes. No obstante la mayoría de los + <quote>routers standalone</quote> no son capaces de adquirir + direcciones IP dinámicas.</para> + + <para>Los TAs confían completamente en el dæmon de PPP + que se está ejecutando para proporcionar fiabilidad y + estabilidad en la conexión. De esta forma si se tiene + configurado PPP se puede migrar fácilmente de la + utilización de modems analógicos al uso de RDSI. No + obstante si existía algún problema con PPP antes de + efectuar la migración dichos problemas persistirán en + RDSI.</para> + + <para>Si se desea máxima estabilidad se puede utilizar la + opción <link linkend="ppp">PPP</link>, no el + <link linkend="userppp">PPP a nivel de usuario</link>.</para> + + <para>Se sabe que los siguientes TAs funcionan con &os;:</para> + + <itemizedlist> + <listitem> + <para>Motorola BitSurfer y Bitsurfer Pro</para> + </listitem> + + <listitem> + <para>Adtran</para> + </listitem> + </itemizedlist> + + <para>La mayoría de los demás TAs probablemente + también funcionen puesto que los fabricantes siempre tratan de + que sus productos puedan aceptar la mayoría de los comandos + AT.</para> + + <para>El problema que existe con los TAs es que, como sucede con los + modems, se necesita tener una buena tarjeta serie instalada en el + sistema.</para> + + <para>Se recomienda consultar el tutorial <ulink + url="../../articles/serial-uart/index.html">FreeBSD Serial + Hardware</ulink> para obtener una comprensión detallada del + funcionamiento de los dispositivos serie en &os; y para comprender las + diferencias entre puertos serie síncronos y + asíncronos.</para> + + <para>Un TA que se ejecuta a través de un puerto serie + (asíncrono) está limitado a 115.2 Kbs, aunque la + conexión RDSI sea de 128 Kbs. Para utilizar completamente + el ancho de banda que RDSI proporciona, se debe conectar el TA a una + tarjeta serie síncrona.</para> + + <para>No se engañe creyendo que comprando un TA interno + hará desaparecer los problemas + síncronos/asíncronos. Los TA internos simplemente + disponen de un chip de puerto serie instalado de fábrica. + Lo único que se consigue con estos dispositivos es no tener + que enchufarlos a la red elétrica ahorrando así un + enchufe y no tener que comprar un cable serie, pero los problemas + dichos anteriormente permanecen.</para> + + <para>Una tarjeta asíncrona con un TA resulta ser al menos tan + rápida como un <quote>router standalone</quote> y si &os; + controla dicha tarjeta se puede adaptar más + fácilmente.</para> + + <para>La elección de una tarjeta síncrona/TA + versus un <quote>router standalone</quote> se trata en la + mayoría de los casos de una cuestión cuasi-religiosa. + Han existido diversas discusiones sobre este tema en varias listas de + correo. Nosotros recomendamos que busque información en los + <ulink + url="http://www.freebsd.org/search/index.html"> + históricos</ulink> para para poder sopesar los pros y los + contras que se han esgrimido en tales discusiones.</para> + </sect2> + + <sect2> + <title><quote>Bridges/Routers</quote> RDSI <quote>Stand-alone</quote></title> + <indexterm> + <primary>ISDN</primary> + <secondary>stand-alone bridges/routers</secondary> + </indexterm> + <para>Los <quote>bridges</quote> o <quote>routers</quote> RDSI no son + específicos de &os; o de cualquier otro sistema operativo. + Para una descripción completa de la tecnología de + <quote>bridge</quote> y de pasarela de red por favor consulte + cualquier libro sobre redes.</para> + + <para>En el contexto de esta sección los términos + <quote>router</quote>, pasarela y <quote>bridge</quote> se + utilizarán indistintamente.</para> + + <para>Según va bajando el coste de los <quote> + routers/bridges</quote> RDSI su utilización entre el + público en general va en aumento. + Un <quote>router</quote> RDSI es una pequeña caja que se + conecta directamente a la red Ethernet local y que gestiona sus propias + conexiones con el <quote>bridge/router</quote> remoto. Posee un + software preconfigurado para comunicarse vía PPP y + tambíen utilizando otros protocolos de uso común.</para> + + <para>Un router sopota una mayor tasa de paquetes (throughput) que un + <quote>standalone TA</quote>, ya que utiliza una conexión RDSI + síncrona de forma completa.</para> + + <para>El problema principal que surge con los <quote>routers</quote> y + los <quote>bridges</quote> RDSI es que la interoperatibilidad entre + fabricantes muchas veces causa problemas. Si se está + planificando conectarse a un proveedor de servicios resulta conveniente + discutir previamente con ellos las necesidades y requisitos.</para> + + <para>Si se tiene en mente conectar dos segmentos LAN tales como su LAN + de casa y la LAN de su oficina RDSI proporciona la solución + más simple y menos costosa de gestionar. Esto es así + porque al comprar usted mismo el equipamiento necesario para ambos + extremos de la conexión tiene usted el control sobre el enlace + y puede asegurar su correcto funcionamiento.</para> + + <para>Por ejemplo, si queremos conecar una computadora casera o una + sucursal de la red de oficinas con la oficinal central, se puede + utilizar una configuración como la que se muestra a + continuación.</para> + + <example> + <title>Sucursal o Red Hogar</title> + + <indexterm><primary>10 base 2</primary></indexterm> + <para>La red utiliza una topología basada en bus con + Ethernet tipo 10 base 2 (<quote>thinnet</quote>). Se conecta, en + caso de ser necesario, el <quote>router</quote> a la red cableada + mediante un <quote>transceiver</quote> AUI/10BT.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/isdn-bus"> + </imageobject> + + <textobject> + <literallayout class="monospaced">---Estacion Sun +| +---Sistema FreeBSD +| +---Windows 95 +| +Router Stand-alone + | +ISDN BRI line</literallayout> + </textobject> + + <textobject> + <phrase>10 Base 2 Ethernet</phrase> + </textobject> + </mediaobject> + + <para>Si nuestra sucursal o red hogar está compuesta + únicamente por una computadora se puede utilizar un cable + cruzado de par trenzado para conectar con el <quote>router + standalone</quote> de forma directa.</para> + </example> + + <example> + <title>Oficina Central u Otra LAN</title> + + <indexterm><primary>10 base T</primary></indexterm> + <para>La red utiliza una topología en estrella basada en + Ethernet de 10 base T (<quote>Par Trenzado</quote>).</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/isdn-twisted-pair"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> -------Novell Server + | H | + | ---Sun + | | + | U ---FreeBSD + | | + | ---Windows 95 + | B | + |___---Stand-alone router + | + ISDN BRI line</literallayout> + </textobject> + + <textobject> + <phrase>ISDN Network Diagram</phrase> + </textobject> + </mediaobject> + </example> + + <para>Una gran ventaja que poseen la mayoría de los + <quote>routers/bridges</quote> es que pueden gestionar al mismo tiempo + dos conexiones PPP <emphasis>independientes</emphasis> destinadas a dos + organizaciones distintas. Esta funcionalidad no se proporciona en la + mayoría de los TAs, excepto para determinados modelos + (normalmente más caros) que se fabrican con dos puertos serie. + No confunda esto con la agrupación de canales, MPP, etc.</para> + + <para>Esta característica puede resultar muy útil si, por + ejemplo, se dispone de una conexión RDSI dedicada con la + oficina y queremos introducirnos en ella pero no queremos utilizar + otra línea RDSI en el trabajo. Un <quote>router</quote> situado + en las instalaciones de la oficina puede gestionar una + conexión de canal B dedicada (64 Kpbs) hacia internet y + utilizar el otro canal B como una conexión de datos + independiente. El segundo canal B se puede utilizar para + marcación remota (<quote>dial-in</quote> y <quote> + dial-out</quote>) o para agrupación dinámica de canales + (MPP, etc) en conjunción con el primer canal B con el objetivo + de obtener un mayor ancho de banda.</para> + + <indexterm><primary>IPX/SPX</primary></indexterm> + <para>Un <quote>bridge</quote> Ethernet permite transmitir más + tráfico aparte del tráfico IP. Se puede transmitir + IPX/SPX o cualquier otro protocolo que se esté utilizando.</para> + </sect2> + </sect1> + + <sect1 id="network-nis"> + <sect1info> + <authorgroup> + <author> + <firstname>Bill</firstname> + <surname>Swingle</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Eric</firstname> + <surname>Ogren</surname> + <contrib>Ampliado por </contrib> + </author> + <author> + <firstname>Udo</firstname> + <surname>Erdelhoff</surname> + </author> + </authorgroup> + </sect1info> + <title>NIS/YP</title> + + <sect2> + <title>¿Qué es esto?</title> + <indexterm><primary>NIS</primary></indexterm> + <indexterm><primary>Solaris</primary></indexterm> + <indexterm><primary>HP-UX</primary></indexterm> + <indexterm><primary>AIX</primary></indexterm> + <indexterm><primary>Linux</primary></indexterm> + <indexterm><primary>NetBSD</primary></indexterm> + <indexterm><primary>OpenBSD</primary></indexterm> + <para>NIS, siglas de Network Information Services (Servicios de + Información de Red), fué un servicio desarrollado por + Sun Microsystems para centralizar la administración de sistemas + &unix; (originalmente &sunos;). Actualmente se considera como un + estándar de la industria; los principales sistemas tipo &unix; + (&solaris;, HP-UX, &aix;, Linux, NetBSD, OpenBSD, &os;, etc) + implementan NIS.</para> + + <indexterm><primary>yellow pages</primary><see>NIS</see></indexterm> + <para>NIS también se conocía como el servicio de + páginas amarillas pero debido a problemas legales debidos a + la propiedad de marcas comerciales, Sun tuvo que cambiar el nombre. + El antíguo término (<quote>Yellow Pages</quote> o yp) + todavía se ve y se utiliza con frecuencia.</para> + + <indexterm> + <primary>NIS</primary> + <secondary>domains</secondary> + </indexterm> + <para>Se trata de un sistema cliente servidor basado en llamadas RPC que + permite a un grupo de máquinas que se encuentran definidas + dentro de un dominio administrativo NIS compartir un conjunto de + ficheros de configuración. Esto permite al administrador de + sistemas por un lado configurar clientes NIS de forma minimalista y + por otro lado centralizar la gestión de los ficheros de + configuración en una única ubicación (una sola + máquina).</para> + + <indexterm><primary>Windows NT</primary></indexterm> + <para>Se trata de algo similar al sistema de dominio de &windowsnt; + aunque la implementación interna no se puede comparar, la + funcionalidad y el servicio obtenido son similares.</para> + </sect2> + + <sect2> + <title>Términos/Procesos que Usted Debe Conocer</title> + + <para>Existen varios conceptos y varios procesos de usuario que el + usuario no versado en estos temas suele encontrarse la primera vez que + se intenta implantar un servicio de NIS en &os;, tanto si se intenta + configurar un servidor como si se intenta configurar un cliente:</para> + + <indexterm> + <primary><application>portmap</application></primary> + </indexterm> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Term</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <row> + <entry>NIS domainname</entry> + <entry>Un servidor maestro de NIS y todos sus clientes + (incluyendo a sus servidores esclavos) poseen el mismo nombre + dominio NIS. Al igual que ocurre con el nombre de dominio de + &windowsnt;, el nombre de dominio de NIS no tiene nada que ver + con el nombre de dominio de DNS.</entry> + </row> + <row> + <entry><application>portmap</application></entry> + <entry>Debe ejecutarse para que se activen las llamadas a + procedimientos remotos (Remote Procedure Call o RPC) + que son utilizadas por NIS. Si + <application>portmap</application> no se está ejecutando + no se podrá ejecutar ni clientes ni servidores de + NIS.</entry> + </row> + <row> + <entry><application>ypbind</application></entry> + + <entry><quote>Asocia</quote> un cliente con un servidor NIS. + Primeramente se lee el nombre de dominio NIS del sistema y + utilizando RPC se conecta con el servidor. + <application>ypbind</application> es la parte central de la + comunicación cliente servidor del sistema NIS; + si <application>ypbind</application> muere en una + máquina cliente, dicha máquina no podrá + acceder al servidor NIS.</entry> + </row> + <row> + <entry><application>ypserv</application></entry> + <entry>Debe ejecutarse sólamente en los servidores NIS; + se trata del proceso servidor de NIS. Si &man.ypserv.8; + muere, el servidor no será capaz de responder a + peticiones NIS (no obstante, si se definen servidores NIS + esclavos la situación puede recuperarse). Existen + algunas implementaciones de NIS (no es el caso de &os;) + que no intentan conectarse con otro servidor si el servidor + con otro servidor si el servidor que se estaba + que se estaba utilizando muere. A menudo lo único que + se puede hacer en estos casos es reiniciar el servidor (el + proceso o la propia máquina) o el proceso + <application>ypbind</application> del cliente.</entry> + </row> + <row> + <entry><application>rpc.yppasswdd</application></entry> + <entry>Otro proceso que sólo debe ejecutarse en el + servidor maestro de NIS; se trata de un dæmon que permite + a los clientes de NIS modificar las contraseñas de los + usuarios. Si no se ejecuta este dæmon los usuarios + tendrán que entrar en el servidor maestro de NIS para + cambiar sus contraseñas allí.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + <!-- XXX Missing: rpc.ypxfrd (not important, though) May only run + on the master --> + + </sect2> + + <sect2> + <title>¿Cómo Funciona?</title> + + <para>Existen tres tipos de máquinas dentro del entorno + NIS: los servidores maestros, los servidores esclavos y los clientes + de NIS. Los servidores actúan como repositorios centrales para + almacenamiento de información de configuración. + Los servidores maestros mantienen una copia maestra de dicha + información, mientras que los servidores esclavos mantienen + copias de la información maestra por motivos de redundancia. + Los servidores se encargan de transmitir la información + necesaria a los clientes a petición de estos + últimos.</para> + + <para>De esta forma se pueden compatir mucha información + contenida en varios archivos. Los ficheros <filename> + master.passwd</filename>, <filename>group</filename> y <filename> + hosts</filename> normalmente se comparten a través de NIS. + Siempre que un proceso en un cliente necesita información que, + en caso de no utilizar NIS, se podría recuperar de ficheros + locales, en este caso se envía una solicitud al servidor NIS con + el que nos encontramos asociados.</para> + + <sect3> + <title>Clases de Máquinas</title> + + <itemizedlist> + <indexterm> + <primary>NIS</primary> + <secondary>master server</secondary> + </indexterm> + <listitem> + <para><emphasis>Servidor de NIS maestro</emphasis>. + Este servidor, semejante a un controlador de dominio primario de + &windowsnt; mantiene todos los archivos que utilizan los + clientes. Los ficheros <filename>passwd</filename>, + <filename>group</filename> y algunos otros se encuentran + ubicados en el servidor maestro.</para> + + <note><para>Resulta posible configurar una máquina para que + actúe como servidor NIS maestro para más de un + dominio NIS. No obstante esta configuración no se va a + tratar en esta introducción, en la cual asumimos un + entorno NIS de tamaño relativamente + pequeño.</para></note> + </listitem> + <indexterm> + <primary>NIS</primary> + <secondary>slave server</secondary> + </indexterm> + <listitem> + <para><emphasis>Servidores de NIS esclavos</emphasis>. + Semejantes a los controladores de backup de &windowsnt;, + los servidores NIS esclavos se utilizan para proporcionar + redundancia en entornos de trabajo donde la disponibilidad del + servicio resulta muy importante. Además se utilizan para + distribuir la carga que normalmente soporta un servidor + maestro: los clientes de NIS siempre se asocian con el servidor + de NIS que posee mejor tiempo de respuesta, y esto + y esto también incluye a los servidores de NIS + esclavos.</para> + </listitem> + <indexterm> + <primary>NIS</primary> + <secondary>client</secondary> + </indexterm> + <listitem> + <para><emphasis>Clientes NIS</emphasis>. Los clientes NIS, de + forma semejante a las estaciones de trabajo de &windowsnt;, se + validan contra un servidor NIS (en el caso de &windowsnt; se + validan contra un controlador de dominio) para acceder al + sistema.</para> + </listitem> + </itemizedlist> + </sect3> + </sect2> + + <sect2> + <title>Utilización de NIS/YP</title> + + <para>Esta sección trata sobre cómo configurar y poner en + funcionamiento un entorno de NIS sencillo.</para> + + <note><para>Esta sección supone que se está utilizando + utilizando &os; 3.3 o posteriores. Las instrucciones dadas + aquí <emphasis>probablemente</emphasis> funcionen + también en cualquier versión de &os; superior a la 3.0 + pero no podemos garantizar que esto sea así.</para></note> + + <sect3> + <title>Planificación</title> + + <para>Vamos a suponer que somos el administrador de un pequeño + laboratorio de una universidad. En este laboratorio, compuesto por + 15 máquinas &os;, actualmente no existe ningún punto + de administración centralizada; cada máquina posee sus + sus propios <filename>/etc/passwd</filename> y <filename> + /etc/master.passwd</filename>. Estos ficheros se encuentran + sincronizados el uno con el otro mediante intervención + manual; por tanto, cuando queramos añadir un usuario a + nuestro laboratorio tendremos que ejecutar + <command>adduser</command> en todas las máquinas. + Claramente esta situación tiene que cambiar, de tal forma que + hemos decidido crear un dominio NIS en el laboratorio usando dos + máquinas como servidores NIS.</para> + + <para>La configuración de nuestro laboratorio debería ser + algo parecido a lo siguiente:</para> + + <informaltable> + <tgroup cols="3"> + <thead> + <row> + <entry>Nombre de máquina</entry> + <entry>Dirección IP</entry> + <entry>Papel</entry> + </row> + </thead> + <tbody> + <row> + <entry><hostid>ellington</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.2</hostid></entry> + <entry>servidor NIS maestro</entry> + </row> + <row> + <entry><hostid>coltrane</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.3</hostid></entry> + <entry>Servidor NIS esclavo</entry> + </row> + <row> + <entry><hostid>basie</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.4</hostid></entry> + <entry>Estación de trabajo del profesorado</entry> + </row> + <row> + <entry><hostid>bird</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.5</hostid></entry> + <entry>máquina cliente</entry> + </row> + <row> + <entry><hostid>cli[1-11]</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.[6-17]</hostid></entry> + <entry>Resto de máquinas clientes</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Si se está configurando un esquema de NIS por primera vez + es una buena idea detenerse a pensar cómo queremos implantar + el sistema. Existen varias decisiones que se deben tomar + independientemente del tamaño de nuestra red.</para> + + <sect4> + <title>Elección del nombre de dominio NIS</title> + + <indexterm> + <primary>NIS</primary> + <secondary>domainname</secondary> + </indexterm> + <para>Este nombre puede no ser el <quote>nombre de + dominio</quote> al que estamos acostumbrados. Resulta más + preciso llamarlo <quote>nombre de dominio NIS</quote>. + Cuando un cliente genera peticiones de NIS que llegan a todas las + máquinas (broadcast) solicitando información se + incluye el nombre de dominio NIS que tiene configurado. + De esta forma, varios servidores de dominios distintos situados en + la misma red pueden discriminar las peticiones recibidas. Se puede + pensar en el nombre de dominio NIS como un identificador de grupos + de máquinas que se encuentran relacionados + administrativamente de alguna forma.</para> + + <para>Algunas organizaciones eligen utilizar su nombre de dominio de + Internet como nombre de dominio NIS. Esto no se recomienda ya que + puede causar confusión cuando se intentan depurar problemas + de red. El nombre de dominio NIS debería ser un nombre + único dentro de nuestra red y resulta más + útil aún si el nombre elegido puede describir de + alguna forma al conjunto de máquinas que representa. + Por ejemplo el departamento de arte de la empresa Acme puede + utilizar como nombre de dominio <quote>acme-art</quote>. + En nuestro ejemplo hemos utilizado el nombre + <literal>test-domain</literal>.</para> + + <indexterm><primary>SunOS</primary></indexterm> + <para>No obstante algunos sistemas operativos (de forma + notable &sunos;) utilizan como nombres de dominio nombres de + Internet. Si se poseen máquinas con esta + restricción no queda más remedio que + <emphasis>utilizar</emphasis> los nombres de dominio de Internet + como nombres de dominio NIS.</para> + </sect4> + + <sect4> + <title>Requisitos Físicos de los Servidores</title> + + <para>Existen varias cosas que debemos tener en cuenta cuando se + selecciona una máquina para actuar como servidor NIS. + Una de las características desafortunadas del servicio de + páginas amarillas es el alto nivel de dependencia que llegan + a tener los clientes respecto del servidor de NIS. Si el cliente + no puede contactar con el servidor NIS normalmente la + máquina se queda en un estado totalmente inutilizable. + La carencia de información de usuarios y grupos provoca que + las máquinas se bloqueen. Con esto en mente debemos + debemos asegurarnos de escoger un servidor de NIS que no se + reinicie de forma habitual o uno que no se utilice para + para desarrollar. Si se dispone de una red con poca carga + puede resultar aceptable colocar el servidor de NIS en una + máquina donde se ejecuten otros servicios pero en todo + momento se debe tener presente que si por cualquier motivo el + servidor de NIS quedara inutilizable afectaría a + <emphasis>todas</emphasis> las máquinas de forma + negativa.</para> + </sect4> + </sect3> + + <sect3> + <title>Servidores NIS</title> + + <para>Las copias canónicas de toda la información que + mantiene el sistema de páginas amarillas se almacenan en una + única máquina denominada servidor maestro de NIS. + Las bases de datos utilizadas para almacenar la información + se denominan mapeos NIS. En &os; estas asociaciones o mapeos se + almacenan en el directorio <filename>/var/yp/[nombrededominio]</filename> + donde <filename>[nombrededominio]</filename> es el nombre del dominio + de NIS que el servidor gestiona. Un único servidor NIS puede + gestionar varios dominios al mismo tiempo de forma que resulta + posible tener varios directorios como el anterior, uno por cada + dominio soportado. Cada dominio posee su conjunto de mapeos + independiente y propio.</para> + + <para>Los servidores maestro y esclavos manejan todas las peticiones de + a través del dæmon <command>ypserv</command>. + El comando <command>ypserv</command> se responsabiliza de recibir + peticiones de los clientes NIS. Estas peticiones se traducen a una + ruta dentro del servidor. Esta ruta localiza un fichero de base de + datos determinado del servidor de NIS, y finalmente <command> + ypserv</command> se encarga de transmitir la información de + dicha base de datos de vuelta al cliente que la + solicitó.</para> + + <sect4> + <title>Configuración de un Servidor de NIS Maestro</title> + <indexterm> + <primary>NIS</primary> + <secondary>server configuration</secondary> + </indexterm> + <para>La configuración de un servidor de NIS maestro puede + resultar relativamente sencilla dependiendo de las necesidades que + se tengan. &os; viene preconfigurado por defecto con un servicio + NIS. Todo lo que necesitamos es añadir la siguiente + línea en <filename>/etc/rc.conf</filename> y + &os; se encarga del resto.</para> + + <procedure> + <step> + <para><programlisting>nisdomainname="test-domain"</programlisting> + Esta línea establece el nombre de dominio NIS como + <literal>test-domain</literal>, cuando se realiza la + configuración de la red (por ejemplo, después + de un reinicio).</para> + </step> + <step> + <para><programlisting>nis_server_enable="YES"</programlisting> + Esta variable indica a &os; que ejecute los procesos + necesarios para actuar como un servidor de NIS la + próxima vez que se configure el subsistema de + red.</para> + </step> + <step> + <para><programlisting>nis_yppasswdd_enable="YES"</programlisting> + Esto permite activar el dæmon + <command>rpc.yppasswdd</command> el cual, como se ha + mencionado anteriormente, permite a los usuarios realizar + cambios de contraseña desde las máquinas clientes + de NIS.</para> + </step> + </procedure> + + <note> + <para>Dependiendo de la configuración de NIS podemos + necesitar añadir algunas entradas más. Consulte + la <link + linkend="network-nis-server-is-client">sección sobre + servidores NIS que también actúan como + clientes</link>, más adelante en el texto, para saber + más sobre esto.</para> + </note> + + <para>Una vez hecho esto todo lo que tenemos que hacer es ejecutar el + comando <command>/etc/netstart</command> como superusuario. Este + comando realiza los pasos de configuración necesarios + utilizando los valores de las variables definidas en + <filename>/etc/rc.conf</filename>.</para> + </sect4> + + <sect4> + <title>Inicialización de los mapeos de NIS</title> + <indexterm> + <primary>NIS</primary> + <secondary>maps</secondary> + </indexterm> + <para>Las <emphasis>asociaciones o mapeos de NIS</emphasis> + no son más que ficheros de base de datos. + Estos ficheros se generan a partir de los ficheros de + configuración contenidos en el directorio <filename> + etc/</filename> excepto para el caso del fichero <filename> + etc/master.passwd</filename>. Esto es así por una buena + razón ya que no suele ser buena idea propagar las + contraseñas de <username>root</username> y de otras cuentas + de administración a todos los servidores NIS del dominio. + servidores NIS del dominio. Así, antes de inicializar los + mapeos se debe ejecutar:</para> + + <screen>&prompt.root; <userinput>cp /etc/master.passwd /var/yp/master.passwd</userinput> +&prompt.root; <userinput>cd /var/yp</userinput> +&prompt.root; <userinput>vi master.passwd</userinput></screen> + + <para>Se deben borrar todas las entradas que hagan referencia a + cuentas del sistema + (<username>bin</username>, <username>tty</username>, + <username>kmem</username>, <username>games</username>, + etc), junto con cualquier cuenta que no deseemos que se transmita + a los clientes NIS (por ejemplo la cuenta de <username> + root</username> y cualquier otra cuenta con UID 0 (el del + superusuario)).</para> + + <note><para>Asegúrese de que + <filename>/var/yp/master.passwd</filename> no se puede leer ni por + grupos ni por el resto de usuarios (modo 600). Utilice el + comando <command>chmod</command> en caso de necesidad.</para></note> + + <indexterm><primary>Tru64 UNIX</primary></indexterm> + <para>Una vez hecho esto es hora de inicializar las asociaciones de + NIS. &os; incluye un <quote>script</quote> denominado + <command>ypinit</command> para realizar esta tarea (consulte su + página del manual para obtener más + información). Recuerde que este <quote>script</quote> se + encuentra disponible en la mayoría de los sistemas &unix;, + pero no en todos. En sistemas Digital UNIX/Compaq Tru64 UNIX se + denomina <command>ypsetup</command>. Debido a que se pretende + generar asociaciones para un servidor NIS maestro vamos a + ejecutar <command>ypinit</command> con la opción + <option>-m</option>. A modo de ejemplo, suponiendo que todos los + pasos comentados anteriormente se han realizado con éxito, + ejecute:</para> + + <screen>ellington&prompt.root; <userinput>ypinit -m test-domain</userinput> +Server Type: MASTER Domain: test-domain +Creating an YP server will require that you answer a few questions. +Questions will all be asked at the beginning of the procedure. +Do you want this procedure to quit on non-fatal errors? [y/n: n] <userinput>n</userinput> +Ok, please remember to go back and redo manually whatever fails. +If you don't, something might not work. +At this point, we have to construct a list of this domains YP servers. +rod.darktech.org is already known as master server. +Please continue to add any slave servers, one per line. When you are +done with the list, type a <control D>. +master server : ellington +next host to add: <userinput>coltrane</userinput> +next host to add: <userinput>^D</userinput> +The current list of NIS servers looks like this: +ellington +coltrane +Is this correct? [y/n: y] <userinput>y</userinput> + +[..salida de la generacion de mapeos..] + +NIS Map update completed. +ellington has been setup as an YP master server without any errors.</screen> + + <para><command>ypinit</command> debería haber creado el + fichero <filename>/var/yp/Makefile</filename> a partir de + <filename>/var/yp/Makefile.dist</filename>. + Una vez creado este archivo presupone que se está usando un + entorno NIS con un único servidor utilizando + sólamente máquinas &os;. Debido a que + <literal>test-domain</literal> posee también un servidor + NIS esclavo se debe editar el fichero <filename> + var/yp/Makefile</filename>:</para> + + <screen>ellington&prompt.root; <userinput>vi + /var/yp/Makefile</userinput></screen> + + <para>Se debe comentar la línea que dice:</para> + + <programlisting>NOPUSH = "True"</programlisting> + + <para>(si es que no se encuentra ya comentada).</para> + </sect4> + + <sect4> + <title>Configuración de un Servidor NIS + Esclavo</title> + <indexterm> + <primary>NIS</primary> + <secondary>slave server</secondary> + </indexterm> + <para>La configuración de un servidor NIS esclavo resulta ser + incluso más sencilla que la del maestro. Basta con entrar + en el servidor esclavo y editar <filename>/etc/rc.conf</filename> + de foma semejante a como se realizó en el apartado + anterior. La única diferencia consiste en que ahora debemos + utilizar la opción <option>-s</option> cuando ejecutemos + ejecutemos <command>ypinit</command>. A continuación del + parámetro <option>-s</option> se debe especificar el nombre + del servidor maestro de modo que el comando tendría que ser + algo parecido a esto:</para> + + <screen>coltrane&prompt.root; <userinput>ypinit -s ellington test-domain</userinput> + +Server Type: SLAVE Domain: test-domain Master: ellington + +Creating an YP server will require that you answer a few questions. +Questions will all be asked at the beginning of the procedure. + +Do you want this procedure to quit on non-fatal errors? [y/n: n] <userinput>n</userinput> + +Ok, please remember to go back and redo manually whatever fails. +If you don't, something might not work. +There will be no further questions. The remainder of the procedure +should take a few minutes, to copy the databases from ellington. +Transferring netgroup... +ypxfr: Exiting: Map successfully transferred +Transferring netgroup.byuser... +ypxfr: Exiting: Map successfully transferred +Transferring netgroup.byhost... +ypxfr: Exiting: Map successfully transferred +Transferring master.passwd.byuid... +ypxfr: Exiting: Map successfully transferred +Transferring passwd.byuid... +ypxfr: Exiting: Map successfully transferred +Transferring passwd.byname... +ypxfr: Exiting: Map successfully transferred +Transferring group.bygid... +ypxfr: Exiting: Map successfully transferred +Transferring group.byname... +ypxfr: Exiting: Map successfully transferred +Transferring services.byname... +ypxfr: Exiting: Map successfully transferred +Transferring rpc.bynumber... +ypxfr: Exiting: Map successfully transferred +Transferring rpc.byname... +ypxfr: Exiting: Map successfully transferred +Transferring protocols.byname... +ypxfr: Exiting: Map successfully transferred +Transferring master.passwd.byname... +ypxfr: Exiting: Map successfully transferred +Transferring networks.byname... +ypxfr: Exiting: Map successfully transferred +Transferring networks.byaddr... +ypxfr: Exiting: Map successfully transferred +Transferring netid.byname... +ypxfr: Exiting: Map successfully transferred +Transferring hosts.byaddr... +ypxfr: Exiting: Map successfully transferred +Transferring protocols.bynumber... +ypxfr: Exiting: Map successfully transferred +Transferring ypservers... +ypxfr: Exiting: Map successfully transferred +Transferring hosts.byname... +ypxfr: Exiting: Map successfully transferred + +coltrane has been setup as an YP slave server without any errors. +Don't forget to update map ypservers on ellington.</screen> + + <para>En estos momentos debemos tener un nuevo directorio llamado + <filename>/var/yp/test-domain</filename>. Las copias de los + mapeos del servidor maestro se almacenan en dicho directorio. + Es nuestra responsabilidad como administradores asegurar que dichas + copias permanecen actualizadas en todo momento. La siguiente + entrada en el archivo <filename>/etc/crontab</filename> del + servidor esclavo se encarga de realizar esta tarea:</para> + + <programlisting>20 * * * * root /usr/libexec/ypxfr passwd.byname +21 * * * * root /usr/libexec/ypxfr passwd.byuid</programlisting> + + <para>Estas dos líneas obligan al servidor esclavo a + sincronizar los mapeos con el servidor maestro. Estas entradas no + son obligatorias ya que el servidor maestro siempre intenta + comunicar cualquier cambio que se produzca en sus asociaciones + a todos los servidores esclavos ya que la información de, + esclavos, ya que la información de, por ejemplo, + contraseñas es de vital importancia para el funcionamiento + de los sistemas que dependen del servidor. No obstante es una + buena idea obligar a que se realicen estos cambios mediante las + entradas anteriores. Esto resulta ser incluso más + importante en redes de sobrecargadas donde las actualizaciones de + asociaciones pueden algunas veces no llegar a realizarse de forma + completa.</para> + + <para>A continuación se ejecuta el comando + <command>/etc/netstart</command> en el servidor esclavo de igual + de igual forma que se hizo con el servidor maestro; esto relanza + de nuevo el servidor de NIS.</para> + </sect4> + </sect3> + + <sect3> + <title>Clientes NIS</title> + + <para>Un cliente de NIS establece lo que se conoce con el nombre de + asociación (bind en inglés) con un servidor NIS + NIS determinado utilizando el dæmon <command> + ypbind</command>. <command>ypbind</command> comprueba el dominio + por defecto del sistema (especificado mediante el comando + <command>domainname</command>) y comienza a enviar peticiones + RPC a todos los elementos de la red local (broadcast). Estas + peticiones especifican el nombre del dominio con el que se quiere + establecer la asociación. Si esta petición alcanza una + petición alcanza un servidor NIS configurado para servir dicho + dominio el servidor responde a la petición e + <command>ypbind</command> almacenará la dirección de + dicho servidor. Si existen varios servidores disponibles (un maestro + y varios esclavos, por ejemplo), <command>ypbind</command> + utilizará la dirección del primero en responder. + A partir de este punto el cliente dirigirá el resto de sus + peticiones NIS directamente a la dirección IP almacenada. + Ocasionalmente <command>ypbind</command> envía un + <quote>ping</quote> sobre el servidor para comprobar que en efecto + se encuentra funcionando. Si no se recibe contestación al + ping dentro de un espacio de tiempo determinado + <command>ypbind</command> marca el dominio como <quote>sin + asociar</quote> y comienza de nuevo a inundar la red con la esperanza + de localizar algún otro servidor NIS.</para> + + <sect4> + <title>Configuración de un cliente NIS</title> + <indexterm> + <primary>NIS</primary> + <secondary>client configuration</secondary> + </indexterm> + <para>La configuración de un cliente &os; de NIS resulta ser + una operación extremadamente sencilla.</para> + + <procedure> + <step> + <para>Editar el fichero + <filename>/etc/rc.conf</filename> y añadir las + siguientes líneas para establecer el nombre de dominio + NIS y para que se ejecute + <command>ypbind</command> al arranque de la red:</para> + + <programlisting>nisdomainname="test-domain" +nis_client_enable="YES"</programlisting> + </step> + + <step> + <para>Para importar todas las entradas de contraseñas del + servidor de NIS hay que eliminar todas las cuentas de usuario + de <filename>/etc/master.passwd</filename> y utilizar + <command>vipw</command> para añadir la siguiente + línea al final de dicho fichero:</para> + + <programlisting>+:::::::::</programlisting> + + <note> + <para>Esta línea permite que cualquiera abra una cuenta + en local, siempre que dicha cuenta se encuentre definida en + las asociaciones de cuentas y contraseñas del + servidor NIS. Existen varias formas de configurar los + clientes NIS modificando esta línea. Consulte la + <link + linkend="network-netgroups">sección sobre + netgroups</link> que se encuentra más adelante en + este mismo texto. Si quiere saber más puede consultar + el libro de O'Reilly <literal>Managing NFS and + NIS</literal>.</para> + </note> + + <note> + <para>Se debe mantener al menos una cuenta local (por ejemplo, + una cuenta que no se importe a través de NIS) en + el fichero <filename>/etc/master.passwd</filename> y + además dicha cuenta debería ser miembro del + grupo <groupname>wheel</groupname>. Si algo va mal con el + procedimiento descrito esta cuenta se puede utilizar + para entrar en la máquina cliente de forma remota + para posteriormente convertirse en superusuario e intentar + solucionar el problema.</para> + </note> + </step> + + <step> + <para>Para importar todas las entradas de grupo posibles del + servidor NIS se debe añadir la siguiente línea + al fichero <filename>/etc/group</filename>:</para> + + <programlisting>+:*::</programlisting> + </step> + </procedure> + + <para>Después de completar estos pasos deberímos ser + capaces de ejecutar <command>ypcat passwd</command> y ver la + asociación de contraseñas que se encuentra en el + servidor de NIS</para> + </sect4> + </sect3> + </sect2> + + <sect2> + <title>Seguridad en NIS</title> + + <para>En general cualquier usuario remoto puede realizar peticiones de + RPC a &man.ypserv.8; y recuperar los contenidos de las asociaciones + de NIS siempre y cuando el usuario remoto conozca el nombre de + dominio de NIS. Para evitar este tipo de transacciones no autorizadas, + &man.ypserv.8; soporta una característica denominada + <quote>securenets</quote> la cual se puede utilizar para limitar el + acceso a un determinado conjunto de máquinas. En el arranque + &man.ypserv.8; intenta cargar la información de + <quote>securenets</quote> a partir de un fichero denominado + <filename>/var/yp/securenets</filename>.</para> + + <note> + <para>Esta ruta de fichero varía dependiendo del camino + especificado con la opción <option>-p</option>. Dicho fichero + contiene entradas compuestas de, por un lado, un rango de red y por + otro una máscara de red, separados por espacios en blanco. + Las líneas que comienzan por <quote>#</quote> se consideran + comentarios. A continuación se muestra un ejemplo de un + fichero <quote>securenet</quote>:</para> + </note> + + <programlisting># admitir conexiones desde localhost -- obligatorio +127.0.0.1 255.255.255.255 +# admitir conexiones desde cualquier host +# on the 192.168.128.0 network +192.168.128.0 255.255.255.0 +# admitir conexiones desde cualquier host +# between 10.0.0.0 to 10.0.15.255 +# esto incluye las maquinas en el 'testlab' +10.0.0.0 255.255.240.0</programlisting> + + <para>Si &man.ypserv.8; recibe una petición de una + dirección que coincide con alguna de las reglas especificadas + en el fichero se procesa la petición. Si no existe ninguna + coincidencia la petición se rechaza y se graba un mensaje de + aviso. Si el archivo + <filename>/var/yp/securnets</filename> no existe + <command>ypserv</command> acepta conexiones de cualquier + máquina.</para> + + <para>El programa <command>ypserv</command> también posee soporte + para el paquete de Wietse Venema denominado <application> + tcpwrapper</application>. Este paquete permite utilizar los ficheros + de configuración de <application>tcpwrapper</application> para + realizar control de acceso en lugar de utilizar <filename> + var/yp/securenets</filename>.</para> + + <note> + <para>Aunque ambos mecanismos de control de acceso proporcionan un + grado de seguridad mayor que no utilizar nada resultan vulnerables + a ataques de <quote>falsificación de IPs</quote>. El + cortafuegos de la red donde se implanta el servicio de NIS + debería encargarse de bloquear el tráfico + específico de dicho servicio.</para> + + <para>Los servidores que utilizan + <filename>/var/yp/securenets</filename> + pueden no prestar servicio a clientes NIS legítimos cuando se + trabaja con implementaciones arcaicas de TCP/IP. Algunas de estas + implementaciones ponen a cero todos los bits de máquina + cuando se realizan broadcast y/o pueden fallar al especificar la + máscara de red en el mismo caso, por citar algunos + ejemplos. Mientras que algunos de estos problemas se pueden + solucionar variando la configuración del cliente en otros + casos podemos vernos obligados a prescindir del cliente en + cuestión o a prescindir del fichero <filename> + var/yp/securenets</filename>.</para> + + <para>Se desaconseja la utilización de <filename> + var/yp/securenets</filename> en un sistema con una + implementación arcaica de TCP/IP y puede suponer una + pérdida de funcionalidad para grandes zonas de la red.</para> + + <indexterm><primary>tcpwrapper</primary></indexterm> + <para>La utilización del paquete + <application>tcpwrapper</application> incrementa la latencia del + servidor NIS. El retardo adicional introducido puede ser lo + suficientemente grande como para causar la expiración de + ciertos temporizadores de los programas clientes, especialmente en + redes muy cargadas o con servidores de NIS lentos. Si se + experimentan estos síntomas en varias máquinas + clientes, puede ser conveniente convertir dichas máquinas + en servidores NIS esclavos y obligarlas a asociarse con ellas + mismas.</para> + </note> + </sect2> + + <sect2> + <title>Prohibir el Acceso a Determinados Usuarios</title> + + <para>En nuestro laboratorio de ejemplo existe una + máquina denominada <hostid>basie</hostid> que + actúa sólo como una estación de trabajo para el + profesorado. No queremos sacar a esta máquina del dominio NIS + pero nos damos cuenta de que el fichero <filename>passwd</filename> + que se encuentra en el servidor de NIS posee cuentas tanto para + profesores como para alumnos. ¿Qué podemos + hacer?.</para> + + <para>Existe una forma de prohibir el acceso a determinados usuarios + sobre una determinada máquina incluso aunque se encuentren dados + de alta en la base de datos de NIS. Para realizar esto todo lo que + debemos hacer es añadir + <literal>-<replaceable>nombredeusuario</replaceable></literal> al final del + fichero <filename>/etc/master.passwd</filename> en la máquina + cliente donde <replaceable>nombredeusuario</replaceable> es el nombre + de usuario del usuario al que queremos prohibirle el acceso. + Esto se debe realizar a poder ser mediante el comando + <command>vipw</command> ya que <command>vipw</command> realiza + comprobaciones de seguridad sobre los cambios realizados y + además se encarga de reconstruir la base de datos de + contraseñas cuando se termina la edición. Por ejemplo, + si quisiéramos prohibir el acceso al usuario <username> + bill</username> a la máquina <hostid>basie</hostid> + haríamos:</para> + + + <screen>basie&prompt.root; <userinput>vipw</userinput> +<userinput>[añadimos -bill al final y salimos]</userinput> +vipw: rebuilding the database... +vipw: done + +basie&prompt.root; <userinput>cat /etc/master.passwd</userinput> + +root:[password]:0:0::0:0:The super-user:/root:/bin/csh +toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh +daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin +operator:*:2:5::0:0:System &:/:/sbin/nologin +bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin +tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin +kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin +games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin +news:*:8:8::0:0:News Subsystem:/:/sbin/nologin +man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin +bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin +uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico +xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin +pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin +nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin ++::::::::: +-bill + +basie&prompt.root;</screen> + </sect2> + + <sect2 id="network-netgroups"> + <sect2info> + <authorgroup> + <author> + <firstname>Udo</firstname> + <surname>Erdelhoff</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect2info> + + <title>Utilización de Netgroups</title> + <indexterm><primary>netgroups</primary></indexterm> + + <para>El método descrito en la sección anterior funciona + razonablemente bien si las reglas especiales se definen para un + conjunto pequeño de usuarios y/o máquinas. En dominios + admnistrativos grandes puede que se nos <emphasis>olvide</emphasis> + prohibir el acceso a algún usuario en determinadas + máquinas perdiendo de esta forma el principal beneficio de + utilizar el servicio de páginas amarillas:<emphasis> + administración centralizada</emphasis>.</para> + + <para>La solución creada por los desarrolladores de NIS se + denomina <emphasis>netgroups</emphasis>. Su propósito se + asemeja al concepto de grupos utilizado por los sistemas &unix;. La + diferencia principal es la carencia de un identificador + numérico y la habilidad para definir un <quote>netgroup</quote> + que incluye tanto a cuentas de usuario como a otros + <quote>netgroups</quote>.</para> + + <para>Los netgroups se desarrollaron para gestionar redes grandes y + y complejas con cientos de usuarios y máquinas. Por un lado + esto es una Cosa Buena si nos encontramos en tal situación + pero por otro lado esta complejidad añadida hace que sea casi + imposible de explicar a través de ejemplos sencillos. El + ejemplo que va a utilizar en lo que queda de sección + ilustrará este hecho.</para> + + <para>Vamos a suponer que la exitosa introducción del servicio de + páginas amarillas en nuestro laboratorio ha llamado la + atención de nuestros jefes. Nuestra siguiente tarea consiste en + extender el dominio de NIS para que cubra otras máquinas del + campus. Las tablas que se muestran a continuación contienen los + nombres de los nuevos usuarios y máquinas junto con una breve + descripción de ellas.</para> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Nombre del Usuario/usuarios</entry> + <entry>Descripción</entry> + </row> + </thead> + + <tbody> + <row> + <entry><username>alpha</username>, <username>beta</username></entry> + <entry>Empleados normales del departamento de IT</entry> + </row> + + <row> + <entry><username>charlie</username>, <username>delta</username></entry> + <entry>Los nuevos aprendices del departamento de IT</entry> + </row> + + <row> + <entry><username>echo</username>, <username>foxtrott</username>, <username>golf</username>, ...</entry> + <entry>Empleados normales</entry> + </row> + + <row> + <entry><username>able</username>, <username>baker</username>, ...</entry> + <entry>Los actuales internos</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Nombre de la Máquina(s)</entry> + <entry>Descripción</entry> + </row> + </thead> + + <tbody> + <row> + <!-- Nombres provenientes de "Buenos Presagios" de Neil Gaiman y + Terry Pratchett. Muchas gracias por ese libro + tan brillante. --> + <!-- Nota del Revisor: No era del todo necesario traducir los + nombres de los hosts pero siendo el revisor fan convicto y + confeso de Terry Pratchett no ha habido mas remedio --> + <entry><hostid>guerra</hostid>, <hostid>muerte</hostid>, + <hostid>hambre</hostid>, + <hostid>peste</hostid></entry> + <entry>Los servidores más + importantes. Sólo los empleados de IT pueden + entrar en estas máquinas</entry> + </row> + <row> + <!-- omitimos gula porque estaba muy gorda --> + <entry><hostid>orgullo</hostid>, <hostid>avaricia</hostid>, + <hostid>envidia</hostid>, <hostid>ira</hostid>, + <hostid>lujuria</hostid>, <hostid>pereza</hostid></entry> + <entry>Servidores de menor importancia. Todos los miembros del + departamento de IT pueden entrar en ellos.</entry> + </row> + + <row> + <entry><hostid>uno</hostid>, <hostid>dos</hostid>, + <hostid>tres</hostid>, <hostid>cuatro</hostid>, + ...</entry> + <entry>Estaciones de trabajo ordinarias. Sólo los + empleados <emphasis>actuales</emphasis> pueden utilizar estas + máquinas.</entry> + </row> + + <row> + <entry><hostid>trashcan</hostid></entry> + <entry>Una máquina muy vieja sin ningún dato + dato crítico. Incluso los internos pueden utilizar + esta máquina.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Si se trata de implementar estas restricciones a nivel de usuario + particular tendríamos que añadir una línea + <literal>-<replaceable>usuario</replaceable></literal> a cada fichero + <filename>passwd</filename> del sistema para cada usuario que tuviera + prohibido el acceso a dicho sistema. Si nos olvidamos de una sola + entrada podrímos tener serios problemas. Puede ser factible + realizar esta configuración cuando se instala el servicio pero + no obstante el riesgo que corremos al mantener este sistema de + restricciones en el día día es muy alto. Después + de todo Murphy era un optimista.</para> + + <para>La gestión de esta situación mediante netgroups + ofrece varias ventajas. Cada usuario no tiene que tratarse de una + forma individualizada; basta con añadir un usuario a uno o + más netgroups y posteriormente permitir o prohibir el acceso + para todos los usuarios del netgroup. Si se añade una nueva + máquina al servicio de NIS simplemente tendremos que definir + restricciones de acceso para los netgroups definidos en la + red. Si se añade un nuevo usuario bastará con + añadir dicho usuario a un netgroup existente. Estos cambios son + independientes unos de otros: se acabó la necesidad de aplicar + la frase <quote>por cada combinación de usuario y máquina + haga esto y esto</quote>. Si hemos planificado nuestro servicio de + NIS cuidadosamente, sólo tendremos que modificar un fichero de + configuración en un determinado servidor para permitir o denegar + estos accesos.</para> + + <para>El primer paso consiste en la inicialización de la + asociación o mapeo del netgroup. El comando de &os; + &man.ypinit.8; no crea este mapeo por defecto pero una vez creado + será tenido en cuenta por la implementación de NIS. + Para crear una asociación vacía simplemente + escriba:</para> + + <screen>ellington&prompt.root; <userinput>vi /var/yp/netgroup</userinput></screen> + + <para>y comienze a añadir contenido. En nuestro ejemplo + necesitamos al menos cuatro netgroups: empleados de IT, + aprendices de IT, empleados normales e internos.</para> + + <programlisting>IT_EMP (,alpha,test-domain) (,beta,test-domain) +IT_APP (,charlie,test-domain) (,delta,test-domain) +USERS (,echo,test-domain) (,foxtrott,test-domain) \ + (,golf,test-domain) +INTERNS (,able,test-domain) (,baker,test-domain)</programlisting> + + <para><literal>IT_EMP</literal>, <literal>IT_APP</literal> etc. + son los nombres de los netgroups. Cada conjunto delimitado por + paréntesis define una o más cuentas como pertenecientes + al netgroup. Existen tres campos definidos dentro de dichos de dichos + grupos:</para> + + <orderedlist> + <listitem> + <para>El nombre de las máquinas donde los siguientes items + son aplicables. Si no se especifica un nombre de + máquina la entrada se aplica a todas las máquinas + existentes. Si se especifica una máquina determinada + entraremos en un mundo lleno de horrores y confusiones así + que mejor no hacerlo.</para> + </listitem> + + <listitem> + <para>El nombre de la cuenta que pertenece al netgroup que estamos + definiendo.</para> + </listitem> + + <listitem> + <para>El dominio NIS donde reside la cuenta. Se pueden importar + cuentas de otros dominios NIS (en caso de que usted pertenezca al + extraño grupo de personas que gestionan más de un + dominio NIS.</para> + </listitem> + </orderedlist> + + <para>Cada uno de estos campos puede contener comodines. Consulte + &man.netgroup.5; para obtener más detalles.</para> + + <note> + <indexterm><primary>netgroups</primary></indexterm> + <para>No se deben utilizar nombres de los netgroups superiores + a ocho caracteres, especialmente si las máquinas de nuestro + dominio utilizan sistemas operativos variados. Los nombres son + sensibles a las mayúsculas/minúsculas: se recomienda + utilizar nombres en mayúsculas para distinguirlos de los + usuarios o máquinas.</para> + + <para>Algunos clientes de NIS (distintos de los clientes &os;) no + pueden gestionar netgroups con un gran número de entradas. + Por ejemplo algunas versiones antiguas de &sunos; comienzan a + presentar problemas si un netgroup contiene más de + <emphasis>quince entradas</emphasis>. Se puede solventar este + problema creando varios sub-netgroups de como mucho quince usuarios + y finalmente creando el verdadero netgroup compuesto por los + sub-netgroups:</para> + + <programlisting>BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...] +BIGGRP2 (,joe16,domain) (,joe17,domain) [...] +BIGGRP3 (,joe31,domain) (,joe32,domain) +BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3</programlisting> + + <para>Se puede repetir este proceso si se tienen que definir + más de 225 usuarios dentro de un único netgroup.</para> + </note> + + <para>La activación y distribución de nuestro nuevo mapeo + NIS resulta sencillo:</para> + + <screen>ellington&prompt.root; <userinput>cd /var/yp</userinput> +ellington&prompt.root; <userinput>make</userinput></screen> + + <para>Esto genera las tres asociaciones NIS + <filename>netgroup</filename>, <filename>netgroup.byhost</filename> y + <filename>netgroup.byuser</filename>. Utilice &man.ypcat.1; para + comprobar si el nuevo mapeo NIS se encuentra disponible:</para> + + <screen>ellington&prompt.user; <userinput>ypcat -k netgroup</userinput> +ellington&prompt.user; <userinput>ypcat -k netgroup.byhost</userinput> +ellington&prompt.user; <userinput>ypcat -k netgroup.byuser</userinput></screen> + + <para>La salida del primer comando debería parecerse a los + contenidos del fichero + <filename>/var/yp/netgroup</filename>. El segundo comando no + mostrará ninguna salida salvo que se hayan especificado + netgroups específicos para máquinas. El tercer comando + se puede utilizar para obtener la lista de los netgroups a los que + petenece un determinado usuario.</para> + + <para>La configuración del cliente es bastante simple. Para + configurar el servidor <hostid>guerra</hostid> se debe ejecutar + &man.vipw.8; y sustituír la línea</para> + + <programlisting>+:::::::::</programlisting> + + <para>por</para> + + <programlisting>+@IT_EMP:::::::::</programlisting> + + <para>Ahora sólo se importan los datos para los usuarios + que se encuentren definidos en el netgroup + <literal>IT_EMP</literal>; dichos datos se importan en la base de datos + de contraseñas de <hostid>guerra</hostid> y sólo se + permite el acceso a estos usuarios.</para> + + <para>Por desgraciaesta información también se aplica a la + función <literal>~</literal> del shell y a todas las rutinas que + traducen nombres de usuarios con los correspondientes identificadores + númericos de usuario (uid). En otras palabras, el comando + <command>cd + ~</command> no va a funcionar, el comando <command>ls + -l</command> muestra el identificador numérico en lugar del + nombre de usuario y el comando <command>find . -user joe + -print</command> produce un error de <errorname> + No such user</errorname> (<quote>Usuario desconocido</quote>). Para + solucionar esto debemos importar todas las entradas de usuario en la + máquina cliente NIS pero sin permitirles el acceso.</para> + + <para>Esto se puede realizar añadiendo otra línea + al fichero <filename>/etc/master.passwd</filename>. Esta línea + debería contener lo siguiente:</para> + + <para><literal>+:::::::::/sbin/nologin</literal>, lo que significa que se + <quote>importen todas las entradas pero que se reemplace el shell por + <filename>/sbin/nologin</filename></quote>. Se puede sustituir + cualquier campo de la entrada de contraseñas especificando un + valor concreto para dicho campo en el fichero local + local <filename>/etc/master.passwd</filename>.</para> + + <!-- Been there, done that, got the scars to prove it - ue --> + <warning> + <para>Asegúrese de que la línea + <literal>+:::::::::/sbin/nologin</literal> se sitúa + después de + <literal>+@IT_EMP:::::::::</literal>. Si esto no se cumple todas las + cuentas de usuario importadas del servidor NIS poseerán + <filename>/sbin/nologin</filename> como shell de acceso.</para> + </warning> + + <para>Después de este cambio si se introduce un nuevo empleado + en el departamento de IT basta con cambiar una asociación de + NIS. Se podría aplicar una aproximación similar para los + servidores menos importantes sustituyendo la cadena + <literal>+:::::::::</literal> en las versiones locales del fichero + <filename>/etc/master.passwd</filename> por algo parecido a + esto:</para> + + <programlisting>+@IT_EMP::::::::: ++@IT_APP::::::::: ++:::::::::/sbin/nologin</programlisting> + + <para>Las líneas correspondientes para las estaciones de trabajo + normales podrían ser:</para> + + <programlisting>+@IT_EMP::::::::: ++@USERS::::::::: ++:::::::::/sbin/nologin</programlisting> + + <para>Y parece que todos nuestros problemas de gestión han + desaparecido; hasta que unas semanas más tarde se produce un + cambio en la política de gestión: el depatamento de IT + comienza a alquilar interinos. Los interinos de IT pueden utilizar + las estaciones de trabajo normales y los servidores menos importantes + y los aprendices de IT pueden acceder a los servidores principales. + No nos queda más remedio que añadir un nuevo netgroup + denominado <literal>IT_INTERN</literal> y añadir los nuevos + interinos de IT a este nuevo grupo y comenzar a cambiar la + la configuración de cada máquina, una por una... + Como dice el antiguo proverbio: <quote>Errores en la + planificación centralizada conllevan grandes quebraderos de + de cabeza globales</quote>.</para> + + <para>La habilidad que posee NIS para crear netgroups a partir de otros + netgroups se puede utilizar para evitar la situación + anterior. Una posibilidad consiste en la creación de netgroups + basados en roles. Por ejemplo, se podría crear un netgroup + denominado <literal>BIGSRV</literal> para definir las restricciones + de acceso para los servidores importantes, otro grupo denominado + <literal>USERBOX</literal> para las estaciones de trabajo... Cada uno + de estos netgroups podría contener los netgroups que pueden + acceder a dichas máquinas. Las nuevas entradas para nuestro + mapeo NIS de netgroups sería algo así:</para> + + <programlisting>BIGSRV IT_EMP IT_APP +SMALLSRV IT_EMP IT_APP ITINTERN +USERBOX IT_EMP ITINTERN USERS</programlisting> + + <para>Este método de definir restricciones de acceso funciona + razonablemente bien si podemos definir grupos de máquinas + que posean restricciones semejantes. Por desgracia lo normal es que + este caso resulta ser una excepción más que una regla. + En la mayor parte de las ocasiones necesitaremos definir restricciones + de acceso en función de máquinas individuales.</para> + + <para>Las definiciones de netgroups específicos para determinadas + máquinas constituyen el segundo método que se puede + utilizar para gestionar el cambio de política del ejemplo + que estamos explicando. En nuestro caso el fichero + <filename>/etc/master.passwd</filename> de cada máquina + contiene dos líneas que comienzan por + <quote>+</quote>. La primera de ellas añade un netgroup con las + cuentas que pueden acceder a esa máquina, mientras que la + segunda añade el resto de cuentas con shell + el resto de cuentas con shell + <filename>/sbin/nologin</filename>. Es una buena idea utilizar la + versión <quote>todo en mayúsculas</quote> del nombre de + máquina como el nombre del netgroup. En otras palabras, las + líneas deberían ser como la siguiente:</para> + + <programlisting>+@<replaceable>BOXNAME</replaceable>::::::::: ++:::::::::/sbin/nologin</programlisting> + + <para>Una vez que hemos completado esta tarea para todas las + máquinas nunca más resultará necesario modificar + las versiones locales de <filename>/etc/master.passwd</filename>. + Los futuros cambios se pueden gestionar simplemente modificando el + mapeo o asociación de NIS. A continuación se muestra un + mapeo de netgroups para el escenario que se está explicando + junto con algunas buenas ideas:</para> + + <programlisting># Definimos antes que nada los grupos de usuarios +IT_EMP (,alpha,test-domain) (,beta,test-domain) +IT_APP (,charlie,test-domain) (,delta,test-domain) +DEPT1 (,echo,test-domain) (,foxtrott,test-domain) +DEPT2 (,golf,test-domain) (,hotel,test-domain) +DEPT3 (,india,test-domain) (,juliet,test-domain) +ITINTERN (,kilo,test-domain) (,lima,test-domain) +D_INTERNS (,able,test-domain) (,baker,test-domain) +# +# Ahora definimos unos pocos grupos basados en roles +USERS DEPT1 DEPT2 DEPT3 +BIGSRV IT_EMP IT_APP +SMALLSRV IT_EMP IT_APP ITINTERN +USERBOX IT_EMP ITINTERN USERS +# +# Y un grupo para tareas especiales +# Permitimos a echo y golf acceso a nuestra maquina-anti-virus +SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain) +# +# netgroups basados en maquinas +# Nuestros servidores principales +GUERRA BIGSRV +HAMBRE BIGSRV +# El usuario india necesita acceso a este servidor +PESTE BIGSRV (,india,test-domain) +# +# Este es realmente importante y necesita mas restricciones de +# acceso +MUERTE IT_EMP +# +# La maquina-anti-virus que mencionabamos mas arriba +ONE SECURITY +# +# Restringimos una maquina a un solo usuario +TWO (,hotel,test-domain) +# [...otros grupos]</programlisting> + + <para>Si estamos utilizando algun tipo de base de datos para gestionar + cuentas de usuario debemos ser capaces de crear la primera parte del + mapeo utilizando las herramientas proporcionadas por dicho sistema + de base de datos. De este modo los nuevos usuarios tendrán + automáticamente derechos de acceso sobre las máquinas. + </para> + + <para>Una última, por precaución: puede no ser siempre + aconsejable utilizar netgroups basados en máquinas. Si se + están desplegando, por ejemplo, un par de docenas o + incluso cientos de máquinas idénticas en laboratorios + de estudiantes, es mejor utilizar netgroups basados en roles en lugar + de netgroups basados en máquinas individuales + para mantener el tamaño de la asociación NIS dentro de + unos límites razonables.</para> + </sect2> + + <sect2> + <title>Cosas Importantes para Recordar</title> + + <para>Todavía quedan un par de cosas que tendremos que hacer de + forma distinta a lo comentado hasta ahora en caso de encontrarnos + dentro de un entorno de NIS.</para> + + <itemizedlist> + <listitem> + <para>Cada vez que deseemos añadir un usuario a nuestro + laboratorio debemos añadirlo al servidor NIS maestro + <emphasis>únicamente</emphasis> y es tarea fundamental del + administrador <emphasis>acordarse de reconstruir los mapeos + NIS</emphasis>. Si nos olvidamos de esto el nuevo usuario + será incapaz de acceder a ninguna máquina excepto al + servidor NIS. Por ejemplo, si necesitáramos + añadir el nuevo usuario <username>jsmith</username> al + laboratorio tendríamos que ejecutar lo siguiente:</para> + + <screen>&prompt.root; <userinput>pw useradd jsmith</userinput> +&prompt.root; <userinput>cd /var/yp</userinput> +&prompt.root; <userinput>make test-domain</userinput></screen> + + <para>Se puede ejecutar también <command>adduser + jsmith</command> en lugar de + <command>pw useradd jsmith</command>.</para> + </listitem> + <listitem> + <para><emphasis>No introduzca las cuentas de administración + dentro de los mapeos de NIS</emphasis>. No es buena idea + propagar cuentas y contraseñas de administración a + máquinas donde residen usuarios que normalmente no + deberían poder acceder a dichas cuentas.</para> + </listitem> + <listitem> + <para><emphasis>Mantenga el servidor maestro y esclavo de NIS + seguros y minimize el tiempo de interrupción del + servicio</emphasis>. Si alguien fuera capaz de comprometer la + integridad de estas máquinas o de apagarlas los usuarios + del dominio no podrían acceder a sus cuentas en + ningún sistema.</para> + + <para>Esto es la debilidad principal de cualquier sistema de + administración centralizada. Si no se protegen los servidores + NIS tendremos frente a nosotros a una horda de usuarios bastante + enfadados.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Compatibilidad con NIS v1</title> + + <para> El servicio <application>ypserv</application> de &os; puede servir + también a clientes NIS v1. La implementación de NIS de + &os; sólo utiliza el protocolo NIS v2 aunque otras + implementaciones incluyen soporte para el protocolo v1 por razones de + compatibilidad con sistemas antiguos. Los dæmones + <application>ypbind</application> suministrados con estos sistemas + tratan de establecer una asociación con un servidor NIS + versión 1 aunque puede que nunca la lleguen a utilizar (y + pueden continuar realizando búsquedas mediante broadcast incluso + cuando reciben una respuesta de un servidor versión 2). + Tenga muy presente que mientras se soportan las llamadas normales de + clientes v1, la versión de <application>ypserv</application> + actualmente suministrada no gestiona peticiones de transferencia de + mapeos a través de la versión 1; en consecuencia no se + puede utilizar como maestro o esclavo junto con servidores de NIS + antiguos que sólo soporten el protocolo v1. Por suerte quedan + muy pocos servidores de este estilo en funcionamiento hoy en + día.</para> + + </sect2> + + <sect2 id="network-nis-server-is-client"> + <title>Servidores NIS que Actúan También Como Clientes + NIS</title> + + <para>Se debe tener cuidado cuando se ejecuta + <application>ypserv</application> en un entorno multi-servidor + donde las máquinas servidoras actúan + también como máquinas clientes de NIS. Normalmente + es una buena idea obligar a los servidores a que se asocien con + ellos mismos mejor que permitirles emitir peticiones de + asociación en broadcast, lo que posiblemente + terminará con los servidores asociados entre sí. + Se pueden producir extraños fallos si un servidor del que + dependen otros deja de funcionar. Puede darse que los contadores + de todos los clientes expiren e intenten asociarse a otro + servidor, pero el retardo puede ser considerable y los fallos + todavía podrín persistir debido a que los servidores + se asocian contínuamente los unos a los otros.</para> + + <para>Se puede obligar a una máquina a asociarse con un + servidor en particular ejecutando + <command>ypbind</command> con la opción + <option>-S</option>. Si no se quiere ejecutar esto manualmente + cada vez que se reinice el servidor NIS se puede + puede añadir la siguiente línea al fichero + <filename>/etc/rc.conf</filename>:</para> + + <programlisting>nis_client_enable="YES" # ejecuta tambien el soft cliente +nis_client_flags="-S <replaceable>NIS domain</replaceable>,<replaceable>server</replaceable>"</programlisting> + + <para>Consulte &man.ypbind.8; para obtener más información.</para> + </sect2> + + <sect2> + <title>Formatos de Contraseñas</title> + <indexterm> + <primary>NIS</primary> + <secondary>password formats</secondary> + </indexterm> + <para>Uno de los problemas más comunes que se encuentra la gente + a la hora de implantar un servicio de NIS es la compatibilidad del + formato de las contraseñas. Si nuestro servidor de NIS + utiliza contraseñas cifradas mediante DES sólo + podrá aceptar clientes que utilicen DES. Por ejemplo, si + poseemos clientes de NIS &solaris; en nuestra red casi seguro que + necesitaremos utilizar contraseñas cifradas mediante + DES.</para> + + <para>Para comprobar qué formato utilizan los servidores y los + clientes, se puede mirar en + <filename>/etc/login.conf</filename>. Si la máquina se + configura para utilizar cifrado de contraseñas mediante + DES, entonces la clase por defecto debe poseer una entrada como la + siguiente:</para> + + <programlisting>default:\ + :passwd_format=des:\ + :copyright=/etc/COPYRIGHT:\ + [Se han omitido otras entradas]</programlisting> + + <para>Otros posibles valores para característica de + <literal>passwd_format</literal> pueden ser + <literal>blf</literal> y <literal>md5</literal> (para utilizar los + algoritmos Blowfish y MD5 respectivamente).</para> + + <para>Se debe reconstruir la base de datos de acceso siempre que se + modifique el fichero + <filename>/etc/login.conf</filename> mediante la ejecución + del siguiente comando como <username>root</username>:</para> + + <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> + + <note><para>El formato de las contraseñas que ya se encuentran + definidas en <filename>/etc/master.passwd</filename> no + se actualizará hasta que el usuario cambie su + contraseña, después de que se haya reconstruido la + base de datos de tipos de acceso.</para></note> + + <para>A continuación para asegurarse de que las + contraseñas se cifran con el formato seleccionado + también debemos comprobar que la variable + <literal>crypt_default</literal> dentro del fichero + <filename>/etc/auth.conf</filename> da preferencia al formato de + contraseña elegido. Por ejemplo cuando se utilizan + contraseñas cifradas con DES la entrada debe ser:</para> + + <programlisting>crypt_default = des blf md5</programlisting> + + <para>Si se realizan los pasos anteriores en cada una de las + máquinas clientes y servidoras de nuestro entorno NIS podemos + asegurar que todas utilizan el mismo formato de contraseña + dentro de nuestra red. Si se presentan problemas de validación + con determinados usuarios en una determinada máquina cliente se + puede empezar a investigar sobre el asunto. Recuerde: si se quiere + desplegar un servicio de páginas amarillas sobre un entorno de + red heterogéneo probablemente se deba utilizar DES en todos los + sistemas puesto que DES es el mínimo común + denominador.</para> + </sect2> + </sect1> + + <sect1 id="network-dhcp"> + <sect1info> + <authorgroup> + <author> + <firstname>Greg</firstname> + <surname>Sutter</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>DHCP</title> + + <sect2> + <title>¿Qué es DHCP?</title> + <indexterm> + <primary>Dynamic Host Configuration Protocol</primary> + <see>DHCP</see> + </indexterm> + <indexterm> + <primary>Internet Software Consortium (ISC)</primary> + </indexterm> + + <para>DHCP, el Protocolo de Configuración Dinamica de + Máquinas (<quote>Dynamic Host Configuration Protocol</quote>), + especifica un método para configurar dinámicamente los + parámetros de red necesarios para que un sistema pueda + comunicarse efectivamente. &os; utiliza la implementación de + DHCP proporcionada por el Internet Software Consortium (ISC) de tal + forma que toda la información relativa a la configuración + de DHCP se basa en la distribución proporcionada por el + ISC.</para> + </sect2> + + <sect2> + <title>Qué Temas Trata Esta Seccións</title> + + <para>Esta sección describe tanto los componentes de la parte + servidora como los componentes de la parte cliente del sistema DHCP del + ISC. El programa cliente, denominado forma parte por defecto de los + sistemas &os; y el programa servidor se puede instalar a partir del + <quote>port</quote> <filename + role="package">net/isc-dhcp3-server</filename>. Las principales + fuentes de información son las páginas de manual + &man.dhclient.8;, &man.dhcp-options.5; y &man.dhclient.conf.5; junto + con las referencias que se muestran a continuación en esta misma + sección.</para> + </sect2> + + <sect2> + <title>Cómo Funciona</title> + <indexterm><primary>UDP</primary></indexterm> + <para>Cuando el cliente de DHCP, <command>dhclient</command>, se ejecuta + en una máquina cliente, valga la redundancia, comienza a enviar + peticiones <quote>broadcast</quote> solicitando información de + configuración. Por defecto estas peticiones se realizan contra + el puerto UDP 68. El servidor responde a través del puerto + UDP 67 proporcionando al cliente una dirección IP junto con + otros parámetros relevantes para el correcto funcionamiento del + sistema en la red, tales como la máscara de red, el <quote> + router</quote> por defecto y los servidores de DNS. Toda esta + información se <quote>presta</quote> y es válida + sólo durante un determinado período de tiempo + (configurado por el administrador del servidor de DHCP). De esta forma + direcciones IP asignadas a clientes que ya no se encuentran conectados + a la red pueden ser reutilizadas al pasar determinado periodo de + tiempo.</para> + + <para>Los clientes de DHCP pueden obtener una gran cantidad de + información del servidor. Se puede encontrar una lista completa + en &man.dhcp-options.5;.</para> + </sect2> + + <sect2> + <title>Integración dentro de los Sistemas &os;</title> + + <para>&os; se integra totalmente con el cliente DHCP del ISC, <command> + dhclient</command>. Este soporte se proporciona tanto en el proceso de + instalación como en la instalación por defecto del + sistema base obviando la necesidad de poseer un conocimiento detallado + de aspectos relacionados con la configuración de redes siempre y + cuando se disponga de servicio de DHCP en la red dada. El comando + <command>dhclient</command> se incluye en todas las distribuciones de + &os; desde la versión 3.2.</para> + <indexterm> + <primary><application>sysinstall</application></primary> + </indexterm> + + <para><application>sysinstall</application> soporta DHCP. Cuando se + configura la interfaz de red la primera pregunta es: <quote> + ¿Quiere intentar configurar el interfaz mediante + DHCP?</quote>. Si se responde afirmativamente se ejecutará + el comando <command>dhclient</command> y si tiene éxito se + procede con los siguientes pasos de configuración rellenandose + automáticamente las variables de arranque necesarias para + completar la configuración de la red.</para> + + <para>Existen dos cosas que se deben realizar de tal forma que nuestro + sistema utilice la configuración de red mediante DHCP al + arrancar:</para> + <indexterm> + <primary>DHCP</primary> + <secondary>requirements</secondary> + </indexterm> + <itemizedlist> + <listitem> + <para>Asegurarse de que el dispositivo <devicename> + bpf</devicename> se encuentra compilado en el kernel. Para ello + basta añadir <literal>device bpf</literal> + (<literal>pseudo-device bpf</literal> en los sistemas + &os; 4.X) al fichero de configuración del kernel y + recompilarlo e instalarlo. Para más información + sobre la construcción de núcleos consulte <xref + linkend="kernelconfig">.</para> + + <para>El dispositivo <devicename>bpf</devicename> se encuentra + activado por defecto dentro del fichero de configuración + del núcleo (<filename>GENERIC</filename> que + encontrará en su sistema &os; de forma que si no se + está utilizando un fichero de configuración del + núcleo específico (hecho a medida y/o por usted) no + es necesario crear uno nuevo y se puede utilizar directamente + <filename>GENERIC</filename>.</para> + <note> + <para>Para aquellas personas especialmente preocupadas por la + seguridad debemos advertir de que el dispositivo <devicename> + bpf</devicename> es el dispositivo que las aplicaciones de + captura de paquetes utilizan para acceder a los mismos (aunque + dichas aplicaciones deben ser ejecutadas como + <username>root</username>). DHCP + <emphasis>requiere</emphasis> la presencia de + <devicename>bpf</devicename> pero si la seguridad del sistema + es más importante que la configuración + automática de la red no se recomienda instalar + <devicename>bpf</devicename> en el núcleo.</para> + </note> + </listitem> + <listitem> + <para>Editar el fichero <filename>/etc/rc.conf</filename> para + para incluir lo siguiente:</para> + + <programlisting>ifconfig_fxp0="DHCP"</programlisting> + + <note> + <para>Asegúrese de sustituir <literal>fxp0</literal> con + el nombre de interfaz que desea que se configure + dinámicamente, como se describe en <xref + linkend="config-network-setup">.</para> + </note> + + <para>Si se utiliza una ubicación distinta para el comando + <command>dhclient</command> o si se desea añadir opciones + adicionales al comando <command>dhclient</command> se puede + incluir, adaptándolo a las condiciones particulares de + cada usuario, lo siguiente:</para> + + <programlisting>dhcp_program="/sbin/dhclient" +dhcp_flags=""</programlisting> + </listitem> + </itemizedlist> + + <indexterm> + <primary>DHCP</primary> + <secondary>server</secondary> + </indexterm> + <para>El servidor de DHCP (<application>dhcpd</application>) forma + parte del <quote>port</quote> <filename + role="package">net/isc-dhcp3-server</filename>. Este <quote> + port</quote> también contiene la documentación de ISC + DHCP.</para> + </sect2> + + <sect2> + <title>Ficheros</title> + <indexterm> + <primary>DHCP</primary> + <secondary>configuration files</secondary> + </indexterm> + <itemizedlist> + <listitem><para><filename>/etc/dhclient.conf</filename></para> + <para><command>dhclient</command> necesita un fichero de + configuración denominado + <filename>/etc/dhclient.conf</filename>. Normalmente este + fichero sólo contiene comentarios de forma que las + opciones que se definen por defecto son razonablemente + inocuas. Este fichero de configuración se describe + en la página de manual de + &man.dhclient.conf.5;.</para> + </listitem> + + <listitem><para><filename>/sbin/dhclient</filename></para> + <para><command>dhclient</command> se encuentra enlazado de + forma estática y reside en <filename>/sbin</filename>. + La página de manual de &man.dhclient.8; proporciona + más información sobre el comando + <command>dhclient</command>.</para> + </listitem> + + <listitem><para><filename>/sbin/dhclient-script</filename></para> + <para><command>dhclient-script</command> es el <quote> + script</quote> de configuración del cliente de DHCP + específico de &os;. Tiene todos los detalles en + &man.dhclient-script.8; pero no necesita hacer ninguna + modificación en él para que todo funcione + correctamente.</para> + </listitem> + + <listitem><para><filename>/var/db/dhclient.leases</filename></para> + <para>El cliente de DHCP mantiene una base de datos de + préstamos en este fichero que se escribe de forma semejante + a un <quote>log</quote>. En &man.dhclient.leases.5; puede + consultar una explicación ligeramente más + detallada.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Lecturas Recomendadas</title> + + <para>El protocolo DHCP se describe completamente en + <ulink url="http://www.freesoft.org/CIE/RFC/2131/">RFC 2131</ulink>. + También tiene más información en + <ulink url="http://www.dhcp.org/">dhcp.org</ulink>.</para> + </sect2> + + <sect2 id="network-dhcp-server"> + <title>Instalación y Configuración de un Servidor de + DHCP</title> + + <sect3> + <title>Qué Temas se Tratan en Esta Sección</title> + + <para>Esta sección proporciona información sobre + cómo configurar un sistema &os; de forma que actúe + como un servidor de DHCP utilizando la implementación + proporcionada por el Internet Software Consortium + (ISC).</para> + + <para>La parte servidora del paquete proporcionado por el ISC no + se instala por defecto en los sistemas &os; pero se puede + intalar como <quote>port</quote> desde <filename + role="package">net/isc-dhcp3-server</filename>. Consulte <xref + linkend="ports"> si necesita saber más sobre la + Colección de <quote>ports</quote>.</para> + </sect3> + + <sect3> + <title>Instalación del Servidor DHCP</title> + <indexterm> + <primary>DHCP</primary> + <secondary>installation</secondary> + </indexterm> + <para>Para configurar un sistema &os; como servidor de DHCP debe + asegurarse de que el dispositivo &man.bpf.4; está compilado + dentro del núcleo. Para ello basta añadir + <literal>device bpf</literal> (<literal> + pseudo-device bpf</literal> en &os; 4.X) al fichero de + configuración del núcleo y reconstruir el mismo. + Si necesita saber más sobre el proceso de compilar e + instalar el núcleo consulte <xref + linkend="kernelconfig">.</para> + + <para>El dispositivo <devicename>bpf</devicename> ya se encuentra + activado en el fichero de configuración + <filename>GENERIC</filename> del núcleo que se facilita + con &os; de tal forma que no resulta imprescindible crear un + núcleo a medida para ejecutar DHCP.</para> + + <note> + <para>Para aquellas personas especialmente preocupadas por la + seguridad debemos advertir de que el dispositivo + <devicename>bpf</devicename> es el dispositivo que las + aplicaciones de captura de paquetes utilizan para acceder a + los mismos (aunque dichas aplicaciones deben ser ejecutadas + como <username>root</username>). DHCP + <emphasis>requiere</emphasis> la presencia de + <devicename>bpf</devicename> pero si la seguridad del sistema + es más importante que la configuración + automática de la red no se recomienda instalar + <devicename>bpf</devicename> en el núcleo.</para> + </note> + + <para>El siguiente paso consiste en editar el fichero de ejemplo + <filename>dhcpd.conf</filename> que se crea al instalar el + <quote>port</quote> <filename + role="package">net/isc-dhcp3-server</filename>. Por defecto el + fichero se llama + <filename>/usr/local/etc/dhcpd.conf.sample</filename>, + así que se debe copiar este fichero a + <filename>/usr/local/etc/dhcpd.conf</filename> y a + continuación realizar todos los cambios sobre este + último.</para> + </sect3> + + <sect3> + <title>Configuración del Servidor de DHCP</title> + <indexterm> + <primary>DHCP</primary> + <secondary>dhcpd.conf</secondary> + </indexterm> + <para>El fichero <filename>dhcpd.conf</filename> se compone + de un conjunto de declaraciones que hacen referencia a + máquinas y a subredes. Esto se entenderá mejor + mediante el siguiente ejemplo:</para> + + <programlisting>option domain-name "ejemplo.com";<co id="domain-name"> +option domain-name-servers 192.168.4.100;<co id="domain-name-servers"> +option subnet-mask 255.255.255.0;<co id="subnet-mask"> + +default-lease-time 3600;<co id="default-lease-time"> +max-lease-time 86400;<co id="max-lease-time"> +ddns-update-style none;<co id="ddns-update-style"> + +subnet 192.168.4.0 netmask 255.255.255.0 { + range 192.168.4.129 192.168.4.254;<co id="range"> + option routers 192.168.4.1;<co id="routers"> +} + +host mailhost { + hardware ethernet 02:03:04:05:06:07;<co id="hardware"> + fixed-address mailhost.ejemplo.com;<co id="fixed-address"> +}</programlisting> + + <calloutlist> + <callout arearefs="domain-name"> + <para>Esta opción especifica el dominio que se proporciona + a los clientes y que dichos clientes utilizan como dominio de + búsqueda por defecto. Consulte &man.resolv.conf.5; + si necesita más información sobre qué + significa el dominio de búsqueda.</para> + </callout> + + <callout arearefs="domain-name-servers"> + <para>Esta opción especifica la lista de servidores de DNS + (seperados por comas) que deben utilizar los clientes.</para> + </callout> + + <callout arearefs="subnet-mask"> + <para>La máscara de red que se proporciona a los clientes.</para> + </callout> + + <callout arearefs="default-lease-time"> + <para>Un cliente puede solicitar un determinado tiempo de vida + para el préstamo. En caso contrario el servidor asigna + un tiempo de vida por defecto mediante este valor (expresado en + segundos).</para> + </callout> + + <callout arearefs="max-lease-time"> + <para>Este es el máximo tiempo que el servidor puede + utilizar para realizar préstamos a los clientes. Si un + cliente solicita un tiempo mayor como máximo se + responderá con el valor aquí configurado, + ignorándose la petición de tiempo del + cliente.</para> + </callout> + + <callout arearefs="ddns-update-style"> + <para>Esta opción especifica si el servidor de DHCP debe + intentar actualizar el servidor de DNS cuando se acepta o se + libera un préstamo. En la implementación + proporcionada por el ISC esta opción es + <emphasis>obligatoria</emphasis>.</para> + </callout> + + <callout arearefs="range"> + <para>Esto indica qué direcciones IP se pueden utilizar + para ser prestadas a los clientes que las soliciten. Las + direcciones IP pertenecientes a este rango, incluyendo los + extremos, se pueden entregar a los clientes.</para> + </callout> + + <callout arearefs="routers"> + <para>Declara cúal es la pasarela por defecto que se + proporcionará a los clientes.</para> + </callout> + + <callout arearefs="hardware"> + <para>Especifica la dirección MAC de una máquina, + de tal forma que el servidor de DHCP pueda identificar a la + máquina cuando realice una petición.</para> + </callout> + + <callout arearefs="fixed-address"> + <para>Especifica que la máquina cliente debería + obtener siempre la misma dirección IP. Recuerde + que se puede utilizar un nombre de máquina para esto + ya que el servidor de DHCP resolverá el nombre por + sí mismo antes de devolver la información al + cliente.</para> + </callout> + </calloutlist> + + <para>Una vez que se ha acabado de configurar el fichero + <filename>dhcpd.conf</filename> se puede proceder con la + ejecución del servidor mediante el siguiente + comando:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/isc-dhcpd.sh start</userinput></screen> + + <para>Si posteriormente se necesitan realizar cambios en la + configuración anterior tenga en cuenta que el envío + de la señál <literal>SIGHUP</literal> a la + aplicación <application>dhcpd</application> + <emphasis>no</emphasis> provoca que se lea de nuevo la + configuración como suele ocurrir en la mayoría de + los dæmones. Tendrá que enviar la señal + <literal>SIGTERM</literal> para parar el proceso y + posteriormente relanzar el dæmon utilizando el comando + anterior.</para> + </sect3> + + <sect3> + <title>Ficheros</title> + <indexterm> + <primary>DHCP</primary> + <secondary>configuration files</secondary> + </indexterm> + <itemizedlist> + <listitem><para><filename>/usr/local/sbin/dhcpd</filename></para> + <para><application>dhcpd</application> se encuentra + enlazado de forma estática y reside en el directorio + <filename>/usr/local/sbin</filename>. La página de + manual &man.dhcpd.8; que se instala con el <quote>port</quote> + le proporcionará más información sobre + <application>dhcpd</application>.</para> + </listitem> + + <listitem><para><filename>/usr/local/etc/dhcpd.conf</filename></para> + <para><application>dhcpd</application> necesita un fichero de + configuración, <filename> + /usr/local/etc/dhcpd.conf</filename>. Este fichero contiene + toda la información relevante que se quiere proporcionar + a los clientes que la soliciten, junto con información + relacionada con el funcionamiento del servidor. Este fichero + de configuración se describe en la página del + manual &man.dhcpd.conf.5; que instala el <quote> + port</quote>.</para> + </listitem> + + <listitem><para><filename>/var/db/dhcpd.leases</filename></para> + <para>El servidor de DHCP mantiene una base de datos de + préstamos o alquileres dentro de este fichero, que + presenta un formato de fichero de <quote>log</quote>. La + página del manual &man.dhcpd.leases.5; que se + instala con el <quote>port</quote> proporciona una + descripción ligeramente más larga.</para> + </listitem> + + <listitem><para><filename>/usr/local/sbin/dhcrelay</filename></para> + <para><application>dhcrelay</application> se utiliza en + entornos de red avanzados donde un servidor de DHCP + reenvía una petición de un cliente hacia otro + servidor de DHCP que se encuentra localizado en otra subred. + Si se necesita esta funcionalidad se debe instalar el + <quote>port</quote> <filename + role="package">net/isc-dhcp3-server</filename>. La + página del manual &man.dhcrelay.8; proporcionada por + el <quote>port</quote> contiene más detalles sobre + esto.</para> + </listitem> + </itemizedlist> + </sect3> + + </sect2> + + </sect1> + + <sect1 id="network-dns"> + <sect1info> + <authorgroup> + <author> + <firstname>Chern</firstname> + <surname>Lee</surname> + <contrib>Enviado por </contrib> + </author> + </authorgroup> + </sect1info> + <title>DNS</title> + + <sect2> + <title>Resumen</title> + <indexterm><primary>BIND</primary></indexterm> + + <para>FreeBSD utiliza por defecto una versión de BIND (Berkeley + Internet Name Domain) que proporciona la implementación + más común del protocolo de DNS. DNS es el protocolo a + través del cual los nombres de máquinas se asocian con + direcciones IP y viceversa. Por ejemplo una consulta preguntando por + <hostid>www.FreeBSD.org</hostid> recibe una respuesta con la + dirección IP del servidor web del Proyecto FreeBSD, mientras que + una pregunta sobre <hostid>ftp.FreeBSD.org</hostid> recibe como + respuesta la dirección IP correspondiente al servidor de FTP. + El proceso inverso sucede de una forma similar. Una pregunta + relativa a una determinada dirección IP se resuelve al nombre de + la máquina que la posee. No se necesita ejecutar un servidor de + DNS para poder realizar consultas y búsquedas de DNS.</para> + + <indexterm><primary>DNS</primary></indexterm> + <para>El DNS se coordina de forma distribuida a través de + Internet utilizando un sistema en cierta forma complejo de servidores + de nombres raíz autorizados y mediante otros servidores de + nombres de menor escala que se encargan de replicar la + información de dominios individuales con el objetivo de mejorar + los tiempos de respuesta de búsquedas reiteradas de la misma + información.</para> + + <para> + Este documento hace referencia a la versión estable BIND 8.X. + BIND 9.X se puede instalar a través del <quote>port</quote> + <filename role="package">net/bind9</filename>.</para> + + <para> + El protocolo de DNS se encuentra definido en la RFC1034 y la RFC1035. + </para> + + <para> + El <ulink url="http://www.isc.org/"> + Internet Software Consortium (www.isc.org)</ulink> se encarga de + de mantener el software de BIND. + </para> + </sect2> + + <sect2> + <title>Terminología</title> + + <para>Para comprender este documento se deben definir los siguientes + términos:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Término</entry> + <entry>Definición</entry> + </row> + </thead> + + <tbody> + <row> + <entry>DNS directo (Forward DNS)</entry> + <entry>Asociación de nombres de máquinas con + direcciones IP</entry> + </row> + + <row> + <entry>Origen</entry> + <entry>Se refiere al dominio cubierto por un determinado fichero + de zona</entry> + </row> + + <row> + <entry><application>named</application>, BIND, servidor + de nombres (name server)</entry> + <entry>Nombres típicos que hacen referencia al paquete + servidor de nombres de BIND de &os;</entry> + </row> + + <indexterm><primary>resolver</primary></indexterm> + <row> + <entry>Resolver</entry> + <entry>Un proceso del sistema que utilizan las aplicaciones para + hacer preguntas al servidor de nombres.</entry> + </row> + + <indexterm><primary>reverse DNS</primary></indexterm> + <row> + <entry>DNS inverso (Reverse DNS)</entry> + <entry>Lo contrario de lo que realiza el DNS directo; + asocia direcciones IP con nombres de máquinas</entry> + </row> + + <indexterm><primary>root zone</primary></indexterm> + <row> + <entry>Zona Raíz</entry> + + <entry>El comienzo de la jerarquía de zonas de Internet. + Todas las zonas surgen a partir de una zona raíz de + forma similar a como todos los directorios de un sistema de + ficheros se encuentran a partir de un directorio raíz + inicial.</entry> + </row> + + <row> + <entry>Zona</entry> + <entry>Un dominio individual, subdominio o porción del + DNS que se encuentra administrado por la misma autoridad.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <indexterm> + <primary>zones</primary> + <secondary>examples</secondary> + </indexterm> + + <para>Ejemplos de zonas: + </para> + <itemizedlist> + <listitem> + <para><hostid>.</hostid> es la zona raíz</para> + </listitem> + <listitem> + <para><hostid>org.</hostid> es una zona localizada bajo la zona + raíz</para> + </listitem> + <listitem> + <para><hostid>ejemplo.org</hostid> es una zona localizada bajo la + zona <hostid>org.</hostid></para> + </listitem> + <listitem> + <para><hostid>foo.ejemplo.org.</hostid> es un subdominio o una zona + ubicada bajo la zona <hostid>ejemplo.org.</hostid></para> + </listitem> + <listitem> + <para> + <hostid>1.2.3.in-addr.arpa</hostid> es una zona que referencia a + a todas las direcciones IP que se encuentran dentro del espacio de + direcciones de 3.2.1.*.</para> + </listitem> + </itemizedlist> + + <para>Como se puede observar la parte más específica de una + máquina aparece más a la izquierda. Por ejemplo + <hostid>ejemplo.org</hostid> es más específico que + <hostid>org.</hostid> y del mismo modo <hostid>org.</hostid> es + más específico que la zona raíz. El formato de + cada parte del nombre de la máquina es muy similar al formato + de un sistema de ficheros: el directorio + <filename>/dev</filename> se encuentra dentro del directorio + raíz, y así sucesivamente.</para> + </sect2> + + <sect2> + <title>Razones para Ejecutar un Servidor de Nombres</title> + + <para>Los servidores de nombres normalmente son de dos tipos: + autoritarios y de cache.</para> + + <para>Se necesita un servidor de nombres autoritario cuando:</para> + + <itemizedlist> + <listitem> + <para>uno quiere proporcionar información de DNS al resto del + mundo respondiendo con información autoritaria a las + consultas recibidas.</para> + </listitem> + <listitem> + <para>un dominio, por ejemplo + <hostid>ejemplo.org</hostid>, está registrado y se + necesita añadir nombres de máquinas bajo dicho + dominio.</para> + </listitem> + <listitem> + <para>un bloque de direcciones IP necesita entradas de DNS inversas + (de IP a nombre de máquina).</para> + </listitem> + <listitem> + <para>un servidor de nombres de <quote>backup</quote>, llamado + esclavo, debe responder a consultas cuando el servidor primario se + encuentre caído o inaccesible.</para> + </listitem> + </itemizedlist> + + <para>Se necesita un servidor caché cuando:</para> + + <itemizedlist> + <listitem> + <para>un servidor de DNS local puede responder más + rápidamente de lo que se haría si se tuviera que + preguntar al servidor de nombres externo.</para> + </listitem> + <listitem> + <para>se desea reducir el tráfico global de red (se ha + llegado a comprobar que el tráfico de DNS supone un 5% o + más del total del tráfico que circula por + Internet).</para> + </listitem> + </itemizedlist> + + <para>Cuando se pregunta por <hostid>www.FreeBSD.org</hostid> el <quote> + resolver</quote> normalmente pregunta al servidor de nombres del ISP + de nivel superior y se encarga de recibir la respuesta. Si se utiliza + un servidor de DNS caché local la pregunta sólo se dirige + una única vez hacia el exterior. Dicha pregunta la realiza el + servidor caché. Posteriores consultas sobre el mismo nombres + son respondidas directamente por este servidor.</para> + + </sect2> + + <sect2> + <title>Cómo Funciona</title> + <para>En &os; el dæmon de BIND se denomina + <application>named</application> por razones obvias.</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Fichero</entry> + <entry>Descripción</entry> + </row> + </thead> + + <tbody> + <row> + <entry><application>named</application></entry> + <entry>El dæmon de BIND</entry> + </row> + + <row> + <entry><command>ndc</command></entry> + <entry>El programa de control del dæmon</entry> + </row> + + <row> + <entry><filename>/etc/namedb</filename></entry> + <entry>El directorio donde se almacena la información de + las zonas de BIND</entry> + </row> + + <row> + <entry><filename>/etc/namedb/named.conf</filename></entry> + <entry>El archivo de configuración del dæmon</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para> + Los ficheros de zonas se encuentran normalmente bajo el directorio + <filename>/etc/namedb</filename> y contienen la información + que proporciona el servidor de nombres al resto de máquinas de + Internet. + </para> + </sect2> + + <sect2> + <title>Ejecución de BIND</title> + <indexterm> + <primary>BIND</primary> + <secondary>starting</secondary> + </indexterm> + <para> + Debido a que BIND se instala por defecto la configuración + resulta ser bastante sencilla. + </para> + <para> + Para asegurarnos de que el dæmon se ejecuta al inicio del + sistema se deben añadir las siguientes modificaciones en + <filename>/etc/rc.conf</filename>: + </para> + <programlisting>named_enable="YES"</programlisting> + <para>Para arrancar el dæmon de forma manual (una vez + configurado)</para> + <screen>&prompt.root; <userinput>ndc start</userinput></screen> + </sect2> + + <sect2> + <title>Ficheros de Configuración</title> + <indexterm> + <primary>BIND</primary> + <secondary>configuration files</secondary> + </indexterm> + <sect3> + <title>Uso de <command>make-localhost</command></title> + <para>Asegúrese de hacer los siguiente + </para> + <screen>&prompt.root; <userinput>cd /etc/namedb</userinput> +&prompt.root; <userinput>sh make-localhost</userinput></screen> + <para>para que se cree el archivo de zona inversa + <filename>/etc/namedb/localhost.rev</filename> de forma apropiada. + </para> + </sect3> + + <sect3> + <title><filename>/etc/namedb/named.conf</filename></title> + + <programlisting>// $FreeBSD$ +// +// Consulte la página man de named(8) para más detalles. tiene +// alguna vez la necesidad de configurar un servidor primario +// asegúree de que entiende a la perfección los detalles peliagudos +// del funcionamiento del DNS. Si hay errores, incluso triviales, +// puede sufrir pérdidas de conectividad ogenerar cantidades ingentes +// de tráfico inútil hacia o desde Interne + +options { + directory "/etc/namedb"; + +// Además de con la láusula "forwarders" puedeobligar a su servidor +// de nombres a que nunca lance búsquedas por su cuenta sino que +// se las pida a sus "forwarders". Esto se hace del siguiente modo: +// +// forward only; + +// Si su proveedor de acceso tiene a su alcance un servidor DNS +// escriba aquà su dirección IP y descomente la lÃneaPodrá usar +// su caché y por lo tanto reducir el tráfico DNS de Internet. +// + +/* + forwarders { + 127.0.0.1; + }; +*/</programlisting> + + <para> + Tal y como se dice en los comentarios del ejemplo para beneficiarnos + de la caché se puede activar <literal>forwarders</literal>. + En circunstancias normales un servidor de nombres busca de forma + recursiva a través de Internet tratando de localizar un + servidor de nombres que sea capaz de responder una determinada + pregunta. Si se activa esta opción por defecto se pasa a + preguntar primero al servidor de nombres especificado (servidor o + servidores) pudiendo aprovecharse de la información de + caché que dicho servidor tuviera disponible. Si el servidor + de nivel superior al nuestro se encuentra congestionado puede + merecer la pena la activación de esta característica de + <quote>redirección</quote> ya que se puede disminuir la carga + de tráfico que dicho servidor tiene que soportar.</para> + + <warning><para>La dirección IP <hostid + role="ipaddr">127.0.0.1</hostid> <emphasis>no</emphasis> funciona + aí. Se debe cambiar esta dirección IP por un + servidor de nombres válido.</para> + </warning> + + <programlisting> /* + * Si hay un cortafuegos entre usted y los servidores de + * nombres que quiere consultar tendrá que descoentar la + * siguiente directiva, "query-source". Las versiones + * anteriores de BIND siempre hacÃan sus consultas a través + * del puerto 53 pero BIND 8.1 utiliza por defecto un puerto no + * privilegiado. + */ + // query-source address * port 53; + + /* + * Si lo va a ejecutar en un "cajón de arena" (o "sandbox") + * tendrá que declarar una uicación diferente para el + * fichero de volcado de named. + */ + // dump-file "s/named_dump.db"; +}; + +// Nota: lo siguiente será incluÃdo en futuras versiones. +/* +host { any; } { + topology { + 127.0.0.0/8; + }; +}; +*/ + +// La configuración de secundarios se explica de modo secillo a +// partir de aquÃ. +// +// Si activa un servidor de nombres local no olvide incluÃr +// 127.0.0.1 en su /etc/resolv.conf para que sea ese servidor el +// primero al que se consulte. +// Asegúrese también de activarlo en /etc/rc.con + +zone "." { + type hint; + file "named.root"; +}; + +zone "0.0.127.IN-ADDR.ARPA" { + type master; + file "localhost.rev"; +}; + +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.IP6.INT" { + type master; + file "localhost.rev"; +}; + +// Nota: No use las direcciones IP que se muestran aquÃ, son falsas +// y sólo se usancomo demostración y para una mejor comprensión. +// +// Ejemplo de entradas en la configuración de secundarios. Puede ser +// conveniente convertirse en secundario al menos del dominio en cuya +// zona está su dominio. Cnsulte con su administrador de red para +// que le facilite la dirección IP del servidor primario. +// +// No olvide incluÃr la zona del bucle inverso (IN-ADDR.ARPA). (Son +// los primeros bytes de la dirección IP correspondiente, en orden +// inverso, con ".IN-ADDR.ARPA" al final.) +// +// Antes de configurar una zona primara asegúresede haber comprendido +// completamente cómo funcionan DNS y BIND. Hay errores que no son +// visibles fácilmente. La configuración de un secundario es, por +// el contrario, muchÃsimo más sencilla. +// +// Nota: No se limite a copiar los ejemplos de más arriba. :-) +// Utilice nombres y direcciones reales. +// +// ADVERTENCIA: FreeBSD ejecuta bind en un sandbok (observe los +// parámeros de named (named_flags) en rc.conf). El directorio que +// contiene las zonas secundarias debe tener permisos de escritura +// para bind. Le sugerimos la siguiente secuencia de comandos: +// +// mkdir /etc/namedb/s +// chown bind:bind /etc/namedb/s +// chmod 750 /etc/namedb/s</programlisting> + + <para>Si quiere más información sobre cómo + ejecutar BIND en un <quote>sandbox</quote> consulte + <link linkend="network-named-sandbox">Ejecución de named en + un sandbox</link>. + </para> + + <programlisting>/* +zone "ejemplo.com" { + type slave; + file "s/ejemplo.com.bak"; + masters { + 192.168.1.1; + }; +}; + +zone "0.168.192.in-addr.arpa" { + type slave; + file "s/0.168.192.in-addr.arpa.bak"; + masters { + 192.168.1.1; + }; +}; +*/</programlisting> + <para>Dentro del fichero <filename>named.conf</filename> se muestran + ejemplos de entradas de esclavo tanto para las zonas directas como + para las inversas.</para> + + <para>Para cada nueva zona administrada se debe crear una entrada de + zona dentro del fichero + <filename>named.conf</filename></para> + + <para>Por ejemplo la entrada de zona más simple para el dominio + <hostid role="domainname">ejemplo.org</hostid> puede ser algo como + esto:</para> + + <programlisting>zone "ejemplo.org" { + type master; + file "ejemplo.org"; +};</programlisting> + + <para>Esta zona es una zona maestra ( observe la línea de + <option>type</option>, y mantiene la información de la zona en + <filename>/etc/namedb/ejemplo.org</filename> tal como se indica en la + línea de <option>file</option>.</para> + + <programlisting>zone "ejemplo.org" { + type slave; + file "ejemplo.org"; +};</programlisting> + + <para>En el caso del esclavo la información de la zona se + transmite desde el servidor de nombres maestro y se almacena en el + fichero especificado. Cuando el servidor maestro <quote> + muere</quote> o no puede ser alcanzado el servidor de nombres esclavo + puede responder a las peticiones debido a que posee la + información de la zona.</para> + </sect3> + + <sect3> + <title>Ficheros de Zona</title> + <para> + A continuación se muestra un fichero de una zona maestra para + el dominio <hostid>ejemplo.org</hostid>, que se encuentra ubicado en + <filename>/etc/namedb/ejemplo.org</filename>:</para> + + <programlisting>$TTL 3600 + +example.org. IN SOA ns1.ejemplo.org. admin.ejemplo.org. ( + 5 ; Serial + 10800 ; Refresh + 3600 ; Retry + 604800 ; Expire + 86400 ) ; Minimum TTL + +; DNS Servers +@ IN NS ns1.ejemplo.org. +@ IN NS ns2.ejemplo.org. + +; Machine Names +localhost IN A 127.0.0.1 +ns1 IN A 3.2.1.2 +ns2 IN A 3.2.1.3 +mail IN A 3.2.1.10 +@ IN A 3.2.1.30 + +; Aliases +www IN CNAME @ + +; MX Record +@ IN MX 10 mail.ejemplo.org.</programlisting> + + <para> + Tenga muy en cuenta que todo nombre de máquina que termina en + <quote>.</quote> es tratado como si fuera un nombre de + máquina completo mientras que cualquier otro nombre sin el + <quote>.</quote> final se trata como una referencia relativa al + dominio de origen de la zona. Por ejemplo <literal>www</literal> se + traduce a <literal>www + origen</literal>. En nuestro fichero de + zona ficticio nuestro origen es <hostid>ejemplo.org</hostid> de forma + que <literal>www</literal> se convierte en <hostid> + www.ejemplo.org</hostid> + </para> + + <para> + El formato de un fichero de zona es el siguiente: + </para> + <programlisting>nombrederegistro IN tipodeentrada valor</programlisting> + + <indexterm> + <primary>DNS</primary> + <secondary>records</secondary> + </indexterm> + <para> + Los registros de DNS que más se utilizan son: + </para> + + <variablelist> + <varlistentry> + <term>SOA</term> + + <listitem><para>Comienzo de Zona con Autoridad (Start Of zone Authority)</para></listitem> + </varlistentry> + + <varlistentry> + <term>NS</term> + + <listitem><para>Un servidor de nombres con autoridad para una + una determinada zona</para></listitem> + </varlistentry> + + <varlistentry> + <term>A</term> + + <listitem><para>Una dirección IP de una máquina</para></listitem> + </varlistentry> + + <varlistentry> + <term>CNAME</term> + + <listitem><para>El nombre canónico de una máquina para definir un alias</para></listitem> + </varlistentry> + + <varlistentry> + <term>MX</term> + + <listitem><para>mail exchanger</para></listitem> + </varlistentry> + + <varlistentry> + <term>PTR</term> + + <listitem><para>Un puntero a un nombre de dominio (utilizados para + definir el DNS inverso) + </para></listitem> + </varlistentry> + </variablelist> + + <programlisting> +ejemplo.org. IN SOA ns1.ejemplo.org. admin.ejemplo.org. ( + 5 ; Serial + 10800 ; Refresh after 3 hours + 3600 ; Retry after 1 hour + 604800 ; Expire after 1 week + 86400 ) ; Minimum TTL of 1 day</programlisting> + + + + <variablelist> + <varlistentry> + <term><hostid>ejemplo.org.</hostid></term> + + <listitem><para>el nomre de dominio, también el origen para + el fichero de zona</para></listitem> + </varlistentry> + + <varlistentry> + <term><hostid>ns1.ejemplo.org.</hostid></term> + + <listitem><para>el servidor de nombres + primario/autoritario para esta zona</para></listitem> + </varlistentry> + + <varlistentry> + <term><literal>admin.ejemplo.org.</literal></term> + + <listitem><para>la persona responsable de esta zona; observe que + la dirección de correo electrónico aparece con la @ + sustituida por un punto. (<email>admin@ejemplo.org</email> se + escribe <literal>admin.ejemplo.org</literal>)</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>5</literal></term> + + <listitem><para>el número de serie del fichero. Este + número se debe incrementar cada vez que se modifique + el fichero de zona. Muchos administradores prefieren un + formato expresado del siguiente modo <literal> + aaaammddss</literal>. 2001041002 significa (según dicho + formato) que el fichero se modificó por última + vez el 04/10/2001 y se indica con los dos últimos + dígitos (02) que es la segunda vez en el día que + se ha modificado el fichero. El número de serie es + importante ya que para avisar a los servidores de nombres + esclavos de que se ha actualizado la zona.</para> + </listitem> + </varlistentry> + </variablelist> + + <programlisting> +@ IN NS ns1.ejemplo.org.</programlisting> + + <para> + Esta es una entrada de tipo <varname>NS</varname>. Cada servidor de + nombres que contesta de forma autoritaria a las consultas de un + determinado dominio debe tener una de estas entradas. El caracter + <literal>@</literal> se sustituye por <hostid + role="domainname">ejemplo.org.</hostid>, es decir, se sustituye + por el origen. + </para> + + <programlisting> +localhost IN A 127.0.0.1 +ns1 IN A 3.2.1.2 +ns2 IN A 3.2.1.3 +mail IN A 3.2.1.10 +@ IN A 3.2.1.30</programlisting> + + <para> + El registro de tipo A hace referencia a nombres de máquinas . + Como puede verse más arriba <hostid> + ns1.ejemplo.org</hostid> se resuelve a <hostid + role="ipaddr">3.2.1.2</hostid>. Vemos que se utiliza otra vez el + origen <literal>@</literal>, que significa que <hostid> + ejemplo.org</hostid> se resuelve a <hostid + role="ipaddr">3.2.1.30</hostid>. + </para> + + <programlisting> +www IN CNAME @</programlisting> + + <para> + Los registros de nombres canónicos se utilizan normalmente + como alias de máquinas. En el ejemplo + <hostid>www</hostid> es un alias de <hostid>ejemplo.org</hostid> + (<hostid role="ipaddr">3.2.1.30</hostid>). + <varname>CNAME</varname>s se puede utilizar para proporcionar alias + de nombres de máquinas, o también para proporcionar un + mecanismo de vuelta cíclica (<quote>round robin</quote>) + de un nombre de máquina mapeado a un determinado conjunto de + máquinas intercambiables.</para> + <indexterm> + <primary>MX record</primary> + </indexterm> + + <programlisting> +@ IN MX 10 mail.ejemplo.org.</programlisting> + + <para> + El registro <varname>MX</varname> indica qué servidores de + correo se encargan de recibir correos para esta zona. + <hostid role="fqdn">mail.example.org</hostid> es el nombre del + servidor de correo y 10 significa la prioridad de dicho + servidor. + </para> + + <para> + Se pueden especificar varios servidores de correo con prioridades de, + por ejemplo,3, 2 y 1. Un servidor de correo que intenta entregar + correo para el dominio <hostid + role="domainname">ejemplo.org</hostid> primero intentará + contactar con el servidor especificado en el registro MX de mayor + prioridad, después con el siguiente y así sucesivamente + hasta que lo logre entregar. + </para> + + <para> + Para los ficheros de zona de in-addr.arpa (DNS inverso) se utiliza + el mismo formato excepto que se especifican registros + <varname>PTR</varname> en lugar de registros + <varname>A</varname> o <varname>CNAME</varname>. + </para> + + <programlisting>$TTL 3600 + +1.2.3.in-addr.arpa. IN SOA ns1.ejemplo.org. admin.ejemplo.org. ( + 5 ; Serial + 10800 ; Refresh + 3600 ; Retry + 604800 ; Expire + 3600 ) ; Minimum + +@ IN NS ns1.ejemplo.org. +@ IN NS ns2.ejemplo.org. + +2 IN PTR ns1.ejemplo.org. +3 IN PTR ns2.ejemplo.org. +10 IN PTR mail.ejemplo.org. +30 IN PTR ejemplo.org.</programlisting> + <para> + Este fichero proporciona las asociaciones de direcciones IP con + nombres de máquinas adecuadas para nuestro dominio ficticio. + </para> + </sect3> + </sect2> + + <sect2> + <title>Servidor de Nombres de Cache</title> + <indexterm> + <primary>BIND</primary> + <secondary>caching name server</secondary> + </indexterm> + <para> + Un servidor de nombres de tipo caché es un servidor de nombres + que no es autoritario para ninguna zona. Simplemente realiza consultas + por sí mismo y recuerda las respuestas para futuros usos. + Para configura uno de estos servidores se configura el servidor de la + forma habitual pero se omite la inclusión de zonas. + </para> + </sect2> + + <sect2 id="network-named-sandbox"> + <title>Ejecución de <application>named</application> en un <quote> + Sandbox</quote></title> + <indexterm> + <primary>BIND</primary> + <secondary>running in a sandbox</secondary> + </indexterm> + + <indexterm> + <primary><command>chroot</command></primary> + </indexterm> + <para>Para obtener una mayor seguridad se puede ejecutar + &man.named.8; como un usuario sin privilegios y configurarlo mediante + &man.chroot.8; dentro del directorio especificado como el directorio + del <quote>sandbox</quote>. Esto hace que cualquier cosa que se + encuentre fuera de dicho directorio resulte inaccesible para el + dæmon <application>named</application>. En caso de que se + comprometiera la seguridad de <application>named</application> esta + restricción puede ayudar a limitar el daño sufrido. + &os; dispone por defecto de un usuario y un grupo destinado a este + uso: <groupname>bind</groupname>. + + <note><para>Hay quien recomienda que en lugar de configurar + <application>named</application> con <command>chroot</command> es mejor + configurarlo dentro de &man.jail.8;. En esta sección no se va + a explicar esa alternativa.</para> + </note> + + <para>Debido a que <application>named</application> no va a poder + acceder a nada que se encuentre fuera del directorio <quote> + sandbox</quote> (y esto incluye cosas tales como bibliotecas + compartidas, <quote>sockets</quote> de <quote>log</quote>, etc) se + debe efectuar una serie de cambios para que <application> + named</application> pueda funcionar con normalidad. En la siguiente + lista se supone que la ruta del <quote>sandbox</quote> es + <filename>/etc/namedb</filename> y que no se ha modificado + anteriormente dicho directorio. Por favor, ejecute los pasos que se + muestran a continuación:</para> + + <itemizedlist> + <listitem> + <para>Cree todos los directorios que + <application>named</application> espera tener a su + disposición:</para> + + <screen>&prompt.root; <userinput>cd /etc/namedb</userinput> +&prompt.root; <userinput>mkdir -p bin dev etc var/tmp var/run master slave</userinput> +&prompt.root; <userinput>chown bind:bind slave var/*</userinput><co id="chown-slave"></screen> + + <calloutlist> + <callout arearefs="chown-slave"> + <para><application>named</application> sólamente necesita + escribir en estos directorios así que eso es todo lo que + debemos crear.</para> + </callout> + </calloutlist> + </listitem> + + <listitem> + <para>Reorganizar y crear los archivos de configuración de + zona básicos:</para> + <screen>&prompt.root; <userinput>cp /etc/localtime etc</userinput><co id="localtime"> +&prompt.root; <userinput>mv named.conf etc && ln -sf etc/named.conf</userinput> +&prompt.root; <userinput>mv named.root master</userinput> +<!-- I don't like this next bit --> +&prompt.root; <userinput>sh make-localhost && mv localhost.rev localhost-v6.rev master</userinput> +&prompt.root; <userinput>cat > master/named.localhost +$ORIGIN localhost. +$TTL 6h +@ IN SOA localhost. postmaster.localhost. ( + 1 ; serial + 3600 ; refresh + 1800 ; retry + 604800 ; expiration + 3600 ) ; minimum + IN NS localhost. + IN A 127.0.0.1 +^D</userinput></screen> + + <calloutlist> + <callout arearefs="localtime"> + <para>Esto permite que <application>named</application> pueda + escribir al archivo de log la hora correcta a través + del &man.syslogd.8;</para> + </callout> + </calloutlist> + </listitem> + + <listitem> + <para>Si está usando una versión de &os; anterior a + 4.9-RELEASE se debe construir una copia estáticamente + enlazada de <application>named-xfer</application> y copiarla dentro + del directorio del <quote>sandbox</quote>:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/lib/libisc</userinput> +&prompt.root; <userinput>make cleandir && make cleandir && make depend && make all</userinput> +&prompt.root; <userinput>cd /usr/src/lib/libbind</userinput> +&prompt.root; <userinput>make cleandir && make cleandir && make depend && make all</userinput> +&prompt.root; <userinput>cd /usr/src/libexec/named-xfer</userinput> +&prompt.root; <userinput>make cleandir && make cleandir && make depend && make NOSHARED=yes all</userinput> +&prompt.root; <userinput>cp named-xfer /etc/namedb/bin && chmod 555 /etc/namedb/bin/named-xfer</userinput><co id="clean-cruft"></screen> + + <para>Despueés de instalar la versión estática + de <command>named-xfer</command> se deben realizar algunas tareas + de limpieza para evitar dejar copias de bibliotecas o de programas + en nuestros ficheros de fuentes:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/lib/libisc</userinput> +&prompt.root; <userinput>make cleandir</userinput> +&prompt.root; <userinput>cd /usr/src/lib/libbind</userinput> +&prompt.root; <userinput>make cleandir</userinput> +&prompt.root; <userinput>cd /usr/src/libexec/named-xfer</userinput> +&prompt.root; <userinput>make cleandir</userinput></screen> + + <calloutlist> + <callout arearefs="clean-cruft"> + <para>En algunas ocasiones este paso puede fallar. Si es su caso + ejecute lo siguiente:</para> + + <screen>&prompt.root; <userinput>cd /usr/src && make cleandir && make cleandir</userinput></screen> + + <para>y borre su directorio <filename>/usr/obj</filename>:</para> + + <screen>&prompt.root; <userinput>rm -fr /usr/obj && mkdir /usr/obj</userinput></screen> + + <para>Esto limpia cualquier <quote>impureza</quote> del + árbol de fuentes y si se repiten los pasos anteriores + todo debería funcionar.</para> + </callout> + </calloutlist> + + <para>Si se está usando &os; version 4.9-RELEASE o posterior + el ejecutable de <command>named-xfer</command> del directorio + <filename>/usr/libexec</filename> ya se encuentra + enlazado estáticamente y se puede utilizar &man.cp.1; para + copiarlo directamente en nuestro <quote>sandbox</quote>.</para> + </listitem> + + <listitem> + <para>Cree el fichero <devicename>dev/null</devicename> de tal forma + que <application>named</application> pueda verlo y pueda escribir + sobre él:</para> + + <screen>&prompt.root; <userinput>cd /etc/namedb/dev && mknod null c 2 2</userinput> +&prompt.root; <userinput>chmod 666 null</userinput></screen> + </listitem> + + <listitem> + <para>Enlace simbólicamente <filename> /var/run/ndc</filename> + con <filename>/etc/namedb/var/run/ndc</filename>:</para> + + <screen>&prompt.root; <userinput>ln -sf /etc/namedb/var/run/ndc /var/run/ndc</userinput></screen> + + <note> + <para>Esto simplemente evita el tener que especificar la + opción <option>-c</option> de &man.ndc.8; cada vez que se + ejecute. Dado que los contenidos de /var/run se borran al + inicio del sistema, si se piensa que esto puede resultar + útil, se puede añadir este comando al <quote> + crontab</quote> del usuario root utilizando la opción + <option>@reboot</option>. Consulte &man.crontab.5; para + saber más información sobre esto.</para> + </note> + + </listitem> + + <listitem> + <para>Configure &man.syslogd.8; para que cree un <quote>socket</quote> + de <devicename>log</devicename> adicional de tal forma que + <application>named</application> pueda escribir sobre él. + Añada <literal>-l + /etc/namedb/dev/log</literal> a la variable + <varname>syslogd_flags</varname> dentro del fichero + <filename>/etc/rc.conf</filename>.</para> + </listitem> + + <listitem> + <para>Reorganice la ejecución de las aplicaciones + <application>named</application> y + <command>chroot</command> para que se ejecuten dentro + del <quote>sandbox</quote> añadiendo lo siguiente al + fichero<filename>/etc/rc.conf</filename>:</para> + + <programlisting>named_enable="YES" +named_flags="-u bind -g bind -t /etc/namedb /etc/named.conf"</programlisting> + + <note> + <para>Recuerde que el fichero de configuración + <replaceable>/etc/named.conf</replaceable> tiene una ruta + completa <emphasis>que comienza en el directorio del + <quote>sandbox</quote></emphasis>; por ejemplo, en la + línea superior el fichero que aparece es en realidad + <filename>/etc/namedb/etc/named.conf</filename>.</para> + </note> + </listitem> + </itemizedlist> + + <para>El siguiente paso consiste en editar el fichero + <filename>/etc/namedb/etc/named.conf</filename> de tal forma que + <application>named</application> pueda conocer qué zonas cargar + y donde encontrarlas en disco. A continuación se muestra un + ejemplo comentado (cualquier cosa que no se comenta en el ejemplo es + porque resulta igual que la configuración del servidor de DNS + del caso normal):</para> + + <programlisting>options { + directory "/";<co id="directory"> + named-xfer "/bin/named-xfer";<co id="named-xfer"> + version ""; // No muestra la versiÃn de BIND + query-source address * port 53; +}; +// ndc control socket +controls { + unix "/var/run/ndc" perm 0600 owner 0 group 0; +}; +// A partir de aquÃvan las zonas: +zone "localhost" IN { + type master; + file "master/named.localhost";<co id="master"> + allow-transfer { localhost; }; + notify no; +}; +zone "0.0.127.in-addr.arpa" IN { + type master; + file "master/localhost.rev"; + allow-transfer { localhost; }; + notify no; +}; +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.ip6.int" { + type master; + file "master/localhost-v6.rev"; + allow-transfer { localhost; }; + notify no; +}; +zone "." IN { + type hint; + file "master/named.root"; +}; +zone "private.example.net" in { + type master; + file "master/private.example.net.db"; + allow-transfer { 192.168.10.0/24; }; +}; +zone "10.168.192.in-addr.arpa" in { + type slave; + masters { 192.168.10.2; }; + file "slave/192.168.10.db";<co id="slave"> +};</programlisting> + + <calloutlist> + <callout arearefs="directory"> + <para>La línea que contiene + <literal>directory</literal> se especifica como + <filename>/</filename>, ya que todos los ficheros que + <application>named</application> necesita se encuentran dentro de + este directorio (recuerde que esto es equivalente al fichero + <filename>/etc/namedb</filename> de un usuario + <quote>normal</quote>.</para> + </callout> + + <callout arearefs="named-xfer"> + <para>Especifica la ruta completa para el binario + <command>named-xfer</command> binary (desde el marco de referencia + de <application>named</application>). Esto resulta necesario ya + que por defecto <application>named</application> se compila de tal + forma que trata de localizar el comando + <command>named-xfer</command> dentro de + <filename>/usr/libexec</filename>.</para> + </callout> + <callout arearefs="master"><para>Especifica el nombre del fichero + (relativo a la línea + (relativo a la línea ) <literal>directory</literal> anterior) + donde <application>named</application> puede encontrar el fichero de + zona para esta zona.</para> + </callout> + <callout arearefs="slave"><para>Especifica el nombre del fichero + (relativo a la líena <literal>directory</literal> anterior) + donde <application>named</application> debería escribir una + copia del archivo de zona para esta zona después de + recuperarla exitosamente desde el servidor maestro. Este es el + motivo por el que en las etapas de configuración anteriores + necesitábamos cambiar la propiedad del directorio + <filename>slave</filename> al grupo + <groupname>bind</groupname>.</para> + </callout> + </calloutlist> + + <para>Después de completar los pasos anteriores reinicie el + servidor o reinicie &man.syslogd.8; y ejecute &man.named.8; + asegurándose de que se utilicen las nuevas opciones + especificadas en <varname>syslogd_flags</varname> y + <varname>named_flags</varname>. En estos momentos deberíamos + estar ejecutando una copia de <application>named</application> dentro + de un <quote>sandbox</quote>.</para> + </sect2> + + <sect2> + <title>Seguridad</title> + + <para>Aunque BIND es la implementación de DNS más + utilizada existe siempre el asunto relacionado con la seguridad. De + vez en cuando se encuentran agujeros de seguridad y + vulnerabilidades.</para> + + <para> + Es una buena idea suscribirse a <ulink + url="http://www.cert.org/">CERT</ulink> y a <ulink + url="../handbook/eresources.html#ERESOURCES-MAIL">freebsd-security-notifications</ulink> + para estar al día de los problemas de seguridad relacionados + con <application>named</application>.</para> + + <tip><para>Si surge un problema nunca está de más + actualizar los fuentes y recompilar los ejecutables desde dichas + fuentes.</para></tip> + + </sect2> + + <sect2> + <title>Lecturas Recomendadas</title> + <para> + Las páginas del manual de BIND/named: + &man.ndc.8; &man.named.8; &man.named.conf.5; + </para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.isc.org/products/BIND/">Página oficial + de ISC Bind</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="http://www.nominum.com/getOpenSourceResource.php?id=6"> + Preguntas más frecuentes sobre BIND</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="http://www.oreilly.com/catalog/dns4/">Libro de O'Reilly + "DNS and BIND", cuarta edición</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="ftp://ftp.isi.edu/in-notes/rfc1034.txt">RFC1034 + - Nombre de Dominio - Conceptos y Características</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="ftp://ftp.isi.edu/in-notes/rfc1035.txt">RFC1035 + - Nombres de Domninio - Implementación y + Especificación</ulink></para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="network-ntp"> + <sect1info> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Hukins</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>NTP</title> + + <indexterm><primary>NTP</primary></indexterm> + + <sect2> + <title>Resumen</title> + + <para>Según pasa el tiempo el reloj de un computador está + expuesto a ligeros desplazamientos. NTP (Protocolo de Hora + en Red, en inglés <quote>Network Time Protocol</quote>) es + un protocolo que permite asegurar la exactitud de nuestro reloj.</para> + + <para>Existen varios servicios de internet que confían y se pueden + beneficiar de relojes de computadores precisos. Por ejemplo un + servidor web puede recibir peticiones de un determinado fichero si ha + sido modificado posteriormente a una determinada fecha u hora. + Servicios como &man.cron.8; ejecutan comandos en determinados + instantes. Si el reloj no se encuentra ajustado estos comandos pueden + ejecutarse fuera de la hora prevista.</para> + + <indexterm> + <primary>NTP</primary> + <secondary>ntpd</secondary> + </indexterm> + <para>&os; viene con el servidor NTP &man.ntpd.8; que se puede utilizar + para preguntar a otros servidores NTP, de tal forma que podemos + ajustar nuestro reloj según la hora de otros servidores e + incluso proporcionar servicio de hora nosotros mismos.</para> + + </sect2> + + <sect2> + <title>Elección de los Servidores de Hora Adecuados</title> + + <indexterm> + <primary>NTP</primary> + <secondary>choosing servers</secondary> + </indexterm> + + <para>Para sincronizar nuestro reloj necesitamos comunicarnos con uno o + más servidores NTP. El administrador de nuestra red o nuestro + proveedor de servicios de Internet muy posiblemente hayan configurado + algún servidor NTP para estos propósitos. Consulte la + documentación de que disponga. Existe una <ulink + url="http://www.eecis.udel.edu/~mills/ntp/servers.html">lista de + servidores NTP públicamente accesibles</ulink> que se pueden + utilizar para buscar un servidor NTP que se encuentre + geográficamente próximo. Asegúrese de que conoce + la política de uso de estos servidores públicos ya que + en algunos casos es necesario pedir permiso al administrador antes de + de poder utilizarlos, principalmente por motivos + estadísticos.</para> + + <para>Le recomendamos seleccionar servidores NTP que no se encuentren + conectados entre sí por si alguno de los servidores que use + sea inaccesible o su reloj se averíe. &man.ntpd.8; utiliza las + respuestas que recibe de otros servidores de una forma inteligente. + servidores de una forma inteligente (Tiene a hacer más caso a + los más fiables.</para> + + </sect2> + + <sect2> + <title>Configuración de la Máquina</title> + + <indexterm> + <primary>NTP</primary> + <secondary>configuration</secondary> + </indexterm> + + <sect3> + <title>Configuración Básica</title> + <indexterm><primary>ntpdate</primary></indexterm> + + <para>Si sólamente deseamos sincronizar nuestro reloj cuando + se arranca la máquina se puede utilizar &man.ntpdate.8;. + Esto puede ser adecuado en algunas máquinas de escritorio que + se reinician frecuentemente y donde la sincronización no suele + ser un objetivo prioritario pero normalmente la mayoría de las + máquinas deberían ejecutar &man.ntpd.8;.</para> + + <para>La utilización de &man.ntpdate.8; en tiempo de arranque + es también una buena idea incluso para las máquinas que + ejecutan &man.ntpd.8;. El programa &man.ntpd.8; modifica el reloj de + forma gradual, mientras que &man.ntpdate.8; ajusta directamente el + reloj sin importar que tamaño tenga la diferencia de tiempo + existente entre la máquina y el servidor de tiempo de + referencia.</para> + + <para>Para activar &man.ntpdate.8; en tiempo de arranque, añada + <literal>ntpdate_enable="YES"</literal> al fichero + <filename>/etc/rc.conf</filename>. También es necesario + especificar todos los servidores que deseamos utilizar para + realizar el proceso de sincronización y cualquier + parámetro que deseemos pasar al comando &man.ntpdate.8; + utilizando la variable <varname>ntpdate_flags</varname>.</para> + + </sect3> + + <sect3> + <indexterm> + <primary>NTP</primary> + <secondary>ntp.conf</secondary> + </indexterm> + + <title>Configuración General</title> + + <para>NTP se configura mediante el archivo + <filename>/etc/ntp.conf</filename> utilizando el formato descrito en + &man.ntp.conf.5;. A continuación se muestra un sencillo + ejemplo:</para> + + <programlisting>server ntplocal.ejemplo.com prefer +server timeserver.ejemplo.org +server ntp2a.ejemplo.net + +driftfile /var/db/ntp.drift</programlisting> + + <para>La opción <literal>server</literal> especifica qué + servidores se van a utilizar, especificando un servidor por + línea. Si se especifica un servidor con el argumento + <literal>prefer</literal>, como en <hostid + role="fqdn">ntplocal.ejemplo.com</hostid> dicho servidor se prefiere + sobre los demás. No obstante la respuesta de su servidor + preferido se descartará si difiere sustancialmente de la + respuesta recibida por parte del resto de los servidores + especificados; en caso contrario sólo se tendrá en + cuenta la respuesta del servidor preferido sin importar la + información suministrada por el resto. El argumento + <literal>prefer</literal> se utiliza normalmente en servidores NTP + altamente precisos, como aquellos que poseen hardware de tiempo + específico.</para> + + <para>La opción <literal>driftfile</literal> especifica + qué fichero se utiliza para almacenar el desplazamiento de + la fracuencia de reloj de la máquina. El programa + &man.ntpd.8; utiliza este valor para automáticamente + compensar el desvío que experimenta de forma natural el reloj + de la máquina, permitiendo mantener una precisión + acotada incluso cuando se pierde la comunicación con el resto + de referencias externas.</para> + + <para>La opción <literal>driftfile</literal> especifica + qué fichero se utiliza para almacenar la información + sobre espuestas anteriores de servidores NTP. Este fichero + contiene información útil para la implementación + de NTP. No debería ser modificada por ningún otro + proceso.</para> + + </sect3> + + <sect3> + <title>Control de Acceso al Servidor NTP</title> + + <para>Por defecto nuestro servidor de NTP puede ser accedido por + cualquier máquina de Internet. La opción + <literal>restrict</literal> se puede utilizar para controlar + controlar qué máquinas pueden acceder al + servicio.</para> + + <para>Si queremos denegar el acceso a todas las máquinas + existentes basta con añadir la siguiente línea a + <filename>/etc/ntp.conf</filename>:</para> + + <programlisting>restrict default ignore</programlisting> + + <para>Si sólo queremos permitir el acceso al servicio de hora + a las máquinas de nuestra red y al menos tiempo nos queremos + asegurar de que dichos clientes no pueden a su vez configurar la + hora del servidor o utilizarse ellos mismos como nuevos servidores + de hora basta con añadir lo siguiente en lugar de lo + anterior:</para> + + <programlisting>restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap</programlisting> + + <para>donde <hostid role="ipaddr">192.168.1.0</hostid> es la + dirección IP de nuestra red y <hostid + role="netmask">255.255.255.0</hostid> es la máscara de + red.</para> + + <para><filename>/etc/ntp.conf</filename> puede contener varias + opciones de tipo <literal>restrict</literal>. Para más + detalles consulte la sección <literal>Soporte de Control de + Acceso</literal> de &man.ntp.conf.5;.</para> + </sect3> + </sect2> + + <sect2> + <title>Ejecución del Servidor de NTP</title> + + <para>Para asegurarnos de que el servidor de NTP se ejecuta en tiempo de + arranque se debe añadir la línea <literal> + xntpd_enable="YES"</literal> al fichero + <filename>/etc/rc.conf</filename>. Si deseamos pasar opciones + adicionales a &man.ntpd.8; se puede modificar la variable + <varname>xntpd_flags</varname> del fichero + <filename>/etc/rc.conf</filename>.</para> + + <para>Para ejecutar el servidor sin reiniciar la máquina ejecute + <command>ntpd</command> junto con todos aquellos parámetros que + haya especificado en la variable de arranque + <varname>xntpd_flags</varname> del fichero + <filename>/etc/rc.conf</filename>. Por ejemplo:</para> + + <screen>&prompt.root; <userinput>ntpd -p /var/run/ntpd.pid</userinput></screen> + + <note> + <para>Bajo &os; 5.X se han renombrado algunas opciones del + fichero <filename>/etc/rc.conf</filename>. Se debe reemplazar + cualquier aparición <literal>xntpd</literal> por + por <literal>ntpd</literal>.</para></note> + </sect2> + + <sect2> + <title>Utilización de ntpd junto con una Conexión Temporal + a Internet</title> + + <para>El programa &man.ntpd.8; no necesita una conexión + permanente a Internet para poder funcionar correctamente. No obstante + si la conexión a Internet se encuentra configurada con + marcación bajo demanda es una buena idea impedir que el + tráfico de NTP lance una marcación automática o + que mantenga la conexión viva. Si se utiliza el PPP de + entorno de usuario se pueden utilizar las directivas + <literal>filter</literal> dentro del fichero + <filename>/etc/ppp/ppp.conf</filename> para evitar esto. Por + ejemplo:</para> + + <programlisting> set filter dial 0 deny udp src eq 123 + # Evita que el tráfico NTP inice una llamada saliente + set filter dial 1 permit 0 0 + set filter alive 0 deny udp src eq 123 + Evita que el tráficoNTP entrante mantenga abierta la conexión + set filter alive 1 deny udp dst eq 123 + Evita que el tráfico NTP saliente mantenga abierta la conexión + set filter alive 2 permit 0/0 0/0</programlisting> + + <para>Para ás detalles consulte la sección + <literal>PACKET FILTERING</literal> de &man.ppp.8; y los ejemplos que + se encuentran en + <filename>/usr/share/examples/ppp/</filename>.</para> + + <note> + <para>Algunos proveedores de acceso a Internet bloquean paquetes que + utilizan números de puertos bajos impidiendo que los paquetes + de vuelta alcancen nuestra máquina.</para> + </note> + </sect2> + + <sect2> + <title>Información Adicional</title> + + <para>Hay documentación sobre el servidor NTP en formato HTML en + <filename>/usr/share/doc/ntp/</filename>.</para> + </sect2> + </sect1> + + <sect1 id="network-natd"> + <sect1info> + <authorgroup> + <author> + <firstname>Chern</firstname> + <surname>Lee</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Traducción de Direcciones de Red</title> + + <sect2 id="network-natoverview"> + <title>Overview</title> + <indexterm> + <primary><application>natd</application></primary> + </indexterm> + <para>El dæmon de &os; que se encarga de traducir direcciones de + red, más conocido como &man.natd.8;, es un dæmon que + acepta paquetes IP, modifica la dirección IP fuente de dichos + paquetes y los reinyecta en el flujo de paquetes IP de salida. + &man.natd.8; ejecuta este proceso modificando la dirección de + origen y el puerto de tal forma que cuando se reciben paquetes de + contestación &man.natd.8; es capaz de determinar el destino + real y reenviar el paquete a dicho destino.</para> + + <indexterm><primary>Internet connection sharing</primary></indexterm> + <indexterm><primary>IP masquerading</primary></indexterm> + <para>El uso más común de NAT es para Compartir la + Conexión a Internet.</para> + </sect2> + + <sect2 id="network-natsetup"> + <title>Configuración</title> + <para>Debido al pequeño espacio de direccionamiento que se + encuentra actualmente disponible en IPv4 y debido también al + gran aumento que se está produciendo en cuanto a número + de usuarios de líneas de conexión a Internet de alta + velocidad como cable o DSL la gente necesita utilizar cada vez + más la salida de Compartición de + Conexión a Internet. La característica de poder conectar + varios computadores a través de una única conexión + y una única dirección IP hacen de &man.natd.8; una + elección razonable.</para> + + <para>Cada vez con más frecuencia un usuario típico + dispone de una máquina conectada mediante cable o DSL pero + desearía utilizar dicha máquina como un <quote> + router</quote> de acceso para el resto de los ordenadores de su red + de área local.</para> + + <para>Para poder hacerlo la máquina (&os; por supuesto) debe + configurarse para actuar como pasarela. Debe tener al menos dos + tarjetas de red, una para conectarse a la red de área local y + la otra para conectarse con el <quote>router</quote> de acceso a + Internet. Todas las máquinas de la LAN se conectan entre + sí mediante un <quote>hub</quote> o un <quote> + switch</quote>.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/natd"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> _______ __________ ________ + | | | | | | + | Hub |-----| Client B |-----| Router |----- Internet + |_______| |__________| |________| + | + ____|______ +| | +| Cliente A | +|___________|</literallayout> + </textobject> + + <textobject> + <phrase>Topología de la Red</phrase> + </textobject> + </mediaobject> + + <para>Una configuración como esta se utiliza frecuentemente para + compartir el acceso a Internet. Una de las máquinas de la + <acronym>LAN</acronym> está realmente conectada a Internet. + El resto de las máquinas acceden a Internet utilizando como + <quote>pasarela</quote> la máquina inicial.</para> + + </sect2> + + <sect2 id="network-natdkernconfiguration"> + <indexterm> + <primary>kernel</primary> + <secondary>configuration</secondary> + </indexterm> + <title>Configuración</title> + <para>Se deben añadir las siguientes opciones al fichero de + configuración del núcleo:</para> + <programlisting>options IPFIREWALL +options IPDIVERT</programlisting> + + <para>Además, según se prefiera, se pueden añadir + también las siguientes:</para> + <programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPFIREWALL_VERBOSE</programlisting> + + <para>Lo que viene a continuación se tiene que definir en + <filename>/etc/rc.conf</filename>:</para> + + <programlisting>gateway_enable="YES" +firewall_enable="YES" +firewall_type="OPEN" +natd_enable="YES" +natd_interface="<replaceable>fxp0</replaceable>" +natd_flags=""</programlisting> + + <informaltable frame="none"> + <tgroup cols="2"> + <tbody> + <row> + <entry>gateway_enable="YES"</entry> + <entry>Configura la máquina para que actúe como + <quote>router</quote> o pasarela de red. Se puede conseguir + lo mismo ejecutando + <command>sysctl net.inet.ip.forwarding=1</command>.</entry> + </row> + <row><entry>firewall_enable="YES"</entry> + <entry>Activa las reglas de cortafuegos que se encuentran + definidas por defecto en + <filename>/etc/rc.firewall</filename> y que entran en + funcionamiento en el arranque del sistema.</entry> + </row> + <row><entry>firewall_type="OPEN"</entry> + <entry>Especifica un conjunto de reglas de cortafuegos que + permite el acceso a todos los paquetes que se reciban. + Consulte <filename>/etc/rc.firewall</filename> para obtener + información sobre el resto de tipos de reglas que se + pueden configurar.</entry> + </row> + <row> + <entry>natd_interface="fxp0"</entry> + <entry>Indica qué interfaz se utiliza para reenviar + paquetes (la interfaz que se conecta a Internet).</entry> + </row> + <row> + <entry>natd_flags=""</entry> + <entry>Define cualesquiera otras opciones que se deseen + proporcionar a &man.natd.8; en tiempo de arranque.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Si se definen las opciones anteriores, en el arranque del sistema + el fichero <filename>/etc/rc.conf</filename> configurará las + variables de tal forma que se ejecutaría el comando + <command>natd -interface fxp0</command>. Evidentemente este comando + también se puede ejecutar de forma manual.</para> + + <note> + <para>También es posible utilizar un fichero de + configuración para &man.natd.8; en caso de que deseemos + especificar muchos parámetros de arranque. Tendremos que + declarar la ubicación del fichero de configuración + mediante la inclusión de lo siguiente en + <filename>/etc/rc.conf</filename>:</para> + + <programlisting>natd_flags="-f /etc/natd.conf"</programlisting> + + <para>El fichero <filename>/etc/natd.conf</filename> debe contener una + lista de opciones de configuración una opción por + línea. Por ejemplo, en el caso que se comenta en la siguiente + sección se utilizaría un fichero de + configuración con la siguiente información:</para> + + <programlisting>redirect_port tcp 192.168.0.2:6667 6667 +redirect_port tcp 192.168.0.3:80 80</programlisting> + + <para>Para obtener más información sobre el fichero de + configuración se puede consultar la opción + <option>-f</option> que se describe en la página del manual de + &man.natd.8;.</para> + </note> + + <para>Cada máquina (y cada interfaz) que se encuentra conectada + a la LAN debe poseer una dirección IP perteneciente al espacio + de direcciones IP privado tal y como se define en <ulink + url="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC 1918</ulink> y debe + poseer como pasarela por defecto la dirección IP de la + interfaz interna (la interfaz que se conecta a la LAN) de la + máquina que ejecuta + <application>natd</application>.</para> + + <para>Por ejemplo los clientes <hostid>A</hostid> y + <hostid>B</hostid> se encuentran en la LAN utilizando las direcciones + IP <hostid role="ipaddr">Â192.168.0.2</hostid> y + <hostid role="ipaddr">192.168.0.3</hostid>, respectivamente. La + máquina que ejecuta <application>natd</application> posee la + dirección IP <hostid + role="ipaddr">192.168.0.1</hostid> en la interfaz que se conecta a la + LAN. El <quote>router</quote> por defecto tanto de <hostid>A</hostid> + omo de <hostid>B</hostid> se establece al valor + <hostid role="ipaddr">192.168.0.1</hostid>. La interfaz externa de la + máquina que ejecuta <application>natd</application>, la interfaz + que se conecta con Internet, no necesita de ninguna + especial en relación con el tema que estamos tratando en esta + sección.</para> + </sect2> + + <sect2 id="network-natdport-redirection"> + <title>Redirección de Puertos</title> + + <para>El incoveniente que se presenta con la utilización de + &man.natd.8; es que los clientes de la LAN no son accesibles desde + Internet. Dichos clientes pueden establecer conexiones con el + exterior pero no pueden recibir intentos de conexión desde + pueden recibir intentos de conexion desde Internet. Esto supone un + gran problema cuando se quieren ejecutar servicios de acceso global + en una o varias máquinas de la red LAN. Una forma sencilla de + solucionar parcialmente este problemma consiste en redirigir + determinados puertos en el servidor <application>natd</application> + hacia determinadas máquinas de la LAN.</para> + + <para>Supongamos por ejemplo que en <hostid>A</hostid> se ejecuta un + servidor de IRC y que en <hostid>B</hostid> se ejecuta un servidor + web. Para que funcione lo que hemos comentado anteriormente se tienen + que redirigir las conexiones recibidas en los puertos 6667 (IRC) y + 80 (web) a dichas máquinas, respectivamente.</para> + + <para>Se debe pasar la opción <option>-redirect_port</option> a + &man.natd.8; con los valores apropiados. La sintaxis es como + sigue:</para> + <programlisting> -redirect_port proto IPdestino:PUERTOdestino[-PUERTOdestino] + [aliasIP:]aliasPUERTO[-aliasPUERTO] + [IPremota[:PUERTOremoto[-PUERTOremoto]]]</programlisting> + + <para>Continuando con el ejemplo anterior los valores serían:</para> + + <programlisting> -redirect_port tcp 192.168.0.2:6667 6667 + -redirect_port tcp 192.168.0.3:80 80</programlisting> + + <para> + Esto redirigirá los puertos <emphasis>tcp</emphasis> adecuados + a las máquinas situadas en la LAN.</para> + + <para>La opción <option>-redirect_port</option> se puede + utilizar para indicar rangos de puertos en vez de puertos + individuales. Por ejemplo, <replaceable>tcp + 192.168.0.2:2000-3000 2000-3000</replaceable> redirige todas las + conexiones recibidas desde los puertos 2000 al 3000 a los puertos + puertos 2000 a 3000 de la máquina + <hostid>A</hostid>.</para> + + <para>Estas opciones se pueden utilizar cuando se ejecute + directamente el comando &man.natd.8; se pueden situar en la variable + <literal>natd_flags=""</literal> en + <filename>/etc/rc.conf</filename> y también se pueden pasar + mediante un archivo de configuración.</para> + + <para>Para obtener más información sobre opciones de + configuración por favor consulte &man.natd.8;</para> + </sect2> + + <sect2 id="network-natdaddress-redirection"> + <title>Redirección de Direcciones</title> + <indexterm><primary>address redirection</primary></indexterm> + + <para>La redirección de direcciones es una característica + útil si se dispone de varias direcciones IP pero todas ellas se + ubican en una única máquina. Gracias a esto + &man.natd.8; puede asignar a cada cliente de la red LAN su propia + dirección IP externa. &man.natd.8; reescribe los paquetes que + salen de la red LAN con la dirección IP externa adecuada y + redirige todo el tráfico recibido de vuelta al cliente en + función de la dirección IP de destino: esto se conoce + como NAT estático. Por ejemplo las direcciones IP + <hostid role="ipaddr">128.1.1.1</hostid>, + <hostid role="ipaddr">128.1.1.2</hostid> y + <hostid role="ipaddr">128.1.1.3</hostid> pertenecen al <quote> + router</quote> <application>natd</application>. + <hostid role="ipaddr">128.1.1.1</hostid> se puede utilizar como la + dirección IP externa del + <application>natd</application>, mientras que + <hostid role="ipaddr">128.1.1.2</hostid> y + <hostid role="ipaddr">128.1.1.3</hostid> se redirigen a los + clientes <hostid>A</hostid> y <hostid>B</hostid>, respectivamente.</para> + + <para>La sintaxis de la opción + <option>-redirect_address</option> es la siguiente:</para> + + <programlisting>-redirect_address IPlocal IPpública</programlisting> + + + <informaltable frame="none"> + <tgroup cols="2"> + <tbody> + <row> + <entry>IPlocal</entry> + <entry>La dirección IP interna del cliente de la LAN.</entry> + </row> + <row> + <entry>IPpública</entry> + <entry>La dirección IP externa que se corresponde con un + determinado cliente de la LAN.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>En nuestro ejemplo esta opción se especificaría de la + siguiente forma:</para> + + <programlisting>-redirect_address 192.168.0.2 128.1.1.2 +-redirect_address 192.168.0.3 128.1.1.3</programlisting> + + <para>De forma semejante a la opción + <option>-redirect_port</option> estos argumentos se pueden especificar + directamente sobre la variable + <literal>natd_flags=""</literal> del fichero + <filename>/etc/rc.conf</filename> o también se pueden pasar + vía archivo de configuración de + <application>natd</application>. Si se utiliza redirección + de direcciones ya no es necesario utilizar redirección de + puertos ya que todos los paquetes que se reciben en una determinada + dirección IP son redirigidos a la máquina + especificada.</para> + + <para>Las direcciones IP externas de la máquina que ejecuta + <application>natd</application> se deben activar y deben formar + parte de un alias configurado sobre la interfaz externa que se conecta + a Internet. Consulte &man.rc.conf.5; para aprender a + hacerlo.</para> + </sect2> + </sect1> + + <sect1 id="network-inetd"> + <sect1info> + <authorgroup> + <author> + <firstname>Chern</firstname> + <surname>Lee</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + + <title>El <quote>Super Servidor</quote> <application> + inetd</application></title> + + <sect2 id="network-inetd-overview"> + <title>Resumen</title> + + <para>&man.inetd.8; se conoce como el <quote>Super Servidor de + Internet</quote> debido a que gestiona las conexiones de + varios dæmones. Los dæmones son programas que + proporcionan servicios de red. + <application>inetd</application> actúa como un servidor de + servidor de gestión de otros dæmones. Cuando + &man.inetd.8; recibe una conexión se determina qué + dæmon debería responder a dicha conexión, se lanza + un proceso que ejecuta dicho dæmon y se le entrega el <quote> + socket</quote>. La ejecución de una única instancia de + <application>inetd</application> reduce la carga del sistema en + comparación con lo que significaría ejecutar cada uno de + los dæmones que gestiona de forma individual.</para> + + <para><application>inetd</application> se utiliza principalmente para + lanzar procesos que albergan a otros dæmones pero + <application>inetd</application> también se utiliza para + gestionar determinados protocolos triviales como + <application>chargen</application>, + <application>auth</application> y + <application>daytime</application>.</para> + + <para>Esta sección trata la configuración básica de + <application>inetd</application> a través de sus opciones de + línea de comandos y utilizando su fichero de + configuración, denominado + <filename>/etc/inetd.conf</filename>.</para> + + </sect2> + + <sect2 id="network-inetd-settings"> + <title>Configuraciones</title> + + <para><application>inetd</application> se inicializa a través + del fichero <filename>/etc/rc.conf</filename> en tiempo de + arranque. La opción <literal>inetd_enable</literal> posee el + valor <literal>NO</literal> por defecto, pero a menudo la + aplicación <application>sysinstall</application> la activa + cuando se utiliza la configuración de perfil de seguridad + medio. + Estableciendo <programlisting>inetd_enable="YES"</programlisting> o + <programlisting>inetd_enable="NO"</programlisting> dentro de + <filename>/etc/rc.conf</filename> se puede activar o desactivar la + la ejecución de + <application>inetd</application> en el arranque del + sistema.</para> + + <para>Se pueden además aplicar distintas opciones de + línea de comandos mediante la opción + <literal>inetd_flags</literal>.</para> + + </sect2> + + <sect2 id="network-inetd-cmdline"> + <title>Opciones de Línea de Comandos</title> + + <para><application>sinopsis de inetd</application>:</para> + + <para><option> inetd [-d] [-l] [-w] [-W] [-c máximo] [-C tasa] [-a dirección | nombre_de_host] + [-p nombre_de_fichero] [-R tasa] [fichero de configuración ]</option></para> + + <variablelist> + <varlistentry> + <term>-d</term> + + <listitem> + <para>Activa la depuración.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-l</term> + + <listitem> + <para>Activa el <quote>logging</quote> de las conexiones + efectuadas con écute.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-w</term> + + <listitem> + <para>Activa el recubrimiento de TCP para servicios + externos (activado por defecto).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-W</term> + + <listitem> + <para>Activa el recubrimiento de TCP para los servicios + internos, ejecutados directamente por el dæmon + <application>inetd</application> (activado por defecto).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-c máximo</term> + + <listitem> + <para>Especifica el máximo número de invocaciones + simultáneas de cada servicio; el valor por defecto es + ilimitado. Se puede sobreescribir para cada servicio utilizando + la opción <option>max-child</option>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-C tasa</term> + + <listitem> + <para>Especifica el máximo número de veces que se + puede llamar a un servicio desde un dirección IP + determinada por minuto; el valor por defecto es ilimitado. Se + puede redefinir para cada servicio utilizando la opción + <option>max-connections-per-ip-per-minute</option>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-R tasa</term> + + <listitem> + <para>Especifica el máximo número de veces que se + puede invocar un servicio en un minuto; el valor por defecto es + 256. Un valor de 0 permite un número ilimitado de + llamadas.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-a</term> + + <listitem> + <para>Especifica una dirección IP a la cual se asocia y + sobre la cual se queda esperando recibir conexiones. Puede + declararse también un nombre de máquina, en cuyo + caso se utilizará la dirección (o direcciones si + hay más de una) IPv4 o IPv6 que estén tras dicho + nombre. Normalmente se usa un nombre de + máquina cuando <application>inetd</application> se + ejecuta dentro de un &man.jail.8;, en cuyo caso el nombre de + máquina se corresponde con el entorno + &man.jail.8;.</para> + + <para>Cuando se desea asociarse tanto a direcciones IPv4 como a + direcciones IPv6 y se utiliza un nombre de máquina se + necesita una entrada para cada protocolo (IPv4 o IPv6) para cada + servicio que se active a través de <filename> + /etc/inetd.conf</filename>. Por ejemplo un servicio basado en + TCP necesitaría dos entradas, una utilizando + <literal>tcp4</literal> para el protocolo IPv4 y otra con + <literal>tcp6</literal> para las conexiones a través del + procolo de red IPv6.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-p</term> + + <listitem> + <para>Especifica un fichero alternativo en el cual se guarda el + ID del proceso.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Estas opciones se pueden declarar dentro de las variables + <literal>inetd_flags</literal> del fichero + <filename>/etc/rc.conf</filename>. Por defecto + <literal>inetd_flags</literal> tiene el valor <literal>-wW</literal>, + lo que activa el recubrimiento de TCP para los servicios internos y + externos de <application>inetd</application>. Los usuarios inexpertos + no suelen introducir estos parámetros y por ello ni siquiera + necesitan especificarse dentro de <filename> + /etc/rc.conf</filename>.</para> + + <note> + <para>Un servicio externo es un dæmon que se ejecuta fuera de + <application>inetd</application> y que se lanza cuando se recibe + un intento de conexión. Un servicio interno es un servicio + que <application>inetd</application> puede servir directamente sin + necesidad de lanzar nuevos procesos.</para> + </note> + + </sect2> + + <sect2 id="network-inetd-conf"> + <title><filename>inetd.conf</filename></title> + + <para>La configuración de + <application>inetd</application> se realiza a través del + ficherode configuración <filename> + /etc/inetd.conf</filename>.</para> + + <para>Cuando se realiza una modificación en el fichero + <filename>/etc/inetd.conf</filename> se debe obligar a + <application>inetd</application> a releer dicho fichero de + configuración, lo cual se realiza enviando una señal + <quote>HANGUP</quote> al proceso <application>inetd</application> + como se muestra a continuación:</para> + + <example id="network-inetd-hangup"> + <title>Envío de una señal de tipo HANGUP a <application>inetd</application></title> + + <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen> + </example> + + <para>Cada línea del fichero de configuración especifica un + dæmon individual. Los comentarios se preceden por el + caracter <quote>#</quote>. El formato del fichero de + configuración <filename>/etc/inetd.conf</filename> es el + siguiente:</para> + + <programlisting>service-name +socket-type +protocol +{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]] +user[:group][/login-class] +server-program +server-program-arguments</programlisting> + + <para>A continuación se muestra una entrada de ejemplo para el + dæmon <application>ftpd</application> para IPv4:</para> + + <programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting> + + <variablelist> + <varlistentry> + <term>service-name</term> + + <listitem> + <para>Este es el nombre del servicio que proporciona un + determinado dæmon. Se debe corresponder con el nombre del + nombre de servicio que se declara en el fichero + <filename>/etc/services</filename>. Este fichero determina sobre + qué puerto debe ponerse a escuchar + <application>inetd</application>. Si se crea un nuevo servicio + se debe especificar primero en + <filename>/etc/services</filename>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>socket-type</term> + + <listitem> + <para>Puede ser <literal>stream</literal>, + <literal>dgram</literal>, <literal>raw</literal> o + <literal>seqpacket</literal>. <literal>stream</literal> + se debe utilizar obligatoriamente para dæmones orientados + a conexión (dæmones TCP) mientras que + <literal>dgram</literal> se utiliza en dæmones basados en + el protocolo de transporte UDP.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>protocol</term> + + <listitem> + <para>Uno de los siguientes:</para> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Protocolo</entry> + <entry>Explicación</entry> + </row> + </thead> + <tbody> + <row> + <entry>tcp, tcp4</entry> + <entry>TCP IPv4</entry> + </row> + <row> + <entry>udp, udp4</entry> + <entry>UDP IPv4</entry> + </row> + <row> + <entry>tcp6</entry> + <entry>TCP IPv6</entry> + </row> + <row> + <entry>udp6</entry> + <entry>UDP IPv6</entry> + </row> + <row> + <entry>tcp46</entry> + <entry>TCP IPv4 e IPv6 al mismo tiempo</entry> + </row> + <row> + <entry>udp46</entry> + <entry>UDP IPv4 e IPv6 al mismo tiempo</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </listitem> + </varlistentry> + + <varlistentry> + <term>{wait|nowait}[/max-child[/max-connections-per-ip-per-minute]]</term> + + <listitem> + <para><option>wait|nowait</option> indica si el dæmon puede + gestionar su propio <quote>socket</quote> o no. Los <quote> + sockets</quote> de tipo <option>dgram</option> deben utilizar + obigatoriamente la opción <option>wait</option> mientras + que los dæmones basados en <quote>sockets</quote> de tipo + <quote>stream</quote>, los cuales se implementan normalmente + mediante hilos, debería utilizar la opción + <option>nowait</option>. La opción + <option>wait</option> normalmente entrega varios <quote> + sockets</quote> a un único dæmon, mientras que la + opción <option>nowait</option> lanza un dæmon + <quote>hijo</quote> por cada nuevo <quote> + socket</quote>.</para> + + <para>El número máximo de dæmones <quote> + hijo</quote> que puede lanzar + <application>inetd</application> se puede especificar mediante + la opción <option>max-child</option>. Si se necesita por + ejemplo un límite de diez instancias para un dæmon + en particular se puede especificar el valor + <literal>10</literal> justo después de la opción + <option>nowait</option>.</para> + + <para>Además de <option>max-child</option> se puede activar + otra opción para limitar en número máximo de + conexiones que se aceptan desde un determinado lugar mediante la + opción + <option>max-connections-per-ip-per-minute</option>. + Esta opción hace justo lo que su nombre indica. Un + valor de, por ejemplo, diez en esta opción + limitaría cualquier máquina remota a un + máximo de diez intentos de conexión por + minuto. Esto resulta útil para prevenir un consumo + incontrolado de recursos y ataques de Denegación de + Servicio (<quote>Denial of Service</quote> o DoS) sobre nuestra + máquina.</para> + + <para>Cuando se especifica este campo las opciones + <option>wait</option> o <option>nowait</option> son + obligatorias <option>max-child</option> y + <option>max-connections-per-ip-per-minute</option> son + opcionales.</para> + + <para>Un dæmon de tipo <quote>stream</quote> sin la + opción <option>max-child</option> y sin la opción + <option>max-connections-per-ip-per-minute</option> + simplemente especificaría la opción + <literal>nowait</literal>.</para> + + <para>El mismo dæmon con el límite máximo de + diez dæmones <quote>hijos</quote> sería: + <literal>nowait/10</literal>.</para> + + <para>La misma configuración con un límite + de veinte conexiones por dirección IP por minuto y un + máximo total de diez dæmones <quote>hijos</quote> + sería: + <literal>nowait/10/20</literal>.</para> + + <para>Todas estas opciones son utilizadas por el dæmon + <application>fingerd</application> que se muestra a + continuación a modo de ejemplo:</para> + + <programlisting>finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s</programlisting> + </listitem> + </varlistentry> + + <varlistentry> + <term>user</term> + + <listitem> + <para>Este es el nombre de usuario con el que debería + ejecutarse un determinado dæmon. Normalmente los + dæmones se suelen ejectar con permisos de + <username>root</username>. Por motivos de seguridad, resulta + bastante común encontrarse con algunos servidores que se + ejecutan bajo el usuario <username>daemon</username> o incluso + por el usuario menos privilegiado de todos que es el usuario + <username>nobody</username>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>server-program</term> + + <listitem> + <para>La ruta completa de la localización del dæmon + que se quiere ejecutar cuando se recibe un intento de + conexión. Si el dæmon es un servicio + proporcionado por el propio <application>inetd</application> se + debe utilizar la opcion <option>internal</option> en su + lugar.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>server-program-arguments</term> + + <listitem> + <para>Esto funciona en conjunción con + <option>server-program</option>, ya que especifica los + argumentos, comenzando por + <literal>argv[0]</literal>, que se pasan al dæmon + cuando se le invoca. Si la línea de comandos es + <command>mydaemon -d</command>, <literal>midæmon + -d</literal> debería ser el valor de la opción + <option>server-program-arguments</option>. Si el + dæmon es un servicio interno se debe utilizar la + utilizar la opción <option>internal</option> en lugar de + la que estamos comentando.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2 id="network-inetd-security"> + <title>Security</title> + + <para>Dependiendo del perfil de seguridad establecido cuando se + instaló el sistema &os; varios dæmones de + <application>inetd</application> pueden estar desactivados o + activados. Si no se necesita un dæmon determinado, <emphasis> + no lo active</emphasis>. Especifique un <quote>#</quote> al + comienzo de la línea del dæmon que quiere desactivar y + envíe una señal <link + linkend="network-inetd-hangup">hangup</link> a + <application>inetd</application>. No se aconseja ejecutar algunos + dæmones determinados (un caso típico es + <application>fingerd</application>) porque pueden proporcionar + información valiosa para un atacante.</para> + + <para>Algunos dæmones no presentan ninguna característica de + seguridad y poseen grandes o incluso no poseen tiempos de + expiración para los intentos de conexión. Esto permite + que un atacante sature los recursos de nuestra máquina + realizando intentos de conexión a una tasa relativamente baja + contra uno de estos ingenuos dæmones. Pueder ser una buena + idea protegerse de esto utilizando las opciones + <option>max-connections-per-ip-per-minute</option> y <option> + max-child</option> para este tipo de dæmones.</para> + + <para>El recubrimiento de TCP está activado por defecto tal y como + ya se ha comentado anteriormente. Consulte la página + del manual de &man.hosts.access.5; para obtener más + información sobre cómo aplicar restricciones + relacionadas con TCP a los dæmones invocados por + <application>inetd</application>.</para> + </sect2> + + <sect2 id="network-inetd-misc"> + <title>Varios</title> + + <para><application>daytime</application>, + <application>time</application>, + <application>echo</application>, + <application>discard</application>, + <application>chargen</application> y + <application>auth</application> son servicios que + <application>inetd</application> proporciona de forma + interna y propia.</para> + + <para>El servicio <application>auth</application> proporciona + servicios de identificación a través de la red + (<application>ident</application>, + <application>identd</application>) y se puede configurar + hasta en cierto grado.</para> + + <para>Consulte la página del manual de &man.inetd.8; si quiere + conocer todos los detalles.</para> + </sect2> + </sect1> + + <sect1 id="network-plip"> + <title>Línea IP Paralela (PLIP)</title> + + <indexterm><primary>PLIP</primary></indexterm> + <indexterm><primary>Parallel Line IP</primary></indexterm> + + <para>PLIP nos permite configurar TCP/IP a través del puerto + paralelo. Es útil para conectar máquinas que no poseen + tarjetas de red, o para instalar &os; en ciertos viejos modelos de + portátiles. En esta sección se explica lo + siguiente:</para> + + <itemizedlist> + <listitem> + <para>Construcción de un cable paralelo (laplink).</para> + </listitem> + + <listitem> + <para>Conexión de dos computadores utilizando PLIP.</para> + </listitem> + </itemizedlist> + + <sect2 id="network-create-parallel-cable"> + <title>Construcción de un Cable Paralelo</title> + + <para>Se puede comprar un cable paralelo en cualquier tienda de + componentes informáticos. No obstante si no es posible + comprarlo o simplemente queremos saber cómo hacerlo + nosotros mismos, en la siguiente tabla mostramos como hacer un cable + de impresora paralelo.</para> + + <table> + <title>Cableado de una Conexión de Cable Paralelo para Redes</title> + + <tgroup cols="5"> + <thead> + <row> + <entry>Nombre-A</entry> + + <entry>Extremo-A</entry> + + <entry>Extremo-B</entry> + + <entry>Descr.</entry> + + <entry>Post/Bit</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literallayout>DATA0 +-ERROR</literallayout></entry> + + <entry><literallayout>2 +15</literallayout></entry> + + <entry><literallayout>15 +2</literallayout></entry> + + <entry>Data</entry> + + <entry><literallayout>0/0x01 +1/0x08</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA1 ++SLCT</literallayout></entry> + + <entry><literallayout>3 +13</literallayout></entry> + + <entry><literallayout>13 +3</literallayout></entry> + + <entry>Data</entry> + + <entry><literallayout>0/0x02 +1/0x10</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA2 ++PE</literallayout></entry> + + <entry><literallayout>4 +12</literallayout></entry> + + <entry><literallayout>12 +4</literallayout></entry> + + <entry>Data</entry> + + <entry><literallayout>0/0x04 +1/0x20</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA3 +-ACK</literallayout></entry> + + <entry><literallayout>5 +10</literallayout></entry> + + <entry><literallayout>10 +5</literallayout></entry> + + <entry>Strobe</entry> + + <entry><literallayout>0/0x08 +1/0x40</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA4 +BUSY</literallayout></entry> + + <entry><literallayout>6 +11</literallayout></entry> + + <entry><literallayout>11 +6</literallayout></entry> + + <entry>Data</entry> + + <entry><literallayout>0/0x10 +1/0x80</literallayout></entry> + </row> + + <row> + <entry>GND</entry> + + <entry>18-25</entry> + + <entry>18-25</entry> + + <entry>GND</entry> + + <entry>-</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2 id="network-plip-setup"> + <title>Configuración de PLIP</title> + + <para>En primer lugar debemos tener en nuesras manos un cable <quote> + laplink</quote>. A continuación se debe comprobar que ambos + sistemas poseen núcleos con soporte para el controlador + &man.lpt.4;:</para> + + <screen>&prompt.root; <userinput>grep lp /var/run/dmesg.boot</userinput> +lpt0: <Printer> on ppbus0 +lpt0: Interrupt-driven port</screen> + + <para>El puerto paralelo debe ser un puerto controlado por alguna <quote> + irq</quote>. En &os; 4.X se debería tener un línea + como la siguiente en el fichero de configuración del + kernel:</para> + + <programlisting>device ppc0 at isa? irq 7</programlisting> + + <para>En &os; 5.X el fichero + <filename>/boot/device.hints</filename> debe contener las siguientes + líneas:</para> + + <programlisting>hint.ppc.0.at="isa" +hint.ppc.0.irq="7"</programlisting> + + <para>A continuación se debe comprobar que el fichero de + configuración del núcleo posee una línea con + <literal>device plip</literal> o también puede + comprobar si se ha cargado el módulo del núcleo + <filename>plip.ko</filename>. Tanto en un caso como en el otro, cuando + se ejecute &man.ifconfig.8; debería aparecer el interfaz de + red paralelo. En &os; 4.X se muestra algo parecido a + lo siguiente:</para> + + <screen>&prompt.root; <userinput>ifconfig lp0</userinput> +lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500</screen> + + <para>y en &os; 5.X:</para> + + <screen>&prompt.root; <userinput>ifconfig plip0</userinput> +plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500</screen> + + <note><para>El nombre del dispositivo utilizado para la interfaz + paralela es distinto en &os; 4.X + (<devicename>lp<replaceable>X</replaceable></devicename>) + y en &os; 5.X + (<devicename>plip<replaceable>X</replaceable></devicename>).</para></note> + + <para>Enchufe el cable <quote>laplink</quote> en los interfaces de ambos + computadores.</para> + + <para>Configure los parámetros de la interfaz de red en ambas + máquinas como <username>root</username>. Por ejemplo, si + queremos conectar la máquina <hostid>host1</hostid> + ejecutando &os; 4.X con la máquina + <hostid>host2</hostid> que ejecuta &os; 5.X:</para> + + <programlisting> host1 <-----> host2 +Dirección IP 10.0.0.1 10.0.0.2</programlisting> + + <para>Configure la interfaz de <hostid>host1</hostid> así:</para> + + <screen>&prompt.root; <userinput>ifconfig lp0 10.0.0.1 10.0.0.2</userinput></screen> + + <para>Configure la interfaz de <hostid>host2</hostid> por medio de:</para> + + <screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.2 10.0.0.1</userinput></screen> + + + <para>Tras esto debería disponerse de una conexión + totalmente funcional. Por favor, consulte &man.lp.4; y &man.lpt.4; + si quiere saber más.</para> + + <para>Además se debe añadir ambas máquinas al + fichero <filename>/etc/hosts</filename>:</para> + + <programlisting>127.0.0.1 localhost.mi.dominio localhost +10.0.0.1 host1.mi.dominio host1 +10.0.0.2 host2.mi.dominio</programlisting> + + <para>Para comprobar que efectivamente la conexión funciona se + puede probar a hacer un ping desde cada máquina. Por + ejemplo en la máquina <hostid>host1</hostid>:</para> + + <screen>&prompt.root; <userinput>ifconfig lp0</userinput> +lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 +&prompt.root; <userinput>netstat -r</userinput> +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +host2 host1 UH 0 0 lp0 +&prompt.root; <userinput>ping -c 4 host2</userinput> +PING host2 (10.0.0.2): 56 data bytes +64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms +64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms +64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms +64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms + +--- host2 ping statistics --- +4 packets transmitted, 4 packets received, 0% packet loss +round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms</screen> + + </sect2> + </sect1> + + <sect1 id="network-ipv6"> + <sect1info> + <authorgroup> + <author> + <firstname>Aaron</firstname> + <surname>Kaplan</surname> + <contrib>Texto original de </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + <contrib>Reestructurado y ampliado por </contrib> + </author> + </authorgroup> + </sect1info> + + <title>IPv6</title> + <para>IPv6 (también conocido como IPng o <quote>IP de nueva + generación</quote>) es la nueva versión del conocido + protocolo de red IP, tambíen llamado IPv4. Como sucede con el + resto de los sistemas *BSD &os; proporciona una implementación + de referencia que desarrolla el proyecto japonés + <acronym>KAME</acronym>. &os; dispone de todo lo necesario para + experimentar con el nuevo protocolo de red. Esta sección se + centra en conseguir configurar y ejecutar correctamente el protocolo + IPv6.</para> + + <para>Al comienzo de los años 90 la gente comenzó a + preocuparse por el rápido consumo del espacio de direcciones + de IPv4. Dada la expansión actual de Internet existen dos + preocupaciones principales:</para> + + <itemizedlist> + <listitem> + <para>Agotamiento de las direcciones disponibles. Actualmente + no se trata del principal problema debido al uso generalizado del + del espacio de direccionamiento privado + (<hostid role="ipaddr">10.0.0.0/8</hostid>, + <hostid role="ipaddr">192.168.0.0/24</hostid>, etc.) junto con + <acronym>NAT</acronym>. + </listitem> + + <listitem> + <para>El número de entradas de las tablas de rutas comenzaba a + ser imposible de manejar. Esto todavia es un problema + prioritario.</para> + </listitem> + </itemizedlist> + + <para>IPv6 trata de resolver estos problemas y algunos más de la + siguiente forma:</para> + + <itemizedlist> + <listitem> + <para>IPv6 posee un espacio de direccionamiento de 128 bits. En otras + palabras, en teoría existen + 340,282,366,920,938,463,463,374,607,431,768,211,456 + direcciones disponibles. Esto significa que existen + aproximadamente 6.67 * 10^27 direcciones IPv6 por metro cuadrado + disponibles para todo el planeta Tierra.</para> + </listitem> + + <listitem> + <para>Los <quote>routers</quote> sólo almacenan direcciones de + red agregadas así que se reduce el número de entradas + para cada tabla de rutas a un promedio de 8192.</para> + </listitem> + </itemizedlist> + + <para>Existen además muchas otras caracterísiticas + interesantes que IPv6 proporciona, como:</para> + + <itemizedlist> + <listitem> + <para>Autoconfiguración de direcciones (<ulink + url="http://www.ietf.org/rfc/rfc2462.txt">RFC2462</ulink>)</para> + </listitem> + + <listitem> + <para>Direcciones anycast (<quote>una-de-varias</quote>)</para> + </listitem> + + <listitem> + <para>Soporte de direcciones multicast predefinido</para> + </listitem> + + <listitem> + <para>IPsec (Seguridad en IP)</para> + </listitem> + + <listitem> + <para>Estructura de la cabecera simplificada</para> + </listitem> + + <listitem> + <para>IP móvil</para> + </listitem> + + <listitem> + <para>Mecanismos de traducción de IPv6 a IPv4 (y viceversa)</para> + </listitem> + </itemizedlist> + + + <para>Si quiere saber más sobre IPv6 le recomendamos que + consulte:</para> + + <itemizedlist> + <listitem> + <para>Resumen de IPv6 en <ulink url="http://playground.sun.com/pub/ipng/html/ipng-main.html">playground.sun.com</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.kame.net">KAME.net</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.6bone.net">6bone.net</ulink></para> + </listitem> + </itemizedlist> + + <sect2> + <title>Conceptos Básicos sobre las Direcciones IPv6</title> + + <para>Existen varios tipos distintos de direcciones IPv6: Unicast, + Anycast y Multicast.</para> + + <para>Las direcciones unicast son direcciones bien conocidas. Un + paquete que se envía a una dirección unicast + deberín llega a la interfaz identificada por dicha + dirección.</para> + + <para>Las direcciones anycast son sintácticamente indistinguibles + de las direcciones unicast pero sirven para identificar a un + <emphasis>conjunto</emphasis> de interfaces. Un paquete destinado a + una dirección anycast llega a la interfaz + <quote>más cercana</quote> (en términos de + métrica de <quote>routers</quote>). Las direcciones anycast + sólo se pueden utilizar en <quote>routers</quote>.</para> + + <para>Las direcciones multicast identifican un grupo de interfaces. + Un paquete destinado a una dirección multicast llega a todos los + los interfaces que se encuentran agrupados bajo dicha + dirección.</para> + + <note><para>Las direcciones IPv4 de tipo broadcast + (normalmente <hostid + role="ipaddr">xxx.xxx.xxx.255</hostid>) se expresan en + IPv6 mediante direcciones multicast.</para></note> + + <table> + <title>Direcciones IPv6 Reservadas</title> + + <tgroup cols="4"> + <thead> + <row> + <entry>Dirección IPv6</entry> + <entry>Longitud del Prefijo (Bits)</entry> + <entry>Descripción</entry> + <entry>Notas</entry> + </row> + </thead> + + <tbody> + <row> + <entry><hostid role="ip6addr">::</hostid></entry> + <entry>128 bits</entry> + <entry>sin especificar</entry> + <entry>como <hostid role="ipaddr">0.0.0.0</hostid> en Pv4</entry> + </row> + + <row> + <entry><hostid role="ip6addr">::1</hostid></entry> + <entry>128 bits</entry> + <entry>dirección de bucle local (loopback)</entry> + <entry>como las <hostid role="ipaddr">127.0.0.1</hostid> en + IPv4</entry> + </row> + + <row> + <entry><hostid + role="ip6addr">::00:xx:xx:xx:xx</hostid></entry> + <entry>96 bits</entry> + <entry>direcciónes IPv6 compatibles con IPv4</entry> + <entry>Los 32 bits más bajos contienen una + dirección IPv4. También se denominan direcciones + <quote>empotradas.</quote></entry> + </row> + + <row> + <entry><hostid + role="ip6addr">::ff:xx:xx:xx:xx</hostid></entry> + <entry>96 bits</entry> + <entry>direcciones IPv6 mapeadas a IPv4</entry> + <entry>Los 32 bits más bajos contienen una + dirección IPv4. Se usan para representar direcciones + IPv4 mediante direcciones IPv6.</entry> + </row> + + <row> + <entry><hostid role="ip6addr">fe80::</hostid> - + <hostid role="ip6addr">feb::</hostid></entry> + <entry>10 bits</entry> + <entry>direcciones link-local</entry> + <entry>equivalentes a la dirección de loopback de + IPv4</entry> + </row> + + <row> + <entry><hostid role="ip6addr">fec0::</hostid> - + <hostid role="ip6addr">fef::</hostid></entry> + <entry>10 bits</entry> + <entry>direcciones site-local</entry> + <entry>Equivalentes al direccionamiento privado de IPv4</entry> + </row> + + <row> + <entry><hostid role="ip6addr">ff::</hostid></entry> + <entry>8 bits</entry> + <entry>multicast</entry> + <entry> </entry> + </row> + + <row> + <entry><hostid role="ip6addr">001</hostid> (base + 2)</entry> + <entry>3 bits</entry> + <entry>direcciones unicast globales</entry> + <entry>Todas las direcciones IPv6 globales se asignan a partir de + este espacio. Los primeros tres bits siempre son + <quote>001</quote>.</entry> + + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2> + <title>Lectura de las Direcciones IPv6</title> + <para>La forma canónica que se utiliza para representar + direcciones IPv6 es: <hostid + role="ip6addr">x:x:x:x:x:x:x:x</hostid>, donde cada + <quote>x</quote> se considera un valor hexadecimal de 16 Bit. + Por ejemplo + <hostid + role="ip6addr">FEBC:A574:382B:23C1:AA49:4592:4EFE:9982</hostid></para> + + <para>A menudo una dirección posee alguna subcadena de varios + ceros consecutivos de forma que se puede abreviar dicha cadena + (sólo una vez, para evitar ambigúedades) mediante + <quote>::</quote>. También se pueden omitir los ceros a la + ceros a la izquierda dentro de un valor + <quote>x</quote>. Por ejemplo + <hostid role="ip6addr">fe80::1</hostid> se corresponde con la forma + canónica + <hostid role="ip6addr">fe80:0000:0000:0000:0000:0000:0000:0001</hostid>.</para> + + <para>Una tercera forma de escribir direciones IPv6 es utilizando la + ya tradicional notación decimal de IPv4 pero + sólamente para los 32 bits más bajos de la + dirección IPv6. Por ejemplo + <hostid role="ip6addr">2002::10.0.0.1</hostid> se correspondería + con la representation hexadecimal canónica + <hostid role="ip6addr">2002:0000:0000:0000:0000:0000:0a00:0001</hostid> + la cual es equivalente también a escribir <hostid + role="ip6addr">2002::a00:1</hostid>.</para> + + + <para>A estas alturas el lector debería ser capaz de comprender + lo siguiente:</para> + + <screen>&prompt.root; <userinput>ifconfig</userinput></screen> + + <programlisting>rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 + inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 + ether 00:00:21:03:08:e1 + media: Ethernet autoselect (100baseTX ) + status: active</programlisting> + + <para><hostid role="ip6addr">fe80::200:21ff:fe03:8e1%rl0</hostid> + es una dirección link-local autoconfigurada. Se construye a + partir de la dirección MAC de la tarjeta de red.</para> + + <para>Si quiere saber más sobre la estructura de las + direcciones IPv6 puede consultar <ulink + url="http://www.ietf.org/rfc/rfc3513.txt">RFC3513</ulink>.</para> + </sect2> + + <sect2> + <title>Establecimiento de Conectividad</title> + + <para>Actualmente existen cuatro formas distintas de conectarse + con otras máquinas y redes IPv6:</para> + + <itemizedlist> + <listitem> + <para>Unirse a la red experimental denominada 6bone</para> + </listitem> + + <listitem> + <para>Obtener una red IPv6 a través de nuestro proveedor de + acceso a Internet. Consulte a su proveedor de servicios para + para más información.</para> + </listitem> + + <listitem> + <para>Encapsulación de IPv6 sobre IPv4 (<ulink + url="http://www.ietf.org/rfc/rfc3068.txt">RFC3068</ulink>)</para> + </listitem> + + <listitem> + <para>Utilización del <quote>port</quote> <filename + role="package">net/freenet6</filename> si se dispone de una + de una conexión de marcación por modem.</para> + </listitem> + </itemizedlist> + + <para>Vamos a explicar cómo conectarse al 6bone ya que parece ser + la forma más utilizada en la actualidad.</para> + + <para>En primer lugar se recomienda consultar el sitio web de + <ulink url="http://www.6bone.net/">6bone</ulink> para saber + cuál es la conexión del 6bone (físicamente) + más próxima. Se debe escribir a la persona responsable + de ese nodo y con un poco de suerte dicha persona responderá con + con un conjunto de instrucciones y pasos a seguir para establecer la + la conexión con ellos y a través de ellos con el resto + de los nodos IPv6 que forman parte del 6bone. Normalmente esta + conexión se establece usando túneles GRE (gif).</para> + + <para>Veamos un ejemplo típico de configuración de un + de un túnel &man.gif.4;:</para> + + <screen>&prompt.root; <userinput>ifconfig gif0 create</userinput> +&prompt.root; <userinput>ifconfig gif0</userinput> +gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 +&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>MI_DIRECCIÓn_IPV4</replaceable> <replaceable>SU_DIRECCIÓn_IPV4</replaceable></userinput> +&prompt.root; <userinput>ifconfig gif0 inet6 alias <replaceable>DIRECCIÓn_DE-SALIDA_IPv6_DEL_TÚNEL_ASIGNADO</replaceable></userinput></screen> + + <para>Sustituya las palabras en mayúsculas por la + información recibida del nodo 6bone al que nos queremos + conectar.</para> + + <para>El comando anterior establece el túnel. Compruebe que el + túnel funciona correctamente mediante &man.ping.8;. + Haga un &man.ping6.8; a <hostid + role="ip6addr">ff02::1%gif0</hostid>. Deberíamos recibir + recibir <quote>dos</quote> respuestas.</para> + + <note><para>Para que el lector no se quede pensando en el significado + significado de la dirección <hostid + role="ip6addr">ff02:1%gif0</hostid> le podemos decir que se trata de + de una dirección IPv6 multicast de tipo link-local. + <literal>%gif0</literal> no forma parte del protocolo IPv6 como tal + sino que se trata de un detalle de implementación relacionado + con las direcciones link-local y se añade para especificar la + interfaz de salida que se debe utilizar para enviar los paquetes de + &man.ping6.8;. Como estamos haciendo ping a una dirección + multicast a la que se unen todos los interfaces pertenecientes al + mismo enlace debería responder al ping tanto nuestro propio + interfaz como el interfaz remoto.</para></note> + + <para>A continuación se configura la ruta por defecto hacia + nuestro enlace 6bone; observe que es muy semejante a lo que hay que + hacer en IPv4:</para> + + <screen>&prompt.root; <userinput>route add -inet6 default -interface gif0</userinput> +&prompt.root; <userinput>ping6 -n <replaceable>MI_UPLINK</replaceable></userinput></screen> + + <screen>&prompt.root; <userinput>traceroute6 www.jp.FreeBSD.org</userinput> +(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets + 1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms + 2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms * + 3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms + 4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms + 5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms + 6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms</screen> + + <para>Esta captura de pantalla variará dependiendo de la + localización de la máquina. Tras seguir estos pasos + deberíamos poder alcanzar el sitio IPv6 de <ulink + url="http://www.kame.net">www.kame.net</ulink> y ver la tortuga + bailarina, que es una imagen animada que sólo se muestra cuando + se accede al servidor web utilizando el protocolo IPv6 (para + ellos se encesita utilizar un navegador web que soporte IPv6, + IPv6, por ejemplo <filename + role="package">www/mozilla</filename> o + <application>Konqueror</application>, que forma parte de + <filename role="package">x11/kdebase3</filename>, o también + con <filename role="package">www/epiphany</filename>.</para> + + </sect2> + + <sect2> + <title>DNS en el Mundo IPv6</title> + + <para>Existen dos tipos de registros de DNS para IPv6. No + obstante el IETF ha declarado los registros A6 y CNAME como registros + para uso experimental. Los registros de tipo AAAA son los + únicos estandar a día de hoy.</para> + + <para>La utilización de registros de tipo AAAA es muy + sencilla. Se asocia el nombre de la máquina con la + dirección IPv6 de la siguiente forma:</para> + + <programlisting>NOMBREDEMIMÁQUINA AAAA MIDIRECCIÓNIPv6</programlisting> + + <para>De igual forma que en IPv4 se utilizan los registros de tipo + A. En caso de no poder administrar su propia zona de + <acronym>DNS</acronym> se puede pedir esta configuración a su + proveedor de servicios. Las versiones actuales de + <application>bind</application> (versiones 8.3 y 9) y el + <quote>port</quote> <filename role="package">dns/djbdns</filename> + (con el parche de IPv6 correspondiente) soportan los registros de tipo + AAAA.</para> + + </sect2> + </sect1> + + <sect1 id="network-atm"> + <sect1info> + <authorgroup> + <author> + <firstname>Harti</firstname> + <surname>Brandt</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + + <title>ATM en &os; 5.X</title> + + <sect2> + <title>Configuración de IP clásico sobre ATM (PVCs)</title> + + <para>IP clásico sobre ATM (<acronym>CLIP</acronym>) es el + método más sencillo de utilizar ATM con IP. Se puede + utilizar con conexiones conmutadas (SVC) y con conexiones + permanentes (PVCs). En esta sección se describe cómo + configurar una red basada en PVCs.</para> + + <sect3> + <title>Configuraciones en Red Mallada Completa</title> + + <para>El primer método para configurar <acronym>CLIP</acronym> + con PVCs consiste en conectar unas máquinas con otras mediante + circuitos PVC dedicados. Aunque la configuración parece + sencilla llega a resultar imposible de manejar cuando se posee un + número grande de máquinas. El ejemplo que se muestra + a continuación supone que nuestra red posee cuatro + máquinas y que cada una se conecta a la red ATM mediante una + tarjeta de red ATM. El primer paso consiste en planificar las + direcciones IP y las conexiones ATM que se van a configurar en las + máquinas.</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <thead> + <row> + <entry>Máquina</entry> + <entry>Dirección IP</entry> + </row> + </thead> + + <tbody> + <row> + <entry><hostid>hostA</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.1</hostid></entry> + </row> + + <row> + <entry><hostid>hostB</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.2</hostid></entry> + </row> + + <row> + <entry><hostid>hostC</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.3</hostid></entry> + </row> + + <row> + <entry><hostid>hostD</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.4</hostid></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Para construir una red completamente mallada necesitamos una + conexión ATM entre cada par de máquinas:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <thead> + <row> + <entry>Máquinas</entry> + <entry>Pareja VPI.VCI</entry> + </row> + </thead> + + <tbody> + <row> + <entry><hostid>hostA</hostid> - <hostid>hostB</hostid></entry> + <entry>0.100</entry> + </row> + + <row> + <entry><hostid>hostA</hostid> - <hostid>hostC</hostid></entry> + <entry>0.101</entry> + </row> + + <row> + <entry><hostid>hostA</hostid> - <hostid>hostD</hostid></entry> + <entry>0.102</entry> + </row> + + <row> + <entry><hostid>hostB</hostid> - <hostid>hostC</hostid></entry> + <entry>0.103</entry> + </row> + + <row> + <entry><hostid>hostB</hostid> - <hostid>hostD</hostid></entry> + <entry>0.104</entry> + </row> + + <row> + <entry><hostid>hostC</hostid> - <hostid>hostD</hostid></entry> + <entry>0.105</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Los valores VPI y VCI en cada extremo de la conexión + pueden ser diferentes pero por simplicidad suponemos que son + iguales. A continuación necesitamos configurar las + interfaces ATM en cada máquina:</para> + + <screen>hostA&prompt.root; ifconfig hatm0 192.168.173.1 up +hostB&prompt.root; ifconfig hatm0 192.168.173.2 up +hostC&prompt.root; ifconfig hatm0 192.168.173.3 up +hostD&prompt.root; ifconfig hatm0 192.168.173.4 up</screen> + + <para>Suponiendo que la interfaz ATM es + <devicename>hatm0</devicename> en todas las máquinas. Ahora + necesitamos configurar los PVCs en las máquinas (suponemos que + ya se han configurado de forma correcta en el <quote>switch</quote> + ATM, para lo cual puede ser necesario consultar el manual del + <quote>switch</quote>).</para> + + <screen>hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr +hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr +hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr + +hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr +hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr +hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr + +hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr +hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr +hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr + +hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr +hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr +hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</screen> + + <para>Por supuesto que se pueden utilizar otras especificaciones + de tráfico siempre y cuando las tarjetas de red las + soporten. En este caso la especificación del tipo de + tráfico se completa con los parámetros del + tráfico. Puede acceder a la ayuda de &man.atmconfig.8; + así:</para> + + <screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen> + + <para>y por supuesto en la página de manual de + &man.atmconfig.8;.</para> + + <para>Se puede crear la misma configuración utilizando el + fichero <filename>/etc/rc.conf</filename>. Para la máquina + <hostid>hostA</hostid> sería algo así:</para> + +<programlisting>network_interfaces="lo0 hatm0" +ifconfig_hatm0="inet 192.168.173.1 up" +natm_static_routes="hostB hostC hostD" +route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr" +route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr" +route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"</programlisting> + + <para>El estado de todas las rutas + <acronym>CLIP</acronym> se puede obtener en todo momento + con:</para> + + <screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen> + </sect3> + </sect2> + </sect1> </chapter> -<!-- +<!-- Local Variables: mode: sgml sgml-declaration: "../chapter.decl" sgml-indent-data: t - sgml-omittag: nil + sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: --> + +<!-- LocalWords: config mnt www --> diff --git a/es_ES.ISO8859-1/books/handbook/book.sgml b/es_ES.ISO8859-1/books/handbook/book.sgml index 1b06931755..8627e55a0a 100755 --- a/es_ES.ISO8859-1/books/handbook/book.sgml +++ b/es_ES.ISO8859-1/books/handbook/book.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/book.sgml,v 1.7 2004/10/08 22:36:39 jesusr Exp $ --> <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ @@ -14,6 +15,9 @@ <!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN"> %freebsd; +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES"> +%translators; + <!ENTITY % chapters SYSTEM "chapters.ent"> %chapters; <!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> %authors; @@ -22,6 +26,9 @@ <!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//ES"> %mailing-lists; <!ENTITY % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//EN"> %newsgroups; <!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN"> %trademarks; +<!ENTITY % txtfiles SYSTEM "txtfiles.ent"> +%txtfiles; + <!ENTITY % not.published "INCLUDE"> <!ENTITY % chap.introduction "IGNORE"> @@ -44,7 +51,7 @@ <!ENTITY % chap.advanced-networking "IGNORE"> <!ENTITY % chap.mail "IGNORE"> <!ENTITY % chap.cutting-edge "IGNORE"> -<!ENTITY % chap.policies "IGNORE"> +<!-- <!ENTITY % chap.policies "IGNORE"> --> <!ENTITY % chap.kerneldebug "IGNORE"> <!ENTITY % chap.linuxemu "IGNORE"> <!ENTITY % chap.mirrors "IGNORE"> @@ -173,8 +180,8 @@ </listitem> <listitem> - <para>Explican como instalar la gran cantidad de software de terceros - disponible para FreeBSD.</para> + <para>Explican como instalar la gran cantidad de software de + terceros disponible para FreeBSD.</para> </listitem> <listitem> @@ -196,6 +203,58 @@ <![ %chap.x11; [ &chap.x11; ]]> </part> + <part id="common-tasks"> + <title>Tareas comunes</title> + + <partintro> + <para>Ahora que se han cubierto los esquemas básicos, + parte del Handbook de FreeBSD cubre algunas de las + características más usadas de FreeBSD:</para> + + <itemizedlist> + <listitem> + <para>Introducción a algunas de las aplicaciones de + escritorio: navegadores, herramientas de productividad, + visores de documentos, etc.</para> + </listitem> + + <listitem> + <para>Introducción a algunas de las herramientas + multimedia de FreeBSD.</para> + </listitem> + + <listitem> + <para>Explicación de cómo crear un kernel de + FreeBSD personalizado para obtener nuevas + funcionalidades en el sistema.</para> + </listitem> + + <listitem> + <para>Descripción en detalle del sistema de + impresión tanto en entornos de escritorio como en + impresoras conectadas en red.</para> + </listitem> + + <listitem> + <para>Cómo ejecutar aplicaciones de Linux en + FreeBSD.</para> + </listitem> + </itemizedlist> + + <para>Algunos de los capítulos recomiendan lecturas de + capítulos anteriores, lo que se indica al inicio de + cada capítulo.</para> + </partintro> + +<!-- <![ %chap.desktop; [ &chap.desktop; ]]> --> + <![ %chap.multimedia; [ &chap.multimedia; ]]> + <![ %chap.kernelconfig; [ &chap.kernelconfig; ]]> + <![ %chap.kerneldebug; [ &chap.kerneldebug; ]]> + <![ %chap.kernelopts; [ &chap.kernelopts; ]]> + <![ %chap.printing; [ &chap.printing; ]]> + <![ %chap.linuxemu; [ &chap.linuxemu; ]]> + </part> + <part id="system-administration"> <title>Administración del sistema.</title> @@ -216,21 +275,56 @@ <![ %chap.config; [ &chap.config; ]]> <![ %chap.boot; [ &chap.boot; ]]> <![ %chap.users; [ &chap.users; ]]> - <![ %chap.kernelconfig; [ &chap.kernelconfig; ]]> <![ %chap.security; [ &chap.security; ]]> - <![ %chap.printing; [ &chap.printing; ]]> <![ %chap.disks; [ &chap.disks; ]]> <![ %chap.vinum; [ &chap.vinum; ]]> <![ %chap.l10n; [ &chap.l10n; ]]> - <![ %chap.multimedia; [ &chap.multimedia; ]]> + <![ %chap.cutting-edge; [ &chap.cutting-edge; ]]> +<!-- <![ %chap.policies; [ &chap.policies; ]]> --> + </part> + + <part id="network-communication"> + <title>Comunicaciones en red</title> + + <partintro> + <para>FreeBSD es uno de los sistemas operativos más + usados como servidores en red de alto rendimiento. Los + siguientes capítulos cubren:</para> + + <itemizedlist> + <listitem> + <para>Comunicaciones serie</para> + </listitem> + + <listitem> + <para>PPP y PPP sobre Ethernet</para> + </listitem> + + <listitem> + <para>Correo electrónico</para> + </listitem> + + <listitem> + <para>Servidores de red</para> + </listitem> + + <listitem> + <para>Otros aspectos avanzados de red</para> + </listitem> + </itemizedlist> + + <para>Estos capítulos están diseñados para + ser leidos cuando sea necesario. No tienen porque leerse en un + determinado orden o leerlos todos antes de poder usar FreeBSD + en un entorno de red.</para> + </partintro> + <![ %chap.serialcomms; [ &chap.serialcomms; ]]> <![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]> - <![ %chap.advanced-networking; [ &chap.advanced-networking; ]]> <![ %chap.mail; [ &chap.mail; ]]> - <![ %chap.cutting-edge; [ &chap.cutting-edge; ]]> - <![ %chap.policies; [ &chap.policies; ]]> - <![ %chap.kerneldebug; [ &chap.kerneldebug; ]]> - <![ %chap.linuxemu; [ &chap.linuxemu; ]]> +<!-- <![ %chap.network-servers; [ &chap.network-servers; ]]> --> + <![ %chap.advanced-networking; [ &chap.advanced-networking; ]]> + </part> <part id="appendices"> diff --git a/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml b/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml index 46e35f7607..9a887d6096 100644 --- a/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml,v 1.3 2004/10/08 18:39:51 jesusr Exp $ --> <chapter id="boot"> @@ -621,6 +622,26 @@ boot:</screen> </sect2> --> </sect1> + <sect1 id="device-hints"> + <sect1info> + <authorgroup> + <author> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + <!-- 18 OCT 2002 --> + </sect1info> + <indexterm> + <primary>device.hints</primary> + </indexterm> + <title>Device Hints</title> + + <para>Pendiente de Traducción</para> + + </sect1> + <sect1 id="boot-init"> <indexterm> <primary><command>init</command></primary> diff --git a/es_ES.ISO8859-1/books/handbook/chapters.ent b/es_ES.ISO8859-1/books/handbook/chapters.ent index d8d823040a..cbe574728d 100755 --- a/es_ES.ISO8859-1/books/handbook/chapters.ent +++ b/es_ES.ISO8859-1/books/handbook/chapters.ent @@ -10,6 +10,7 @@ referenciados. $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/chapters.ent,v 1.2 2004/10/08 22:36:51 jesusr Exp $ --> <!ENTITY chap.preface SYSTEM "preface/preface.sgml"> @@ -19,30 +20,43 @@ <!ENTITY chap.install SYSTEM "install/chapter.sgml"> <!ENTITY chap.basics SYSTEM "basics/chapter.sgml"> <!ENTITY chap.ports SYSTEM "ports/chapter.sgml"> +<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> <!-- Part two --> +<!-- <!ENTITY chap.desktop SYSTEM "desktop/chapter.sgml"> --> +<!ENTITY chap.multimedia SYSTEM "multimedia/chapter.sgml"> +<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> +<!ENTITY chap.kerneldebug SYSTEM "kerneldebug/chapter.sgml"> +<!ENTITY chap.kernelopts SYSTEM "kernelopts/chapter.sgml"> +<!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> +<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml"> + +<!-- Part three --> <!ENTITY chap.config SYSTEM "config/chapter.sgml"> <!ENTITY chap.boot SYSTEM "boot/chapter.sgml"> <!ENTITY chap.users SYSTEM "users/chapter.sgml"> -<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> <!ENTITY chap.security SYSTEM "security/chapter.sgml"> -<!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> +<!-- <!ENTITY chap.mac SYSTEM "mac/chapter.sgml"> --> <!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> <!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml"> -<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> <!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml"> -<!ENTITY chap.multimedia SYSTEM "multimedia/chapter.sgml"> +<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml"> + +<!-- Part four --> <!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml"> <!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml"> -<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml"> <!ENTITY chap.mail SYSTEM "mail/chapter.sgml"> -<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml"> -<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml"> +<!-- <!ENTITY chap.network-servers SYSTEM "network-servers/chapter.sgml"> --> +<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml"> -<!-- Part three (appendices) --> +<!-- Part five (appendices) --> <!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml"> +<!-- <!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.sgml.ftp.inc"> --> +<!-- <!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.sgml.cvsup.inc"> --> + <!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml"> <!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml"> +<!-- <!ENTITY chap.eresources.www.inc SYSTEM "eresources.sgml.www.inc"> --> <!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml"> <!ENTITY chap.index SYSTEM "index.sgml"> <!ENTITY chap.colophon SYSTEM "colophon.sgml"> diff --git a/es_ES.ISO8859-1/books/handbook/colophon.sgml b/es_ES.ISO8859-1/books/handbook/colophon.sgml index dcb9544872..0450a8f9c5 100644 --- a/es_ES.ISO8859-1/books/handbook/colophon.sgml +++ b/es_ES.ISO8859-1/books/handbook/colophon.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/colophon.sgml,v 1.2 2004/10/08 21:21:21 jesusr Exp $ --> <colophon> @@ -13,8 +14,9 @@ software libre. Se han usado las hojas de estilo DSSSL de Norm Walsh con personalización de niveles para las instrucciones de presentación de Jade. La versión impresa de este - documento no hubiese sido posible sin los programas <application>TeX</application> - de Donald Knuth, <application>LaTeX</application> de Leslie Lamport y + documento no hubiese sido posible sin los programas + <application>TeX</application> de Donald Knuth, + <application>LaTeX</application> de Leslie Lamport y <application>JadeTeX</application> de Sebastian Rahtz.</para> </colophon> diff --git a/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml b/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml index 369cf5659a..c2050107cb 100644 --- a/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml,v 1.3 2004/10/08 18:41:49 jesusr Exp $ --> <chapter id="disks"> @@ -10,82 +11,111 @@ <para><emphasis>Escrito por &a.obrien; 26 de Abril de 1998</emphasis></para> <para>Supongamos que queremos añadir un nuevo disco SCSI a una - máquina que en la actualidad sólo tiene un único - disco. En primer lugar, apague el ordenador e instale el disco siguiendo - las instrucciones del fabricante del ordenador, de la controladora y del - propio disco. A causa de la diversidad de procedimientos para hacer esto, - los detalles exceden el ámbito de este documento.</para> + máquina que en la actualidad sólo tiene un único + disco. En primer lugar, apague el ordenador e instale el disco siguiendo + las instrucciones del fabricante del ordenador, de la controladora y del + propio disco. A causa de la diversidad de procedimientos para hacer esto, + los detalles exceden el ámbito de este documento.</para> <para>Entre en el sistema como el usuario <username>root</username>. Una - vez que haya instalado el disco, inspeccione - <filename>/var/run/dmesg.boot</filename> para asegurarse de que el nuevo - disco ha sido encontrado. Continuando con nuestro ejemplo, el disco - recientemente añadido será <filename>da1</filename> y lo - montaremos en <filename>/1</filename> (si está usted - añadiendo un disco IDE, sustituya <filename>da</filename> por - <filename>wd</filename>).</para> + vez que haya instalado el disco, inspeccione + <filename>/var/run/dmesg.boot</filename> para asegurarse de que el nuevo + disco ha sido encontrado. Continuando con nuestro ejemplo, el disco + recientemente añadido será <filename>da1</filename> y lo + montaremos en <filename>/1</filename> (si está usted + añadiendo un disco IDE, sustituya <filename>da</filename> por + <filename>wd</filename>).</para> <para>Como FreeBSD funciona en ordenadores compatibles con el IBM-PC, debe - tener en cuenta las particiones de la BIOS del PC. Estas son diferentes de - las particiones tradicionales de tipo BSD. Un disco de PC puede tener - hasta cuatro entradas para particiones de tipo BIOS. Si el disco va a ser - realmente dedicado a FreeBSD, puede usted emplear el modo dedicado - (<emphasis>dedicated</emphasis>). En otro caso, FreeBSD tendrá que - alojarse en una de las particiones de la BIOS. FreeBSD llama a las - particiones de la BIOS <emphasis>slices</emphasis>, para no confundirlas - con las particiones tradicionales de tipo BSD. También puede usted - usar slices en un disco que esté dedicado a FreeBSD, pero en un - ordenador que además tenga otro sistema operativo instalado. Esto - es así para no confundir a la utilidad <command>fdisk</command> del - otro sistema operativo.</para> + tener en cuenta las particiones de la BIOS del PC. Estas son diferentes + de las particiones tradicionales de tipo BSD. Un disco de PC puede tener + hasta cuatro entradas para particiones de tipo BIOS. Si el disco va a ser + realmente dedicado a FreeBSD, puede usted emplear el modo dedicado + (<emphasis>dedicated</emphasis>). En otro caso, FreeBSD tendrá que + alojarse en una de las particiones de la BIOS. FreeBSD llama a las + particiones de la BIOS <emphasis>slices</emphasis>, para no confundirlas + con las particiones tradicionales de tipo BSD. También puede usted + usar slices en un disco que esté dedicado a FreeBSD, pero en un + ordenador que además tenga otro sistema operativo instalado. Esto + es así para no confundir a la utilidad <command>fdisk</command> + del otro sistema operativo.</para> <para>En el caso de utilizar slices, el disco será añadido - como <filename>/dev/da1s1e</filename>. Esto se lee del siguiente modo: - disco SCSI, unidad número 1 (segundo disco SCSI), slice 1 - (partición 1 de la BIOS) y partición <filename>e</filename> - de tipo BSD. En el caso de utilizar el modo dedicado, el disco será - añadido, simplemente, como <filename>/dev/da1e</filename>.</para> + como <filename>/dev/da1s1e</filename>. Esto se lee del siguiente modo: + disco SCSI, unidad número 1 (segundo disco SCSI), slice 1 + (partición 1 de la BIOS) y partición <filename>e</filename> + de tipo BSD. En el caso de utilizar el modo dedicado, el disco será + añadido, simplemente, como <filename>/dev/da1e</filename>.</para> <sect1> <title>Uso de Sysinstall</title> <para>Puede utilizar <command>/stand/sysinstall</command> para crear y - etiquetar particiones en un disco nuevo usando sus intuitivos - menús. Bien entre en el sistema como el usuario - <username>root</username>, o bien utilice el comando - <command>su</command>. Ejecute <command>/stand/sysinstall</command> y - seleccione el menú <literal>Configure</literal>. Dentro del - menú <literal>FreeBSD Configuration Menu</literal>, baje hasta - seleccionar la opción <literal>Partition</literal>. A - continuación, se le debería mostrar una lista de los - discos duros instalados en su sistema. Si no aparece - <literal>da1</literal>, deberá usted comprobar la - instalación física del disco y la salida del comando - <command>dmesg</command> almacenada en el archivo - <filename>/var/run/dmesg.boot</filename>.</para> + etiquetar particiones en un disco nuevo usando sus intuitivos + menús. Bien entre en el sistema como el usuario + <username>root</username>, o bien utilice el comando + <command>su</command>. Ejecute <command>/stand/sysinstall</command> y + seleccione el menú <literal>Configure</literal>. Dentro del + menú <literal>FreeBSD Configuration Menu</literal>, baje hasta + seleccionar la opción <literal>Partition</literal>. A + continuación, se le debería mostrar una lista de los + discos duros instalados en su sistema. Si no aparece + <literal>da1</literal>, deberá usted comprobar la + instalación física del disco y la salida del comando + <command>dmesg</command> almacenada en el archivo + <filename>/var/run/dmesg.boot</filename>.</para> <para>Seleccione <literal>da1</literal> para pasar al editor de - particiones <literal>FDISK Partition Editor</literal>. Pulse - <literal>A</literal> para usar el disco entero para FreeBSD. Cuando se - le pregunte si quiere mantener el disco compatible con la - instalación de algún sistema operativo en el futuro - (<quote>remain cooperative with any future possible operating systems</quote>) - conteste afirmativamente (<literal>YES</literal>). Escriba los cambios en - el disco pulsando <command>W</command>. Ahora salga del editor FDISK - pulsando <command>q</command>. A continuación se le - preguntará acerca del sector de inicio del disco (MBR, Master - Boot Record). Como está usted añadiendo un disco a un - sistema que ya se encuentra en funcionamiento, seleccione la - opción <literal>None</literal> (esta opción deja el MBR - intacto).</para> - - <para>A continuación llegará al <literal>Disk Label Editor</literal>. Aquí es donde creará las particiones de estilo tradicional BSD. Un disco puede tener hasta ocho particiones, designadas a-h. Algunas de las etiquetas de las particiones tienen usos especiales. La etiqueta <literal>a</literal> se utiliza para la partición raíz (<filename>/</filename>, root partition). Por tanto, sólo su disco de sistema (es decir, aquel desde el cual arranca el sistema) debería tener una partición <literal>a</literal>. La etiqueta <literal>b</literal> se utiliza para particiones de swap (memoria virtual) y es posible tener varios discos con particiones de swap. La etiqueta <literal>c</literal> representa a todo el disco utilizado en modo dedicado, o a todo el slice de FreeBSD si es que utilizamos el modo slice. Las restantes etiquetas son para uso general.</para> - - <para>El editor de etiquetas (de particiones) de Sysinstall utiliza la etiqueta <literal>e</literal> para particiones que no son root ni swap. Dentro del editor de etiquetas de particiones, cree un único sistema de archivos pulsando <command>C</command>. Cuando se le pregunte si será un sistema de archivos (FS, file system) o swap, elija <literal>FS</literal> e indique un punto donde montarlo (por ejemplo, <filename>/mnt</filename>). Cuando añada un disco una vez instalado FreeBSD, Sysinstall no creará la entrada correspondiente en <filename>/etc/fstab</filename>, por lo que no resulta importante el punto que indique para montar el disco.</para> - - <para>En este momento, ya puede escribir en el disco la información de las particiones y sus etiquetas y crear un sistema de archivos. Para ello pulse <command>W</command>. Ignore cualquier error de Sysinstall que le informe de que no pudo montar la nueva partición. Ya puede salir del editor de etiquetas de particiones y de Sysinstall.</para> - - <para>El último paso consiste en editar <filename>/etc/fstab</filename> para añadir una entrada para el nuevo disco.</para> + particiones <literal>FDISK Partition Editor</literal>. Pulse + <literal>A</literal> para usar el disco entero para FreeBSD. Cuando se + le pregunte si quiere mantener el disco compatible con la + instalación de algún sistema operativo en el futuro + (<quote>remain cooperative with any future possible operating + systems</quote>) conteste afirmativamente (<literal>YES</literal>). + Escriba los cambios en el disco pulsando <command>W</command>. Ahora + salga del editor FDISK pulsando <command>q</command>. A + continuación se le preguntará acerca del sector de inicio + del disco (MBR, Master Boot Record). Como está usted + añadiendo un disco a un sistema que ya se encuentra en + funcionamiento, seleccione la opción <literal>None</literal> + (esta opción deja el MBR intacto).</para> + + <para>A continuación llegará al <literal>Disk Label + Editor</literal>. Aquí es donde creará las particiones de + estilo tradicional BSD. Un disco puede tener hasta ocho particiones, + designadas a-h. Algunas de las etiquetas de las particiones tienen usos + especiales. La etiqueta <literal>a</literal> se utiliza para la + partición raíz (<filename>/</filename>, root partition). + Por tanto, sólo su disco de sistema (es decir, aquel desde el + cual arranca el sistema) debería tener una partición + <literal>a</literal>. La etiqueta <literal>b</literal> se utiliza para + particiones de swap (memoria virtual) y es posible tener varios discos + con particiones de swap. La etiqueta <literal>c</literal> representa a + todo el disco utilizado en modo dedicado, o a todo el slice de FreeBSD + si es que utilizamos el modo slice. Las restantes etiquetas son para + uso general.</para> + + <para>El editor de etiquetas (de particiones) de Sysinstall utiliza la + etiqueta <literal>e</literal> para particiones que no son root ni swap. + Dentro del editor de etiquetas de particiones, cree un único + sistema de archivos pulsando <command>C</command>. Cuando se le + pregunte si será un sistema de archivos (FS, file system) o + swap, elija <literal>FS</literal> e indique un punto donde montarlo + (por ejemplo, <filename>/mnt</filename>). Cuando añada un disco + una vez instalado FreeBSD, Sysinstall no creará la entrada + correspondiente en <filename>/etc/fstab</filename>, por lo que no + resulta importante el punto que indique para montar el disco.</para> + + <para>En este momento, ya puede escribir en el disco la + información de las particiones y sus etiquetas y crear un + sistema de archivos. Para ello pulse <command>W</command>. Ignore + cualquier error de Sysinstall que le informe de que no pudo montar la + nueva partición. Ya puede salir del editor de etiquetas de + particiones y de Sysinstall.</para> + + <para>El último paso consiste en editar + <filename>/etc/fstab</filename> para añadir una entrada para el + nuevo disco.</para> </sect1> <sect1> @@ -100,7 +130,12 @@ <sect2> <title>Modo Dedicado</title> - <para>Si no va a compartir el nuevo disco con otro sistema operativo, puede usar el modo dedicado (<literal>dedicated</literal>). Recuerde que este modo puede confundir a los sistemas operativos de Microsoft; no obstante, estos no causarán ningún daño. En cambio, el OS/2 de IBM se “apropiará” de cualquier partición que encuentre y que no reconozca.</para> + <para>Si no va a compartir el nuevo disco con otro sistema operativo, + puede usar el modo dedicado (<literal>dedicated</literal>). Recuerde + que este modo puede confundir a los sistemas operativos de Microsoft; + no obstante, estos no causarán ningún daño. En + cambio, el OS/2 de IBM se “apropiará” de cualquier + partición que encuentre y que no reconozca.</para> <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda1 bs=1k count=1</userinput> &prompt.root; <userinput>disklabel -Brw da1 auto</userinput> @@ -141,6 +176,44 @@ <para></para> </sect2> +</sect1> + +<sect1 id="creating-cds"> + + <title>Creación de CDs</title> + + <para>Pendiente de Traducción</para> + + <sect2 id="burncd"> + <title>burncd</title> + <indexterm> + <primary>CDROMs</primary> + <secondary>burning</secondary> + </indexterm> + <para>Si dispone de una grabadora de CD ATAPI puede usar <command> + burncd</command> para grabar la imagen ISO en un CD. <command> + burncd</command> forma parte del sistema base y está en + <filename>/usr/sbin/burncd</filename>. El uso es muy simple pues + tiene solamente unas cuantas opciones:</para> + + <screen>&prompt.root; <userinput>burncd -f <replaceable>unidad_de_cd</replaceable> + data <replaceable>ficheroimagen.iso</replaceable> fixate</userinput></screen> + + <para>grabará una copia de <replaceable> + ficheroimagen</replaceable> en <replaceable> + unidad_de_cd</replaceable>. El dispositivo por defecto es + <filename>/dev/acd0</filename> (o <filename>/dev/acd0c</filename> en + &os; 4.X). Consulte &man.burncd.8; para conocer las opciones de + velocidad de grabación, expulsión del CD al acabar la + grabación y cómo grabar datos de audio.</para> + </sect2> + + <sect2 id="cdrecord"> + <title>cdrecord</title> + + <para>Pendiente de Traducción</para> + + </sect2> </sect1> </chapter> @@ -151,36 +224,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml b/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml index 228046ccc3..d8071d753f 100755 --- a/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml,v 1.2 2004/10/08 19:17:34 jesusr Exp $ --> @@ -19,6 +20,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/install/chapter.sgml b/es_ES.ISO8859-1/books/handbook/install/chapter.sgml index b1240b72f8..e9a3ac7610 100755 --- a/es_ES.ISO8859-1/books/handbook/install/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/install/chapter.sgml @@ -1,1288 +1,6222 @@ <!-- The FreeBSD Documentation Project - $FreeBSD$ +$FreeBSD$ +$FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/install/chapter.sgml,v 1.5 2004/10/08 18:48:47 jesusr Exp $ + Traducido de la version: 1.300 --> - <chapter id="install"> - <title>Instalación de FreeBSD</title> + <chapterinfo> + <authorgroup> + <author> + <firstname>Jim</firstname> + <surname>Mock</surname> + <contrib>Reestructurado, reorganizado y con + algunas partes reescritas por </contrib> + </author> + </authorgroup> + + <authorgroup> + <author> + <firstname>Randy</firstname> + <surname>Pratt</surname> + <contrib>El recorrido por sysinstall, las capturas de + pantalla y el texto original son obra de </contrib> + </author> + </authorgroup> + <!-- January 2000 --> + </chapterinfo> + + <title>Instalación de &os;</title> + + <sect1 id="install-synopsis"> + <title>Sinopsis</title> + + <indexterm><primary>installación</primary></indexterm> + + <para>&os; dispone de un programa en modo texto muy fácil de + usar llamado <application>sysinstall</application>. Es el programa + de instalación por defecto de &os;, pero quien decida + distribuir &os; tiene todo el derecho de facilitar un sistema de + instalación propio si así lo desea. Este capítulo + trata sobre cómo usar <application>sysinstall</application> + para instalar &os;</para> + + <para>Tras leer este capítulo sabrá usted:</para> + + <itemizedlist> + <listitem> + <para>Cómo crear unos discos de instalación de + &os;</para> + </listitem> - <para>¿ Así que te gustaría probar FreeBSD en tu máquina?. - Esta sección es una guía rápida sobre lo que necesitas - hacer. FreeBSD puede ser instalado desde una gran cantidad de soportes - incluyendo CDROM, floppies, cintas magnéticas, una partición - MS-DOS y, si tienes conexion de red, vía FTP anónimo - o NFS.</para> - - <para>Sea cual sea el soporte de instalación que elijas, puedes - empezar por crear <emphasis>los discos de instalación</emphasis> - como se describe más abajo. Arranca tu ordenador con el instalador - de FreeBSD, aunque no estés pensando en realizar la - instalación, y podrás obtener gran cantidad de - información sobre la compatibilidad del hardware de tu ordenador y - FreeBSD, además de una descripción más exacta sobre - las diferentes posibilidades de instalación.</para> - - <para>Si tienes pensado hacer la instalación vía FTP, - sólo necesitas el disco de arranque, ya que él sólo se - encarga de gestionar todo lo referente a la conexión, ya sea - ethernet o PPP.</para> - - <para>Para más información sobre cómo obtener la - última distribución de FreeBSD, por favor, mira la - sección <link linkend="mirrors">Obtener FreeBSD</link> en el - Apéndice.</para> - - <para>Bien, para empezar a caminar, sigue los siguientes pasos:</para> - - <procedure> - - <step> - <para>Revisa la sección - <link linkend="install-hw">configuraciones soportadas</link> de ésta - guía de instalación para asegurarte de que tu - hardware es soportado por FreeBSD. Sería de gran ayuda que - hiciese una lista de cualquier tarjeta especial que tenga - instalada, como controladoras SCSI, tarjetas de red o tarjetas - de sonido. Esta lista debería incluir parámatros - relevantes de configuración como interrupciones (IRQ) y - direcciones de entrada/salida (IO ports).</para> - </step> - - <step> - <para>Si está instalando FreeBSD desde un CDROM tiene - diferentes opciones de instalación:</para> - <itemizedlist> - - <listitem> - <para>Si el CD ha sido grabado con el soporte de arranque - El Torito, y su sistema soporta arranque directo desde - CDROM (muchos sistemas antiguos <emphasis>no</emphasis>), - simplemente inserte el CD en el lector y arranque directamente - desde él.</para> - </listitem> - - <listitem> - <para>Si está ejecutando DOS y tiene los controladores - adecuados para acceder al lector de CDROM, ejecute el - fichero install.bat incluído en el CD. Éste intentará - arrancar la instalación de FreeBSD desde DOS.</para> - - <note> - <para>Debe hacer esto desde el DOS y no desde una - máquina Windows.</para> - </note> - - <para>Si quiere instalar FreeBSD desde una partición - DOS (por ejemplo, porque FreeBSD no soporta su lector de - CDROM), ejecute primero el programa setup para copiar los - ficheros adecuados del CD a la partición. A - continuación ejecute el programa de instalación. - </para> - </listitem> - - <listitem> - <para>Si cualquiera de los dos métodos anteriores - funciona, puede pasar por alto el resto de esta - sección, en caso contrario, su opción final es - crear un disco de arranque con la imágen - <filename>floppies\boot.flp</filename>. Salte al paso 4 - para instrucciones sobre como hacerlo.</para> - </listitem> - </itemizedlist> + <listitem> + <para>Cómo interpreta (y subdivide) &os; sus discos + duros.</para> + </listitem> + + <listitem> + <para>Cómo arrancar <application> + sysinstall</application>.</para> + </listitem> + + <listitem> + <para>Qué preguntas le hará <application> + sysinstall</application>, qué significan y cómo + responderlas.</para> + </listitem> + </itemizedlist> + + <para>Antes de leer este capítulo debería usted:</para> + + <itemizedlist> + <listitem> + <para>Leer la lista de hardware soportado que se suministra con la + con la versión de &os; que va a instalar y verificar que su + hardware está en dicha lista.</para> + </listitem> + </itemizedlist> + + <note> + <para>En general éstas instrucciones de instalación + han sido escritas para computadoras de arquitectura &i386; + (<quote>PC compatible</quote>). En algunos puntos concretos + se darán instrucciones específicas para otras + plataformas (por ejemplo Alpha). A pesar de que esta guía + se intenta mantener todo lo al día que es posible + puede que se encuentre con pequeñas diferencias entre el + programa de instalación y lo que aquí se le + muestra. Le sugerimos que use este capítulo como una + guía general más que como un manual literal de + instalación.</para> + </note> + + </sect1> - </step> + <sect1 id="install-pre"> + <title>Tareas anteriores a la instalación</title> - <step> - <para>Si no tiene una distribución en CDROM, simplemente - bájese los <ulink - URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/&rel.current;-RELEASE/floppies/boot.flp">discos de instalación y arranque</ulink> a tu disco duro, - asegurándose de que su navegador <emphasis>grabe</emphasis> - el fichero en lugar de <emphasis>mostrarlo</emphasis>.</para> - - <note> - <para>Estas imágenes sólo se pueden usar con discos de - 1,44Mb.</para> - </note> - </step> + <sect2 id="install-inventory"> + <title>Inventario de su sistema</title> - <step> - <para>Haga el disco de instalación a partir del fichero - imágen:</para> - <itemizedlist> - - <listitem> - <para>Si está usando MS-DOS o Windows bájese el - programa <ulink - URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/tools/fdimage.exe">fdimage.exe</ulink> o cógelo de <filename>tools\fdimage.exe</filename> en el - CDROM y ejecútelo de la siguiente manera:</para> - - <informalexample> - <screen><prompt>E:\></prompt> <userinput>tools\fdimage -floppies\boot.flp a:</userinput></screen> - </informalexample> - <para>El programa <emphasis>fdimage</emphasis> - formateará el disco <devicename>A:</devicename> y - copiará la imágen <filename>boot.flp</filename> - en él (asumiendo que está en el nivel superior - de la distribució de FreeBSD y que las imágenes - están en el subdirectorio <filename>floppies</filename>, - tal y como suele ser habitual).</para> - </listitem> - - <listitem> - <para>Si está en un sistema &unix; para crear las - imágenes de disco:</para> - - <informalexample> - <screen>&prompt.root; <userinput>dd if=boot.flp of=<replaceable>disk_device</replaceable></userinput></screen> - </informalexample> - <para><replaceable>disk_device</replaceable> es el dispositivo - <filename>/dev</filename> para la disquetera. En sistemas - FreeBSD, éste es <filename>/dev/fd0</filename> para el - disco <devicename>A:</devicename> y <filename>/dev/fd0</filename> - para el disco <devicename>B:</devicename>.</para> - </listitem> - - </itemizedlist> - </step> + <para>Antes de instalar &os; en su sistema debería completar + un inventario de los componentes de su computadora. El sistema + de instalación de &os; le mostrará los componentes + (discos duros, tarjetas de red, unidades de CDROM, etc.) con sus + datos de modelo y fabricante. &os; tratará también + de determinar la configuración correcta para dichos + dispositivos, lo que incluye información sobre las IRQ y + el uso de puertos IO. A causa de la ingente variedad de hardware + para PC este proceso no siempre se puede culminar con éxito + y es posible que deba corregir las decisiones de &os; retocando + la configuración.</para> - <step> - - <para>Con el disco de instalación en el disco - <devicename>A:</devicename>, rearranque su sistema. Debería - obtener un prompt de arranque como este:</para> - <informalexample> - <screen> ->> FreeBSD BOOT ... -Usage: [[[0:][wd](0,a)]/kernel][-abcCdhrsv] -Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1 -Use ? for file list or press Enter for defaults -Boot: - </screen> - </informalexample> - <para>Si <emphasis>no</emphasis> teclea nada, FreeBSD - arrancará automáticamente con su configuración - por defecto, después de una pausa de 5 segundos. Cuando - FreeBSD arranca, comprueba su ordenador para determinar el - hardware instalado. El resultado de estas comprobaciones se muestra - en pantalla.</para> - </step> + <para>Si ya dispone de otro sistema operativo instalado, como + &windows; o Linux, puede usar los recursos que dicho o dichos + sistemas operativos le faciliten para determinar exactamente + qué hardware tiene y cómo está configurado. + Si tiene del todo claro qué configuración está + usando una tarjeta de expasión concreta es posible que + pueda encontrar esos datos impresos en la propia tarjeta. Es muy + habitual el uso de las IRQ 3, 5 y 7 y las direcciones de los + puertos IO suelen representarse con números hexadecimales, + como 0x330.</para> + + <para>Le recomendamos imprimir o tomar nota de todos esos datos + antes de instalar &os; Una tabla como esta puede serle de mucha + ayuda:</para> + + <table pgwide="1" frame="none"> + <title>Ejemplo de inventario de dispositivos + + <tgroup cols="4"> + <colspec colwidth="2*"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="4*"> + <thead> + <row> + <entry>Nombre de dispositivo</entry> + + <entry>IRQ</entry> + + <entry>Puerto(s) IO</entry> + + <entry>Notas</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Primer disco duro</entry> + + <entry>N/A</entry> + + <entry>N/A</entry> + + <entry>40 GB, fabricado por Seagate, primer maestro IDE </entry> + </row> + + <row> + <entry>CDROM</entry> + + <entry>N/A</entry> + + <entry>N/A</entry> + + <entry>Primer esclavo IDE</entry> + </row> + + <row> + <entry>Segundo disco duro</entry> + + <entry>N/A</entry> + + <entry>N/A</entry> + + <entry>20 GB, fabricado por IBM, segundo maestro IDE</entry> + </row> + + <row> + <entry>Primera controladora IDE</entry> + + <entry>14</entry> + + <entry>0x1f0</entry> + + <entry></entry> + </row> + + <row> + <entry>Tarjeta de red</entry> + + <entry>N/A</entry> + + <entry>N/A</entry> + + <entry>&intel; 10/100</entry> + </row> + + <row> + <entry>Módem</entry> + + <entry>N/A</entry> + + <entry>N/A</entry> + + <entry>&tm.3com; 56K faxmodem, en COM1</entry> + </row> - <step> - <para>Cuando el proceso de arranque finaliza, el menú - principal de instalación de FreeBSD se muestra en - pantalla.</para> + <row> + <entry>…</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2> + <title>Haga una copia de seguridad de sus datos</title> + + <para>Si la computadora en la que va a instalar &os; contiene + datos que desea conservar por algún motivo + asegúrese de haber hecho una copia de seguridad de los + mismos y de que esa copia es de fiar antes de instalar &os;. + El sistema de instalación de &os; le mostrará una + advertencia antes de modificar datos en su disco pero una vez + que el proceso ha comenzado no hay manera de dar marcha + atrás.</para> + </sect2> + + <sect2 id="install-where"> + <title>Dónde instalar &os;</title> + + <para>Si quiere que &os; use todo su disco duro puede saltar + tranquilamente a la siguiente sección.</para> + + <para>Si por el contrario necesita que &os; coexista con otros + sistemas operativos tendrá que comprender cómo + se almacenan los datos en el disco duro y cómo le afecta + todo esto.</para> + + <sect3 id="install-where-i386"> + <title>Esquemas de disco en &i386;</title> + + <para>Un disco de PC puede dividirse en varias partes. Estas partes + reciben el nombre de <firstterm>particiones</firstterm>. Por razones + de diseño los PC sólo admiten cuatro particiones por + disco. Esas particiones se denominan <firstterm>particiones + primarias</firstterm>. Para evitar esa limitación y + poder usar más de cuatro particiones se creó un nuevo + tipo de partición, las <firstterm>particiones + extendidas</firstterm>. Cada disco sólo puede contener una + partición extendida. Pueden crearse particiones especiales, + llamadas <firstterm>particiones lógicas</firstterm>, dentro + de esta partición extendida.</para> + + <para>Cada partición tiene un <firstterm>identificador de + partición</firstterm> (o <firstterm>partition ID</firstterm>), + que es un número usado para identificar el tipo de datos que + alberga la partición. Las particiones &os; tienen como + identificador de partición <literal>165</literal>.</para> + + <para>Normalmente cada sistema operativo que vaya a utilizar + identificará las particiones de un modo propio. Por ejemplo + DOS, y descendientes suyos como &windows;, asignan a cada + partición primaria y lógica una + <firstterm>letra de unidad</firstterm> a partir de + <devicename>C:</devicename>.</para> + + <para>&os; debe instalarse en una partición primaria. &os; + puede albergar todos los datos que necesita, incluyendo cualquier + fichero que pueda usted crear, en esta partición. Si tiene + usted varios discos duros puede crear particiones para que &os; las + use en todos ellos o en algunos nada más. Al instalar &os; + debe usar al menos una partición. Puede usar una + partición vacía que haya preparado o puede usar + también una partición que contenga datos que no desea + conservar.</para> + + <para>Si está usando todas las particiones de todos sus discos + tendrá que dejar libre una de ellas para &os; usando las + herramientas del otro sistema operativo que esté usando + (por ejemplo <command>fdisk</command> en DOS o en + &windows;).</para> + + <para>Si tiene una partición sobrante puede usarla, pero puede + verse en la necesidad de reducir una o más de las particiones + que está usando.</para> + + <para>Una instalación mínima de &os; cabrí en + sólo 100 MB de disco pero tenga en cuenta que apenas + quedaría espacio para los ficheros que quiera crear. Un + mínimo más realista sería de 250 MB si no + pretende usar entorno gráfico y 350 MB o más si + quiere usar un interfaz gráfico de usuario. Si quiere instalar + gran cantidad de software para usarlo en &os; sin duda + necesitará más espacio.</para> + + <para>Puede usar aplicaciones comerciales como + <application>&partitionmagic;</application> para ajustar el + tamaño de sus particiones y hacer sitio a &os;. El + directorio <filename>tools</filename> del CDROM contiene + dos aplicaciones libres que puede usar para éste fin: + <application>FIPS</application> y + <application>PResizer</application>. En el propio directorio puede + encontrar documentación para ambas aplicaciones. + <application>FIPS</application>, + <application>PResizer</application> y + <application>&partitionmagic;</application> pueden redimensionar + las particiones <acronym>FAT16</acronym> y + <acronym>FAT32</acronym> — que se usan de &ms-dos; a + &windows; ME. <application>&partitionmagic;</application> es la + única aplicación conocida que pueda redimensionar + particiones <acronym>NTFS</acronym>.</para> + + <warning> + <para>El uso incorrecto de estas herramientas puede borrar datos + de su disco duro. Recuerde, asegúrese de disponer de + copias de seguridad recientes y utilizables antes de + usarlas.</para> + </warning> + + <example> + <title>Uso de una partición sin cambiar nada</title> + + <para>Supongamos que tiene una máquina con un sólo + disco de 4 GB que ya tiene una versión de &windows; + instalada y que ese disco está dividido en dos unidades, + <devicename>C:</devicename> y <devicename>D:</devicename>, cada + una de las cuales tiene un tamaño de 2 GB. Tiene + 1 GB de datos en <devicename>C:</devicename> y 0.5 GB de + datos en <devicename>D:</devicename>.</para> + + <para>Esto significa que su disco duro tiene dos particiones, una + por cada letra de unidad. Copie todos sus datos de + <devicename>D:</devicename> en <devicename>C:</devicename> y + habrá dejado limpia su segunda partición, + dejándola lista para &os;</para> + </example> + + <example> + <title>Reducir una partición existente</title> + + <para>Suponga que tiene una máquina con un sólo disco + de 4 GB que contiene una versión de &windows; instalada. + Cuando instaló &windows; creó una gran + partición, lo que le dió como resultado una unidad + <devicename>C:</devicename> de 4 GB. Está usando + 1.5 GB de espacio y quiere que &os; tenga 2 GB de + espacio.</para> + + <para>Para poder instalar &os; tendrá que realizar una de + las siguientes tareas:</para> + + <orderedlist> + <listitem> + <para>Haga una copia de sus datos de &windows; y después + reinstale &windows;, eligiendo una partición de 2 GB + en el momento de la instalación.</para> + </listitem> + + <listitem> + <para>Utilice alguna herramienta del estilo de + <application>&partitionmagic;</application> que se han + descrito antes para reducir el tamaño de su + partición de &windows;.</para> + </listitem> + </orderedlist> + </example> + + </sect3> + + <sect3> + <title>Estructura de discos en Alpha</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <para>Tendrá que dedicar un disco de su sistema + para usar &os; puesto que de momento es imposible compartir + un disco con otro sistema operativo. Dependiendo de la + la máquina Alpha que tenga el disco podrá ser + SCSI o IDE en la medida en que sea posible arrancar desde + tales discos.</para> + + <para>Siguiendo las normas de los manuales de Digital / Compaq + todos los datos suministrados a SRM se muestran en + mayúsculas. SRM no distingue entre mayúsculas y + minúsculas.</para> + + <para>Use <literal>SHOW DEVICE</literal> en la consola de SRM + para saber qué tipo de discos hay en su sistema:</para> + + <screen>>>><userinput>SHOW DEVICE</userinput> +dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 +dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 +dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 +dva0.0.0.0.1 DVA0 +ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 +pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 +pqa0.0.0.4.0 PQA0 PCI EIDE +pqb0.0.1.4.0 PQB0 PCI EIDE</screen> + + <para>Este ejemplo es de una Digital Personal Workstation + 433au y muestra tres discos instalados en el sistema. + El primer disco es una unidad CDROM llamada + <devicename>DKA0</devicename> y los otros dos reciben los nombres + de <devicename>DKC0</devicename> y <devicename>DKC100</devicename> + respectivamente.</para> + + <para>Los discos con nombres tipo <devicename>DKx</devicename> + son discos SCSI. Por ejemplo <devicename>DKA100</devicename> + se refiere a un disco SCSI con el <quote>target ID 1</quote> en + el primer bus SCSI (A), mientras que <devicename>DKC300</devicename> + es un disco SCSI con un ID 3 en el tercer bus SCSI (C). + Los nombres de dispositivo <devicename>PKx</devicename> son para + adaptadores de bus SCSI. Como hemos visto en la salida de + <literal>SHOW DEVICE</literal> las unidades CDROM SCSI se consideran + del mismo modo que otros discos duros SCSI.</para> + + <para>Los discos IDE tienen nombres similares a <devicename> + DQx</devicename>, mientras que <devicename>PQx</devicename> es la + controladora IDE asociada.</para> + + </sect3> + </sect2> + + <sect2> + <title>Recolección de los detalles de la configuración + de la red</title> + + <para>Si pretende conectarse a alguna red durante la instalación + de &os; (por ejemplo, pretende hacerlo desde un sitio FTP o mediante + un servidor NFS), tendrá que conocer la configuración de + su red. Durante la instalación se le pedirán esos datos + para que &os; pueda conectarse a la red y realizar la + instalación.</para> + + <sect3> + <title>Conexión a una red Ethernet o a un módem + Cable/DSL</title> + + <para>Necesitará la siguiente información si va a + conectarse a una red Ethernet o si tiene una conexión a + Internet a través de una adaptador Ethernet via cable o + DSL:</para> + + <orderedlist> + <listitem> + <para>Dirección IP</para> + </listitem> + + <listitem> + <para>Dirección IP de la pasarela (<quote>gateway</quote>, + <quote>puerta de enlace</quote>)</para> + </listitem> + + <listitem> + <para>Nombre del sistema (<quote>hostname</quote>)</para> + </listitem> + + <listitem> + <para>Dirección IP del servidor DNS</para> + </listitem> + + <listitem> + <para>Máscara de subred</para> + </listitem> + </orderedlist> + + <para>Si no conoce estos datos póngase en contacto con su + administrador de sistemas o con su proveedor de servicios. Es + que le digan que tal información se asigna + automáticamente mediante <firstterm>DHCP</firstterm>. + Si es así, anótelo.</para> + </sect3> + + <sect3> + <title>Conexión mediante módem</title> + + <para>Si usted se conecta con su ISP mediante un módem + tradicional sigue pudiendo instalar &os; a través de + Internet, el problema es que le resultará bastante + más largo que por otros medios.</para> + + <para>Necesitará saber:</para> + + <orderedlist> + <listitem> + <para>El número de teléfono de su ISP a + través del que accederá a Internet</para> + </listitem> + + <listitem> + <para>El COM: el puerto al que está conectado su + su módem</para> + </listitem> + + <listitem> + <para>Su nombre de usuario y su contraseña de acceso + a Internet</para> + </listitem> + </orderedlist> + </sect3> + </sect2> + <sect2> + <title>Consulte <quote>&os; Errata</quote></title> + + <para>A pesar de que el proyecto &os; hace todo lo humanamente posible + para asegurarse de que cada <quote>release</quote> de &os; es todo + lo estable posible a veces algún error logra entrar en + escena. En contadísimas ocasiones esos errores llegan a + afectar al proceso de instalación. Cuando esos errores son + ubicados y corregidos se anotan en + <ulink url="http://www.FreeBSD.org/releases/&rel.current;R/errata.html">FreeBSD Errata</ulink>, en el sitio web de &os;. Debería consultar + este texto antes de la instalación para asegurarse de que + no hay problemas de última hora de los que deba + preocuparse.</para> + + <para>Tiene información sobre las <quote>releases</quote>, + incluyendo la lista de erratas de cada una de ellas, en la + <ulink + url="http://www.FreeBSD.org/releases/index.html">sección de + información de <quote>releases</quote> </ulink> del + <ulink + url="http://www.FreeBSD.org/index.html">sitio web de &os;</ulink>.</para> + </sect2> + + <sect2> + <title>Obtención de los ficheros de instalación de + &os;</title> + + <para>El proceso de instalación de &os; permite instalar &os; + desde ficheros ubicados en cualquiera de los siguientes + sitios:</para> + + <itemizedlist> + <title>Medios locales</title> + + <listitem> + <para>Un CDROM o DVD</para> + </listitem> + + <listitem> + <para>Una partición DOS en la propia computadora</para> + </listitem> + + <listitem> + <para>Una cinta SCSI o QIC</para> + </listitem> + + <listitem> + <para>Discos floppy</para> + </listitem> + </itemizedlist> + + <itemizedlist> + <title>Red</title> + + <listitem> + <para>Un sitio FTP, saliendo a través de un cortafuegos o + usando un proxy HTTP si fuera necesario</para> + </listitem> + + <listitem> + <para>Un servidor NFS</para> + </listitem> + + <listitem> + <para>Una conexión serie o a través de una cable + paralelo</para> + </listitem> + </itemizedlist> + + <para>Si ha adquirido &os; en CD o DVD ya tiene todo lo que + necesitará, puede pasar a la siguiente sección: + (<xref linkend="install-floppies">).</para> + + <para>Si no dispone de los ficheros de instalación de &os; + debería consultar + <xref linkend="install-diff-media">, donde se explica cómo + preparar la instalación de &os; desde cualquiera de los + medios listados anteriormente. Tras leer esa sección puede + volver aquí y leer + <xref linkend="install-floppies">.</para> + </sect2> + + <sect2 id="install-floppies"> + <title>Preparación del medio de arranque</title> + + <para>El proceso de instalación de &os; comienza por arrancar + su sistema mediante el instalador de &os;: no es un programa que + pueda ejecutar desde otro sistema operativo. Su sistema suele + arrancar usando el sistema operativo que está instalado en + su disco duro pero puede también ser configurado para que + lo haga desde un floppy <quote>arrancable</quote>. Las computadoras + más modernas pueden también arrancar desde un CDROM + introducido en la unidad CDROM.</para> + + <tip> + <para>Si tiene &os; en CDROM o DVD (por haberlo comprado o haberlo + preparado especialmente usted) y su sistema puede arracar desde + CDROM o DVD (suele ser una opción de BIOS llamada + <quote>Boot Order</quote> o algo similar) puede saltarse esta + sección. Las imágenes de CDROM o DVD de &os; + permiten arrancar desde ellas y pueden emplearse para instalar + &os; sin ninguna preparación especial.</para> + </tip> + + <para>Siga estos pasos para crear las imágenes que le + permitirán arrancar desde floppy:</para> + + <procedure> + <step> + <title>Consiga las imágenes de arranque desde + floppy</title> + + <para>Los discos de arranque se encuentran en el directorio + <filename>floppies/</filename> del medio de instalación + o pueden descargarse desde el directorio correspondiente de + <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<replaceable><arch></replaceable>/<replaceable><version></replaceable>-RELEASE/floppies/</literal>. + Reemplace <replaceable><arch></replaceable> y + <replaceable><version></replaceable> con la + arquitectura y la versión de &os; que quiera instalar. + Por ejemplo, las imágenes de arranque desde floppy para + &os; &rel.current;-RELEASE para &i386; están en + from <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/floppies/"></ulink>.</para> + + <para>Las imágenes de floppy tienen la extensión + <filename>.flp</filename>. El directorio + <filename>floppies/</filename> contiene diferentes imágenes + y las que usted necesitará dependerán de la + versión de &os; que vaya a instalar y, en algunos casos, + del hardware en el que lo va a instalar. En la mayoría de + de los casos solamente usará dos ficheros: + <filename>kern.flp</filename> y + <filename>mfsroot.flp</filename>. La instalación en + algunos sistemas concretos requerirá controladores de + dispositivo adicionales, que se encuentran en la imagen + <filename>drivers.flp</filename>. Consulte + <filename>README.TXT</filename> en el propio directorio, + ahí encontrará la información más + reciente sobre las imágenes.</para> + + <important> + <para>Su programa de FTP debe usar <emphasis> + modo binario</emphasis> para descargar las imágenes. + Algunos navegadores web son conocidos por usar el modo + <emphasis>texto</emphasis> ( o <emphasis>ASCII</emphasis>). + He aquí lo primero a comprobar si no puede arrancar desde + los disquetes que ha creado.</para> + </important> + </step> + + <step> + <title>Preparación de los discos floppy</title> + + <para>Tendrá que preperar un disquete por cada imagen que + descargue. Es imprescindible que esos discos carezcan de + errores. La forma más sencilla de asegurarlo es + formatearlos usted. No confíe en disquetes + preformateados. La herramienta de formateo de &windows; no le + advertirá del hallazgo de bloques defectuosos, + si encuentra alguno sencillamente lo marcará como + <quote>defectuoso</quote> y lo ignorará. Le recomendamos + que use disquetes nuevos si decide usar este procedimiento de + instalación.</para> + + <important> + <para>Si instenta instalar &os; y el programa de + instalación falla, se queda congelado o sucede alguna + otra catástrofe uno de las primeras cosas de las que + sospechar son los disquetes. Escriba los ficheros + de imagen en discos nuevos e inténtelo de nuevo.</para> + </important> + </step> + + <step> + <title>Escriba los ficheros de imagen en discos floppy (<quote> + disquetes</quote>)</title> + + <para>Los ficheros <filename>.flp</filename> <emphasis> + no</emphasis> son ficheros normales que puedan copiarse + a disco. Son imágenes del contenido completo de los + discos. Esto significa que <emphasis>no puede</emphasis> + simplemente copiar esos ficheros de un disco a otro. Debe + usar herramientas especializadas para escribir esas + imágenes directamente al disco correspondiente.</para> + + <indexterm><primary>DOS</primary></indexterm> + <para>Si va a crear los disquetes de arranque en un sistema en + el que se está ejecutando &ms-dos;/&windows; utilice + la herramienta <command>fdimage</command>.</para> + + <para>Si las imágenes están en el CDROM y su + CDROM es la unidad <devicename>E:</devicename> ejecute lo + siguiente:</para> + + <screen><prompt>E:\></prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen> + + <para>Repita el proceso con cada fichero <filename>.flp</filename> + reemplazando cada vez el disquete y recuerde etiquetar los discos + con el nombre del fichero que ha copiado en cada uno. Modifique + la línea del comando donde sea necesario, adaptándola + al lugar donde tenga usted los ficheros <filename>.flp</filename>. + <command>fdimage</command> puede descargarse desde el + directorio <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/"><filename class="directory">tools</filename> + </ulink> del sitio FTP de &os;.</para> + + <para>Si va a crear los disquetes en un sistema &unix; (por ejemplo + otro sistema &os;) puede utilizar &man.dd.1; para escribir las + imágenes en los discos. En &os; deberí + ejecutar:</para> + + <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen> + + <para>En &os; <filename>/dev/fd0</filename> es la primera + unidad de disquetes (la unidad + <devicename>A:</devicename>). <filename>/dev/fd1</filename> + sería la unidad <devicename>B:</devicename> y así + sucesivamente. Otras versiones de &unix; pueden asignar + nombres diferentes a las unidades de disquetes, consulte la + documentación de su sistema si lo estima oportuno.</para> + </step> + </procedure> + + <para>Ya podemos instalar instalar &os;.</para> + </sect2> + </sect1> + + <sect1 id="install-start"> + <title>Inicio de la instalación</title> + + <important> + <para>Por defecto la instalación no efectúa ningún + cambio en su disco o discos duros hasta la aparición del + siguiente mensaje:</para> + + <literallayout class="monospaced">Last Chance: Are you SURE you want continue the installation? + +If you're running this on a disk with data you wish to save then WE +STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! + +We can take no responsibility for lost disk contents!</literallayout> + + <para>Es decir:</para> + <literallayout class="monospaced">Última oportunidad: ¿Seguro que quiere proseguir con la instalación? + +¡Si está ejecutando este programa en un disco que contenga datos +que quiera conservar LE RECOMENDAMOS ENCARECIDAMENTE QUE HAGA +COPIAS DE SEGURIDAD FIABLES antes de proseguir! + +¡No podemos responsabilizarnos de datos perdidos!</literallayout> + + + <para>El proceso de instalación puede abandonarse en cualquier + momento antes de la advertencia final sin efectuar cambios en el + contenido del disco duro. Si advierte que ha configurado algo + de forma incorrecta basta con que apague su sistema y no + estropeará nada.</para> + </important> + + <sect2 id="install-starting"> + <title>El arranque</title> + + <sect3 id="install-starting-i386"> + <title>El arranque en &i386;</title> + + <procedure> + <step> + <para>Comience con su sistema apagado.</para> + </step> + + <step> + <para>Arranque el sistema. Durante el arranque deberí + mostrarse la opción para entrar en la BIOS, normalmente + mediante las teclas <keycap>F2</keycap>, <keycap>F10</keycap>, + <keycap>Del</keycap>, o + <keycombo action="simul"> + <keycap>Alt</keycap> + <keycap>S</keycap> + </keycombo>. Utilice la tecla o combinación de las mismas + que se le indique en pantalla. En algunos casos el sistema puede + mostrar un gráfico durante el arranque. Pulsar + <keycap>Esc</keycap> suele disminuír en esos casos el + tamaño del gráfico y le permitirá ver + los mensajes del arranque.</para> + </step> + + <step> + <para>Encuentre el parámetro que controla desde qué + dispositivos arranca el sistema. Normalmente se llama + <quote>Boot Order</quote> y suele presentarse como una lista + de dispositivos, como <literal>Floppy</literal>, + <literal>CDROM</literal>, <literal>First Hard Disk</literal>, + etc.</para> + + <para>Si necesita disquetes de arranque asegúrese de que + selecciona la unidad correspondiente. Si va a arrancar desde + CDROM, seleccione la unidad CDROM. En caso de duda consulte el + manual que venía con su computadora y/o el de su placa + base.</para> + + <para>Haga los cambios necesarios, guarde los cambios y salga. + El sistema debería reiniciarse.</para> + </step> + + <step> + <para>Si ha elegido arrancar desde disquete, tal y como se describe + en <xref linkend="install-floppies">, uno de ellos será + el primer disco de arranque, probablemente el que contiene + <filename>kern.flp</filename>. Introduzca ese disco en su + unidad de disquetes.</para> + + <para>Si va a arrancar desde CDROM tendrá que arrancar el + sistema e introducir el CDROM en cuanto tenga + ocasión.</para> + + <para>Si su sistema arranca normalmente y carga el sistema + operativo que ya está instalado puede ocurrir alguna + de estas cosas:</para> + + <orderedlist> + <listitem> + <para>Los discos no se introdujeron lo suficientemente pronto + en el proceso de arranque. Déjelos insertados y + reinicie su sistema.</para> + </listitem> + + <listitem> + <para>Los cambios que hizo en la BIOS no han funcionado. + Debería repetir los pasos previos hasta que dé + con la opción correcta.</para> + </listitem> + + <listitem> + <para>Su BIOS en concreto no admite el arranque el arranque + desde el medio que ha elegido.</para> + </listitem> + </orderedlist> + </step> + + <step> + <para>&os; comenzará a arrancar. Si está arrancando + desde CDROM debería ver algo parecido a esto (se ha omitido + la información de número de versión):</para> + + <screen>Verifying DMI Pool Data ........ +Boot from ATAPI CD-ROM : + 1. FD 2.88MB System Type-(00) +Uncompressing ... done + +BTX loader 1.00 BTX version is 1.01 +Console: internal video/keyboard +BIOS drive A: is disk0 +BIOS drive B: is disk1 +BIOS drive C: is disk2 +BIOS drive D: is disk3 +BIOS 639kB/261120kB available memory + +FreeBSD/i386 bootstrap loader, Revision 0.8 + +/kernel text=0x277391 data=0x3268c+0x332a8 | + +| +Hit [Enter] to boot immediately, or any other key for command prompt. +Booting [kernel] in 9 seconds... _</screen> + + <para>Si arranca desde floppy verá algo parecido a esto + (se ha omitido la información de número de + versión):</para> + + <screen>Verifying DMI Pool Data ........ + +BTX loader 1.00 BTX version is 1.01 +Console: internal video/keyboard +BIOS drive A: is disk0 +BIOS drive C: is disk1 +BIOS 639kB/261120kB available memory + +FreeBSD/i386 bootstrap loader, Revision 0.8 + +/kernel text=0x277391 data=0x3268c+0x332a8 | + +Please insert MFS root floppy and press enter:</screen> + + <para>Siga las instrucciones y extraiga el disco + <filename>kern.flp</filename> disc, inserte el disco + <filename>mfsroot.flp</filename> y presione + <keycap>Intro</keycap>.</para> + </step> + + <step> + <para>Tanto si arranca desde disquete como CDROM el proceso + de arranque llegará a este punto:</para> + + <screen>Hit [Enter] to boot immediately, or any other key for command prompt. +Booting [kernel] in 9 seconds... _</screen> + + <para>Dicho y hecho: espere diez segundos o pulse + <keycap>Enter</keycap>. Esto lanzará el menú de + configuración del kernel.</para> + </step> + </procedure> + + </sect3> + <sect3> + <title>Arranque en Alpha</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <procedure> + <step> + <para>Comience con su sistema apagado.</para> + </step> + + <step> + <para>Encienda su computadora y espera un mensaje de arranque + en el monitor.</para> </step> + <step> + <para>Si va a arrancar desde disquetes, tal y como se describe en + <xref linkend="install-floppies">, uno de ellos será el + primer disco de arranque, probablemente el que contiene + <filename>kern.flp</filename>. Ponga este disco en la unidad de + disquetes y escriba el siguiente comando para lanzar el arranque + desde el disco (corrija el nombre de su unidad de disquetes si + fuera necesario):</para> + + <screen>>>><userinput>BOOT DVA0 -FLAGS '' -FILE ''</userinput></screen> + + <para>Si va a arrancar desde CDROM introduzca el CDROM en la + unidad y escriba el siguiente comando para iniciar la + instalación (corrija el nombre de la unidad correcta de + CDROM si fuera necesario):</para> + + <screen>>>><userinput>BOOT DKA0 -FLAGS '' -FILE ''</userinput></screen> + </step> + + <step> + <para>&os; comenzará a arrancar. Si está arrancando + desde disquete llegado un cierto punto verá usted este + mensaje:</para> + + <screen>Please insert MFS root floppy and press enter:</screen> + + <para>Siga las instrucciones del programa de instalación y + retire el disco <filename>kern.flp</filename>, inserte el + disco <filename>mfsroot.flp</filename>y pulse + <keycap>Intro</keycap>.</para> + </step> + + <step> + <para>Tanto si arrancón desde disquete como desde CDROM + el proceso de arranque llegará a este punto:</para> + + <screen>Hit [Enter] to boot immediately, or any other key for command prompt. +Booting [kernel] in 9 seconds... _</screen> + + <para>Dicho y hecho: Espere diez segundos o pulse + <keycap>Enter</keycap>. Esto iniciará el menú + de configuración del kernel.</para> + </step> + </procedure> + + </sect3> + + </sect2> + + <sect2 id="start-userconfig"> + <title>Configuración del kernel</title> + + <note><para>A partir de &os; 5.0 y siguientes userconfig ha sido + sustituido por el método &man.device.hints.5;. Para + más información sobre &man.device.hints.5; consulte + <xref linkend="device-hints"></para></note> + + <para>El <firstterm>kernel</firstterm> es el núcleo del + sistema operativo. Es el responsable de muchas cosas como + el acceso a todos los dispositivos que pueda tener en el sistema, + como discos duros, tarjetas de red, tarjetas de sonido, etc. Cada + dispositivo que administra el kernel de &os; tiene un controlador + (<quote>driver</quote>) asociado. Cada controlador tiene un nombre + de dos o tres letras como <devicename>sa</devicename>, que es el + controlador de acceso secuencial SCSI, o <devicename>sio</devicename>, + el controlador I/O Serie (que gestiona los puertos COM).</para> + + <para>Cuando arranca el kernel cada controlador chequea el sistema + para saber si el hardware que él soporta existe en el + sistema. Si es así el controlador configura el hardware y + lo convierte en accesible para el resto del kernel.</para> + + <para>Se suele llamar a este chequeo <firstterm>device + probing</firstterm> (<quote>prueba de controladores</quote>). Por + desgracia no siempre es posible ejecutarlo correctamente. Ciertos + controladores de hardware no coexisten muy bien y probar un + dispositivo físico concreto puede dejar otro en un estado + inconsistente. La culpa es de una limitación básica + del diseño del <acronym>PC</acronym>.</para> + + <para>Muchos dispositivos antíguos reciben el nombre de ISA + (el opuesto de los dispositivos PCI). La especificación ISA + exige que cada dispositivo tenga cierta información escrita + en él, normalmente el número de IRQ y la dirección + de puerto IO que el controlador usa. Esta información suele + asignarse mediante <firstterm>jumpers</firstterm> físicos en la + propia tarjeta y también con un programa de DOS.</para> + + <para>Esto era con frecuencia un foco de problemas porque no era posible + tener dos dispositivos que compartieran la misma IRQ o dirección + de puerto.</para> + + <para>Los nuevos dispositivos siguen la especificación PCI, que + no requiere esto, de forma que se supone que los dispositivos + cooperarán con la BIOS y que se les puede asignar qué + IRQ o qué dirección de puerto IO usarán.</para> + + <para>Si tiene algún dispositivo ISA en su sistema el controlador + de &os; que manejará ese dispositivo necesitará ser + configurado con la IRQ y la dirección de puerto que le haya + asignado usted al dispositivo. Esta es la razón de que + le recomendáramos mantener una lista de su hardware + (consulte <xref + linkend="install-inventory">), le puede ser útil.</para> + + <para>Por desgracia las IRQ y los puertos de memoria que usan algunos + controladores provocan conflictos. Esto se debe a que algunos + dispositivos ISA vienen de fábrica con IRQ y direcciones de + memoria que provocan conflictos. Los controladores de &os;, por + defecto, tienden intencionadamente a replicar los valores por + defecto de los fabricantes para que la mayoría de dispositivos + funcionen sin intervención por nuestra parte.</para> + + <para>Esto casi nunca es un problema en el uso diario de &os;. + Su sistema raramente tendrá dos dispositivos hardware + que choquen porque uno de ellos no funcionará + (independientemente del sistema operativo que use).</para> + + <para>Cuando sí que es un problema es al instalar &os; porque + el kernel que se usa durante la instalación ha de contener + el máximo posible de controladores, de forma que pueda + funcionar en la mayor variedad posible de hardware. Esto conlleva + que algunos de esos controladores tendrán configuraciones + conflictivas. Los dispositivos se prueban en un orden estricto y + si tiene usted en el sistema un dispositivo que es probado muy tarde + dentro del proceso, pero choca con uno que ha sido probado al + principio, su hardware podría no funcionar o no se probado + correctamente cuando instale &os;.</para> + + <para>A causa de esto lo primero que tiene ocasión de hacer + al instalar &os; es ver la lista de controladores que hay configurados + en el kernel; desde ella puede desactivar algunos si no tiene + dispositivos que los necesiten o confirmar (y modificar) la + configuración si tiene el dispositivo pero la + configuración por defecto está equivocada.</para> + + <para>Probablemente esto suena mucho más complicado de lo que + en realidad es.</para> + + <para>La <xref linkend="kernel-config"> muestra el primer menú + de configuración del kernel. Le recomendamos que elija + la opción <guimenuitem>Start kernel configuration in full-screen + visual mode</guimenuitem> (<quote>Arrancar el modo visual de + configuración del kernel a pantalla completa</quote>), + puesto que es el interfaz más sencillo para nuevos + usuarios.</para> + + <figure id="kernel-config"> + <title>Menú de configuración del kernel</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/userconfig" format="PNG"> + </imageobject> + + <textobject> + <screen>&txt.install.userconfig;</screen> + </textobject> + </mediaobject> + </figure> + + <para>La pantalla de configuración del kernel + (<xref linkend="fig-userconfig">) se divide en cuatro + secciones:</para> + + <orderedlist> + <listitem> + <para>Una lista (que puede ocultarse) con todos los controladores + marcados como <quote>activo</quote>, subdividida a su vez en + grupos como <literal>Storage</literal> (almacenamiento) y + <literal>Network</literal> (Red). Cada controlador muestra una + descripción, su nombre de dos o tres letras y la IRQ y la + dirección de memoria que usa el controlador. Además, + si un controlador activo choca con otro controlador activo + aparece <literal>CONF</literal> junto al nombre del + controlador. Esta sección muestra también el + total de controladores con conflictos que hay activados.</para> + </listitem> + + <listitem> + <para>Los controladores marcados como inactivos. Permanecen en el + kernel pero no buscarán su dispositivo cuando arranque el + kernel. Se subdividen en grupos de la misma manera que la lista + de controladores activos.</para> + </listitem> + + <listitem> + <para>Detalles más exhaustivos sobre el controlador + seleccionado, incluyendo su IRQ y dirección de puerto de + memoria.</para> + </listitem> + + <listitem> + <para>Información sobre los atajos de teclado que pueden + emplearse en pantalla.</para> + </listitem> + </orderedlist> + + <figure id="fig-userconfig"> + <title>El interfaz visual de configuración de + dispositivos del kernel</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/userconfig2" format="PNG"> + </imageobject> + + <textobject> + <screen>&txt.install.userconfig2;</screen> + </textobject> + </mediaobject> + </figure> + + <para>No se preocupe por los conflictos que aparezcan puesto que + algo así era de esperar. Tenga en cuenta que todos los + controladores están activados y, como ya se ha dicho, algunos + entrarán en conflicto con otros.</para> + + <para>Ahora tendrá que moverse por la lista de controladores + resolviendo conflictos.</para> + + <procedure> + <title>Resolución de conflictos de dispositivos</title> + + <step> + <para>Pulse <keycap>X</keycap>. Esto expandirá toda la + lista de controladores para que pueda verlos todos. Tendrá + que usar las flechas del teclado para moverse arriba y abajo por + la lista de controladores activos.</para> + + <para>La <xref linkend="hardware-conflicts"> muestra lo que sucede al + pulsar <keycap>X</keycap>.</para> + + <figure id="hardware-conflicts"> + <title>Lista expandida de controladores</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/hdwrconf" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </step> + + <step> + <para>Desactive todos los controladores de dispositivos que no + no tenga. Para desactivar un controlador, márquelo con + las flechas y pulse <keycap>Del</keycap>. El controlador + pasa a la lista <literal>Inactive Drivers</literal> (Controladores + Inactivos).</para> + + <para>Si ha desactivado sin querer un controlador que necesita + pulse <keycap>Tab</keycap> para pasar a la lista + <literal>Inactive Drivers</literal>, seleccione el controlador + que había desactivado y pulse <keycap>Enter</keycap> + para devolverlo a la lista activa.</para> + + <warning> + <para>No desactive <devicename>sc0</devicename>. Controla la + pantalla y lo necesitará a menos que esté + instalando a través de un cable serie.</para> + </warning> + + <warning> + <para>Sólo desactive <devicename>atkbd0</devicename> si + está usted usando un teclado USB. Si tiene un teclado + normal debe mantener <devicename>atkbd0</devicename>.</para> + </warning> + </step> + + <step> + <para>Si no aparecen conflictos puede saltar este paso. Si aparecen + conflictos, tendrá que examinarlos. Si no tienen la + indicación de <quote>allowed conflict</quote> (conflicto + asumido) en el área de mensajes, tendrá que cambiar + la IRQ/dirección en la que se está probando el + dispositivo <emphasis>o</emphasis> la IRQ/dirección debe + cambiarse en el propio hardware.</para> + + <para>Para cambiar la IRQ y la dirección del puerto IO del + controlador seleccione el dispositivo y presione <keycap> + Intro</keycap>. El cursor pasará a la tercera + sección de la pantalla y podrá usted cambiar los + valores. Debería introducir los valores de IRQ y + dirección de memoria que obtuvo cuando hizo su inventario + de hardware. Pulse <keycap>Q</keycap> para finalizar la + edición de la configuración del dispositivo y + volver a la lista de controladores activos.</para> + + <para>Si no está seguro de qué debiera poner puede + probar con <literal>-1</literal>. Algunos controladores de + dispositivo de &os; pueden probar el hardware para averiguar + los valores de correctos que deben usar para su + configuración y el valor de <literal>-1</literal> los + configura para ello.</para> + + <para>El procedimiento para cambiar la dirección en el + hardware varía de un dispositivo a otro. En algunos + dispositivos puede ser necesario extraer físicamente + la tarjeta del sistema y ajustar la configuración de los + <quote>jumpers</quote>. Otras tarjetas pueden venir con un + disquete para DOS que contiene programas a través de los + cuales es posible reconfigurar la tarjeta. En cualquier caso + tendrá que recurrir a la documentación del + dispositivo. Cuando tenga todos los detalles puede volver a + la instalación de &os; una vez reconfigurada su + tarjeta.</para> + </step> + + <step> + <para>Una vez subsanados todos los conflictos debería poder + ver una pantalla similar a <xref linkend="userconfig-done">.</para> + + <figure id="userconfig-done"> + <title>Configuración de controladores sin + conflictos</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/probstart" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>La lista de controladores activos ahora es mucho más + corta, como puede ver. Sólo se muestran los controladores + necesarios para gestionar el hardware de que disponemos.</para> + + <para>Ahora pueden guardarse los cambios hechos en la + configuración y pasar al siguiente punto de la + instalación. Pulse Press <keycap>Q</keycap> para salir + del interfaz de configuración de dispositivos. Verá + este mensaje:</para> + + <screen>Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)</screen> + + <para>Responda <keycap>Y</keycap> para guardar los parámetros + en memoria (se guardarán en disco al finalizar la + instalación) y comenzará el chequeo del sistema. + Tras mostrar en pantalla los resultados en texto negro sobre + blanco, <application>sysinstall</application> mostrará su + menú principal. + (<xref linkend="sysinstall-main">).</para> + + <figure id="sysinstall-main"> + <title>El menú principal de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </step> </procedure> + </sect2> + + <sect2 id="view-probe"> + <title>Revisión de los resultados de la prueba de + de dispositivos</title> + + <para>Es posible revisar los últimos cientos de líneas + que se han mostrado en pantalla, pues se almacenan en un <quote> + buffer</quote> con ese propósito.</para> + + <para>Pulse <keycap>Bloq Despl</keycap> (<keycap>Scroll Lock</keycap>) + y ya puede revisar el buffer. Para moverse puede usar las flechas o + <keycap>RePág</keycap> y <keycap>AvPág</keycap> + ( <keycap>PageUp</keycap> y <keycap>PageDown</keycap> + respectivamente). Pulse de nuevo <keycap>Bloq Despl</keycap> cuando + quiera salir del <quote>buffer</quote>.</para> + + <para>Pruébelo, revise el texto que generó el kernel tras + probar los dispositivos. Verá un texto muy similar a + <xref linkend="install-dev-probe">, aunque en su caso concreto + el texto diferirá al mostrar los dispositivos que tenga usted + en su sistema.</para> + + <figure id="install-dev-probe"> + <title>Un ejemplo de resultado de prueba de dispositivos</title> + + <screen>avail memory = 253050880 (247120K bytes) +Preloaded elf kernel "kernel" at 0xc0817000. +Preloaded mfs_root "/mfsroot" at 0xc0817084. +md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 + +md1: Malloc disk +Using $PIR table, 4 entries at 0xc00fde60 +npx0: <math processor> on motherboard +npx0: INT 16 interface +pcib0: <Host to PCI bridge> on motherboard +pci0: <PCI bus> on pcib0 +pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 +pci1: <PCI bus> on pcib1 +pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 +isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 +isa0: <iSA bus> on isab0 +atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 +ata0: at 0x1f0 irq 14 on atapci0 +ata1: at 0x170 irq 15 on atapci0 +uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci +0 +usb0: <VIA 83572 USB controller> on uhci0 +usb0: USB revision 1.0 +uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 +uhub0: 2 ports with 2 removable, self powered +pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 +dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir +q 11 at device 8.0 on pci0 +dc0: Ethernet address: 00:04:5a:74:6b:b5 +miibus0: <MII bus> on dc0 +ukphy0: <Generic IEEE 802.3u media interface> on miibus0 +ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto +ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. +0 on pci0 +ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) +isa0: too many dependant configs (8) +isa0: unexpected small tag 14 +orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 +fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 +fdc0: FIFO enabled, 8 bytes threshold +fd0: <1440-KB 3.5" drive> on fdc0 drive 0 +atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 +atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 +kbd0 at atkbd0 +psm0: <PS/2 Mouse> irq 12 on atkbdc0 +psm0: model Generic PS/@ mouse, device ID 0 +vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 +sc0: <System console> at flags 0x100 on isa0 +sc0: VGA <16 virtual consoles, flags=0x300> +sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 +sio0: type 16550A +sio1 at port 0x2f8-0x2ff irq 3 on isa0 +sio1: type 16550A +ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 +pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode +ppc0: FIFO with 16/16/15 bytes threshold +plip0: <PLIP network interface> on ppbus0 +ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 +acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 +Mounting root from ufs:/dev/md0c +/stand/sysinstall running as init on vty0</screen> + </figure> + + <para>Compruebe cuidadosamente que &os; haya encontrado todos los + dispositivos que debe encontrar. Si no se lista algún + dispositivo, &os; no lo ha encontrado. Si el controlador del + dispositivo requería configuración de IRQ y puerto de + memoria compruebe que los datos que introduzco eran + correctos.</para> + + <para>Si necesita retocar algo en el chequeo de dispositivos UserConfig + no tiene más que salir de <application>sysinstall</application> + y arrancarlo de nuevo. Tampoco es mala idea del todo si no está + muy familiarizado con el proceso de instalación de &os;.</para> + + <figure id="sysinstall-exit"> + <title>Seleccionar la salida de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/sysinstall-exit" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Use las flechas para seleccionar + <guimenuitem>Exit Install</guimenuitem> en el menú de la + pantalla principal de instalación. Aparecerá el + siguiente mensaje:</para> + + + <screen> User Confirmation Requested + Are you sure you wish to exit? The system will reboot + (be sure to remove any floppies from the drives). + + [ Yes ] No</screen> + + <para>El programa de instalación comenzará de nuevo si + deja el CDROM en la unidad y ha seleccionado &gui.yes;.</para> + + <para>Si va a arrancar desde disquetes tendrá que retirar el + floppy <filename>mfsroot.flp</filename> e introducir en la unidad + <filename>kern.flp</filename> antes de reiniciar.</para> + </sect2> + </sect1> + + <sect1 id="using-sysinstall"> + <title>Introducción a sysinstall</title> + + <para><application>sysinstall</application> es la herramienta de + instalación que proporciona el Proyecto &os;. Es orientado a + pantalla y se divide en diferentes menús y pantallas que puede + usar para configurar y controlar el proceso de instalación.</para> + + <para>El sistema de menús de <application>sysinstall</application> + puede recorrerse y manejarse a través del teclado: + <keycap>Intro</keycap>, <keycap>Espacio</keycap>, las flechas y otras + teclas. Tiene una descripción detallada de las funciones de + de esas teclas en la ayuda de + <application>sysinstall</application>.</para> + + <para>Si quiere consultarla seleccione <guimenuitem>Usage</guimenuitem> + y que el botón <guibutton>[Select]</guibutton> está + seleccionado, tal y como se describe en <xref + linkend="sysinstall-main3">, y luego pulse <keycap>Intro</keycap>.</para> + + <para>Se le mostrarán las instrucciones para poder usar los + menús. Una vez revisadas puede pulsar <keycap>Intro</keycap> + para regresar al menú principal.</para> + + <figure id="sysinstall-main3"> + <title>Uso de la selección en el menú principal de + de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <sect2 id="select-doc"> + <title>Selección del menú de documentación</title> + + <para>Desde el menú principal seleccione + <guimenuitem>Doc</guimenuitem> con las flechas y pulse + <keycap>Intro</keycap>.</para> + + <figure id="main-doc"> + <title>Selección del menú de documentación</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-doc" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Esto mostrará el menú de documentación</para> + + <figure id="docmenu1"> + <title>El menú de documentación de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/docmenu1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Es muy importante que lea la documentación que + incluye sysinstall.</para> + + <para>Si desea consultar un documento selecciónelo con las + flechas y pulse <keycap>Intro</keycap>. Cuando acabe pulse de + nuevo <keycap>Intro</keycap> y volverá al menú de + documentación.</para> + + <para>Si desea regresar al menú principal de la + instalación seleccione <guimenuitem>Exit</guimenuitem> + y pulse <keycap>Intro</keycap>.</para> + </sect2> + + <sect2 id="keymap"> + <title>Selección del menú de mapas de teclado</title> + + <para>Si quiere cambiar su esquema de teclado seleccione mediante + las flechas <guimenuitem>Keymap</guimenuitem> y pulse + <keycap>Intro</keycap>. Haga esto si su teclado no sigue + el estándar de los EEUU de América.</para> + + <figure id="sysinstall-keymap"> + <title>Menú principal de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-keymap" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>La elección de un mapa de teclado se hace del siguiente + modo: seleccione uno de la lista mediante las flechas arriba/abajo y + pulse <keycap>Espacio</keycap>. Si pulsa <keycap>Espacio</keycap> de + nuevo anulará la selección. Cuando esté seguro + con su elección seleccione &gui.ok; mediante las flechas y + pulse <keycap>Intro</keycap>.</para> + + <para>En esta pantalla sólo se presenta parte de la lista. + Seleccione &gui.cancel; mediante <keycap>Tabulador</keycap> si quiere + seguir usando el mapa de teclado por defecto y regresar al + menú principal de instalación.</para> + + <figure id="sysinstall-keymap-menu"> + <title>Menú de mapas de teclado de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/keymap" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + </sect2> + + <sect2 id="viewsetoptions"> + <title>Pantalla de opciones de instalación</title> + + <para>Seleccione <guimenuitem>Options</guimenuitem> y pulse + <keycap>Intro</keycap>.</para> + + <figure id="sysinstall-options"> + <title>Menú principal de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-options" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <figure id="options"> + <title>Opciones de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/options" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Los valores por defecto deberín ser adecuados para la + mayoría de usuarios. El número de <quote> + release</quote> puede variar según la versión que + esté instalando.</para> + + <para>La descripción de lo que haya elegido aparecerá + al final de la pantalla resaltado en azul. Tenga en cuenta que una + de las opciones es <guimenuitem>Use Defaults</guimenuitem> + (<quote>Usar la configuración por defecto</quote>) y + todos los valores a sus valores de partida.</para> + + <para>Pulse <keycap>F1</keycap> si quiere leer la pantalla de ayuda + de las opciones que se le ofrecen.</para> + + <para>Pulse <keycap>Q</keycap> para volver al menú principal de + instalación.</para> + </sect2> + + <sect2 id="start-install"> + <title>Comenzar una instalación estándar</title> + + <para>La instalación <guimenuitem>Standard</guimenuitem> es + la opción más recomendable para recién llegados + a &unix; y &os;. Mediante las flechas seleccione + <guimenuitem>Standard</guimenuitem> y para comenzar la + instalación pulse <keycap>Intro</keycap>.</para> + + <figure id="sysinstall-standard"> + <title>Comienzo de una instalación estándar</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-std" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + </sect1> + + <sect1 id="install-steps"> + <title>Asignación de espacio en disco</title> + + <para>Lo primero que tiene que hacer es asignar espacio en disco para + &os; y marcar dicho espacio de modo que <application> + sysinstall</application> pueda dejarlo listo para su uso. Para ello + necesita saber cómo espera &os; encontrar la información + del disco.</para> + + <sect2 id="install-drive-bios-numbering"> + <title>Numeración de unidades desde el punto de vista de la + BIOS</title> + + <para>Antes de que instale y configure &os; en su sistema hay una + cosa más de la que preocuparse, especialmente si tiene + más de un disco duro.</para> + + <indexterm><primary>DOS</primary></indexterm> + <indexterm><primary>Microsoft Windows</primary></indexterm> + <para>La BIOS es capaz de abstraer el orden normal de los discos si + hablamos de un PC en el que se está ejecutando un sistema + operativo <quote>BIOS-dependiente</quote> como &ms-dos; o + µsoft.windows;, que admiten esos cambios sin problemas. + Tal cosa permite al usuario arrancar desde un disco duro distinto del + llamado <quote>maestro principal</quote>. Esto es muy conveniente + en el caso de algunos usuarios que han encontrado el sistema más + simple y barato de disponer de un sistema <quote>backup</quote>: + un segundo disco duro idéntico y copiar periódicamente + la primera unidad en la segunda mediante + <application><trademark class="registered">Ghost</trademark></application> or <application>XCOPY</application> + . Así, si la primera unidad falla, sufre el ataque de + algún virus o padece las consecuencias de un defecto del + sistema operativo, sólo tiene que decirle a BIOS que + interpole lógicamente las unidades. Es como si intercambiara + las conexiones de los discos sin tener que abrir la caja del + sistema.</para> + + <indexterm><primary>SCSI</primary></indexterm> + <indexterm><primary>BIOS</primary></indexterm> + <para>En sistemas más caros a veces pueden encontrarse· + controladoras SCSI que incorporan extensiones BIOS, que permite + organizar hasta siete unidades SCSI de un modo muy similar.</para> + + <para>Cualquiera que esté acostumbrado a usar tales + técnicas puede recibir una sorpresa al intentar practicarlas + en &os;. &os; no usa la BIOS y no tiene en cuenta en absoluto la + <quote>notación de unidades lógicas desde el punto de + vista de la BIOS</quote>. Esto puede dar situaciones bastante + chocantes, especialmente cuando las unidades son físicamente + idénticas en geometría y han sido creadas como clones de + de tados la una de la otra.</para> + + <para>Si va a usar &os; recuerde siempre devolver a la BIOS a los valores + de numeración <quote>natural</quote> antes de la + instalación y déjelos ahí. Si tiene que + intercambiar unidades hágalo, pero a la vieja usanza: abra la + caja y toque los <quote>jumpers</quote> y los cables todo lo que + sea menester.</para> + + <sidebar> + <title>Veamos un instructivo ejemplo extraído de Las + excepcionales aventuras de Pedro y Pablo:</title> + + <para>Pedro decide dedicar una vieja máquina + <quote>Wintel</quote> para prepararle un sistema &os; a Pablo. + Pedro le instala una sola unidad SCSI como + <quote>unidad SCSI 0</quote> e instala &os; en ella.</para> + + <para>Pablo comienza a usar el sistema pero a los pocos dís + advierte que esa vieja unidad SCSI está mostrando + numerosos errores lógicos, así que informa del hecho + a Pedro.</para> + + <para>Días después Pedro decide solucionar el problema; + consigue un disco idéntico al que instaló a Pablo. + Le pasa un chequeo de superficie que da resultados satisfactorios, + así que instala este disco como <quote>unidad SCSI 4</quote> y + hace una copia binaria de la unidad 0 (el primer disco) a la + recién instalada unidad 4. Una vez que el nuevo disco + está instalado Pedro decide que hay que empezar a usarlo, + así que configura la BIOS SCSI para reorganizar las unidades + de disco para que el sistema arranque desde la unidad SCSI 4. + &os; arranca desde dicha unidad y todo funciona perfectamente.</para> + + <para>Pablo sigue trabajando varios dís y no pasa mucho tiempo + antes de que Pedro y Pablo decidan que ya es hora de meterse en una + nueva aventura: actualizarse a la nueva versín de &os;. + Bill retira la unidad SCSI 0 de la máquina porque le parece + poco de fiar y la reemplaza por un disco que obtiene de su en + apariencia inagotable trastero. Pedro instala la última + versión de &os; en la nueva unidad SCSI mediante los + disquetes mágicos FTP de Internet de Pablo. La + instalación se ejecuta sin problemas.</para> + + <para>Pablo utiliza la nueva versión de &os; durante unos + dís y comprueba que en efecto es lo bastante buena como para + usarla en el departamento de ingeniería. Ha llegado, por + tanto, el momento de copiar los datos que tiene en la versión + anterior de &os; a su nuevo alojamiento. Pablo monta la unidad + SCSI 4 (la última que instaló con la versión + anterior de &os;). Pablo queda consternado al comprobar que en la + unidad SCSI 4 no hay ni rastro de sus preciados datos.</para> + + <para>¿Dónde están los datos?</para> + + <para>Cuando Pedro hizo la copia binaria de la unidad SCSI 0 + en la unidad SCSI 4, la unidad se convirtió en el + <quote>el nuevo clon</quote>. Cuando Pedro reconfiguró la + BIOS SCSI para poder arrancar desde la unidad SCSI 4 tan + sólo estaba engañándose a sí mismo + puesto que &os; seguía arrancando desde la unidad SCSI + 0. Al hacer tal cambio en la BIOS causamos que parte del + código de arranque y del cargador del sistema se copie de + una a otra unidad pero en cuanto los controladores del kernel de + &os; toman el control de la situación el esquema de + nomenclatura de unidades de la BIOS es desestimado y &os; recupera + el esquema normal de nomenclatura. En nuestro ejemplo el sistema + sigue funcionando desde la unidad SCSI 0 y ahí están + todos los datos de Pablo, no en la unidad SCSI 4. El hecho de que + pareciera que el sistema estaba funcionando en la unidad SCSI 4 era + un producto de la imaginación humana.</para> + + <para>Estamos encantados de decir que ni un solo byte fué + herido o maltratado durante el descubrimiento de este + fenómeno. La vieja unidad SCSI 0 fué recuperada del + montón de discos caídos en acto de servicio y + fué posible devolver todo el trabajo de Pablo a su + legítimo dueño. Por si fuera poco, ahora Pedro sabe + con certeza que es capaz de contar hasta cero.</para> + + <para>En el ejemplo se han usado unidades SCSI pero los conceptos + pueden aplicarse perfectamente a unidades IDE.</para> + </sidebar> + </sect2> + + <sect2 id="main-fdisk"> + <title>Creación de <quote>slices</quote> con FDisk</title> + + <note> + <para>Aún no ha hecho modificaciones en su disco duro. + Si cree que ha cometido algún error y quiere comenzar de + nuevo puede hacerlo, salga de los menús de + <application>sysinstall</application> e inténtelo de nuevo + o pulse <keycap>U</keycap> para ejecutar la opción + <guimenuitem>Undo</guimenuitem> (deshacer). Si se pierde o no + sabe cómo salir siempre puede sencillamente apagar su + sistema.</para> + </note> + + <para>Si ha elegido iniciar una instalación estándar + <application>sysinstall</application> le mostrará el siguiente + mensaje:</para> + + <screen> Message + In the next menu, you will need to set up a DOS-style ("fdisk") + partitioning scheme for your hard disk. If you simply wish to devote + all disk space to FreeBSD (overwriting anything else that might be on + the disk(s) selected) then use the (A)ll command to select the default + partitioning scheme followed by a (Q)uit. If you wish to allocate only + free space to FreeBSD, move to a partition marked "unused" and use the + (C)reate command. + [ OK ] + + [ Press enter or space ]</screen> + + <para>Es decir:</para> + + <screen> Mensaje + En el siguiente menú tendrá que configurar un esquema de particionado + estilo DOS ("fdisk") en su disco duro. Si quiere dedicar todo el + espacio de disco a FreeBSD (cosa que sobreescribirá cualquier cosa + que contuviera el/los disco/s) use el comando (A)ll (Todo) para + seleccionar el esquema de particiones por defecto y luego pulse + (Q)uit (Salir). Si quiere asignar a FreeBSD sólamente el espacio + libre en la unidad elija una partición que figure marcada como + "unused" (sin usar) y ejecute el comando (C)reate (Crear). + [ OK ] + + [ Pulse Intro o Espacio ]</screen> + + <para>Pulse <keycap>Intro</keycap> tal y como se le dice. Se le + mostrará una lista con todas unidades de disco duro que el + kernel ha econtrado al hacer el chequeo del sistema. + La <xref linkend="sysinstall-fdisk-drive1"> muestra un ejemplo de un + sistema con dos discos IDE. Reciben los nombres de + <devicename>ad0</devicename> y <devicename>ad2</devicename>.</para> + + <figure id="sysinstall-fdisk-drive1"> + <title>Elija en qué unidad usar FDisk</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-drive1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Quizás esté preguntándose por qué + <devicename>ad1</devicename> no aparece por ningún lado. + ¿Acaso hemos pasado algo por algo?</para> + + <para>Veamos lo que ocurriría si tuviera usted dos discos + duros IDE, uno como maestro de la primera controladora IDE y el + otro como maestro de la segunda controladora IDE. Si &os; asignara + números de unidad en el orden en el que las encuentra, en el + ejemplo habríamos visto <devicename>ad0</devicename> y + <devicename>ad1</devicename> (y además todo funcionaría + perfectamente.</para> + + <para>Pero si tuviera usted que añadir un tercer disco, digamos + como esclavo de la primera controladora IDE, tendría que + llamarse <devicename>ad1</devicename> y el disco que antes era + <devicename>ad1</devicename> pasaría a llamarse + <devicename>ad2</devicename>. Los nombres de dispositivo (como + por ejemplo <devicename>ad1s1a</devicename>) se usan para ubicar + sistemas de ficheros, así que podría encontrarse con + que alguno de sus sistemas de ficheros no está donde debiera + y tendría que modificar la configuración de su + &os;.</para> + + <para>Para evitar este problema el kernel puede configurarse para + asignar nombres a discos IDE basándose en dónde + están en lugar de hacerlo por el orden en el que los + encuentra. Según dicho esquema el disco maestro de la segunda + contoladora IDE <emphasis>siempre</emphasis> será + <devicename>ad2</devicename>, incluso si no existen dispositivos + <devicename>ad0</devicename> o + <devicename>ad1</devicename>.</para> + + <para>Ésta es la configuración por defecto del kernel de + &os;, por lo que se muestran las unidades <devicename>ad0</devicename> + y <devicename>ad2</devicename>. El sistema en el que se tomaron las + capturas de pantalla tiene sendos discos IDE en ambos canales + maestros de las dos controladoras y carece de discos en los canales + esclavos.</para> + + <para>Seleccione el disco en el que desea instalar &os; y pulse + &gui.ok;. + <application>FDisk</application> arrancará y verá una + pantalla similar a la que muestra la + <xref linkend="sysinstall-fdisk1">.</para> + + <para>La pantalla de <application>FDisk</application> se divide en + tres partes.</para> + + <para>La primera parte, que ocupa las dos primeras líneas de la + pantalla, muestra los detalles del disco que seleccionemos, el + nombre que &os; le da, la geometría del disco y el + tamaño total del disco.</para> + + <para>La segunda parte muestra las <quote>slices</quote> que haya + en el disco, dónde comienzan y acaban, cu´l es su + tamaño, qué nombre les da &os;, su descripción + y subtipo. Este ejemplo muestra dos pequeñas + <quote>slices</quote> sin usar; las <quote>slices</quote> (del + inglés <quote>rebanadas</quote>) son un tipo de esquema + estructural de los discos de PC. También muestra una gran + <quote>slice</quote> <acronym>FAT</acronym>, que casi con total + seguridad aparecerá como <devicename>C:</devicename> en + &ms-dos; / &windows;, y una <quote>slice</quote> extendida, que + podría contener otras letras de unidad de + &ms-dos; / &windows;.</para> + + <para>La tercera parte muestra los comandos que pueden usarse en + <application>FDisk</application>.</para> + + <figure id="sysinstall-fdisk1"> + <title>Particionamiento típico con FDisk</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-edit1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Lo que deba hacer a partir de ahora dependerá mucho de + la forma en la que quiera distribuír su disco.</para> + + <para>Si desea usar &os; en el resto del disco (lo que implica borrar + todos los datos que pudiera haber en el disco una vez que le + confirme a <application>sysinstall</application> que desea seguir + adelante con la instalación) pulse <keycap>A</keycap>, que + equivale a la opción <guimenuitem>Use Entire Disk</guimenuitem> + (Utilizar el disco íntegro). Las <quote>slices</quote> que + existieran serán borradas y reemplazadas por un pequeño + área de disco marcado como <literal>sin usar</literal> (otro + recurso de la estructura de disco de los PC) y tras él una gran + <quote>slice</quote> destinada a &os;. Ahora marque la + partición &os; que acaba de crear como arrancable: pulse + <keycap>S</keycap>. La pantalla que verá ha de ser muy + similar a la <xref linkend="sysinstall-fdisk2">. Observe la + <literal>A</literal> en la columna <literal>Flags</literal>: indica + que la <quote>slice</quote> es <emphasis>activa</emphasis> y se + arrancará desde ella.</para> + + <para>Si desea borrar una <quote>slice</quote> para hacer más + sitio a &os; selecciónela mediante las flechas y pulse + <keycap>D</keycap>. Después pulse <keycap>C</keycap> y + verá un mensaje en el que se le pedirá el + tamaño de la <quote>slice</quote> que va a crear. + Introduzca los datos apropiados y pulse <keycap>Intro</keycap>. + El valor por defecto en ésta pantalla es el de la + <quote>slice</quote> más grande que pueda crear en el disco, + que debería ser la mayor parte del disco que queda sin usar + o el tamaño del disco duro completo.</para> + + <para>Si ha hecho sitio para &os; (quizás con una herramienta + como <application>&partitionmagic;</application>) puede pulsar + press <keycap>C</keycap> y crear una nueva <quote>slice</quote>. + Verá de nuevo un mensaje en el que se le pedirá que + escriba el tamaño de la <quote>slice</quote> que va a + crear.</para> + + <figure id="sysinstall-fdisk2"> + <title>Partición con FDisk usando el disco completo</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-edit2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Cuando acabe pulse <keycap>Q</keycap>. Recuerde que de momento + <application>sysinstall</application> está guardando la + información de los cambios que está haciendo pero + aún no los está escribiendo en el disco.</para> + </sect2> + + <sect2 id="bootmgr"> + <title>Instalación de un gestor de arranque</title> + + <para>Ha llegado el momento de instalar un gestor de arranque. + Debería instalar el gestor de arranque de &os; si:</para> + + <itemizedlist> + <listitem> + <para>Tiene más de un disco y ha instalado &os; en un disco + distinto del primero.</para> + </listitem> + + <listitem> + <para>Ha instalado &os; codo con codo con otro sistema + operativo y quiere poder elegir si arrancar &os; o ese + otro sistema operativo cuando arranque su sistema.</para> + </listitem> + </itemizedlist> + + <para>Si &os; va a ser el único sistema operativo en el + sistema y va a instalarse en el primer disco duro debería + elegir el gestor de arranque <guimenuitem>Standard</guimenuitem>. + Elija <guimenuitem>None</guimenuitem> si va a usar algún + otro gestor de arranque a través del cual pueda + arrancar &os;.</para> + + <para>Elija y pulse <keycap>Intro</keycap>.</para> + + <figure id="sysinstall-bootmgr"> + <title>Menú de gestores de arranque de sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/boot-mgr" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>La pantalla de ayuda (que puede consultarse en cualquier + momento pulsando <keycap>F1</keycap>) trata sobre los problemas + con los que puede encontrarse al intentar compartir el disco duro + entre distintos sistemas operativos.</para> + </sect2> + + <sect2> + <title>Creación de <quote>slices</quote> en otra + unidad</title> + + <para>Si hay más de una unidad de disco el programa de + instalación volverá a la pantalla + <quote>Select Drives</quote> (<quote>selección de + unidades</quote>) una vez elegido el gestor de arranque. Si quiere + instalar &os; en más de un disco seleccione aquí ese + otro disco y repita el proceso con las <quote>slices</quote> mediante + <application>FDisk</application>.</para> + + <important> + <para>Si va a instalar &os; en una unidad que no sea la primera + tendrá que instalar el gestor de arranque de &os; + en ambas unidades.</para> + </important> + + <figure id="sysinstall-fdisk-drive2"> + <title>Salir de la selección de unidad</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-drive2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>La tecla <keycap>Tabulador</keycap> hace pasar el cursor de + la última unidad seleccionada, &gui.ok; y &gui.cancel;.</para> + + <para>Pulse una vez el <keycap>Tabulador</keycap> para pasar el + cursor hasta ·&gui.ok; y luego pulse <keycap>Intro</keycap> para + proseguir con la instalación.</para> + </sect2> + + <sect2 id="disklabeleditor"> + <title>Creación de particiones con + <application>Disklabel</application></title> + + <para>Debe crear particiones dentro de las <quote>slices</quote> que + acaba de crear. Recuerde que cada partición está + asociada a una letra de <literal>a</literal> a <literal>h</literal> y + que las particiones <literal>b</literal>, <literal>c</literal> y + <literal>d</literal> tienen significados heredados que debería + tener en cuenta.</para> + + <para>Ciertas aplicaciones pueden optimizar su rendimiento de un + esquema de particiones concreto, sobre todo si hace particiones + repartidas en más de un disco. Si embargo si esta es su + primera instalación de &os; no necesita dedicarle demasiado + tiempo a decidir cómo partir el disco duro. Es mucho + más importante que instale &os; y empiece a aprender a + usarlo. Siempre estáa tiempo de reinstalar &os; y cambiar + su esquema de particiones cuando esté más + familiarizado con el sistema operativo.</para> + + <para>Este esquema tiene cuatro particiones: una para la swap tres para + los sistemas de ficheros.</para> + + <table frame="none" pgwide="1"> + <title>Estructura de particiones del primer disco</title> + + <tgroup cols="4"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="4*"> + + <thead> + <row> + <entry>Partición</entry> + + <entry>Sistema de ficheros</entry> + + <entry>Tamaño</entry> + + <entry>Descripción</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>a</literal></entry> + + <entry><filename>/</filename></entry> + + <entry>100 MB</entry> + + <entry>Este es el sistema de ficheros raíz. el resto + de sistemas de ficheros se montarán en algún + punto de este sistema raíz. 100 MB es un + tamaño razonable para él. No es el mejor sitio + para almacenar muchos datos y la instalación de &os; + escribirá cerca de 40 MB de datos en ella. + El resto del espacio es para datos temporales y por si futuras + versiones de &os; necesitan más espacio en + <filename>/</filename>.</entry> + </row> + + <row> + <entry><literal>b</literal></entry> + + <entry>N/A</entry> + + <entry>2-3 x RAM</entry> + + <entry><para>Esta partición es el espacio de memoria de + intercambio (o <quote>swap</quote>) del sistema. La + elección de la cantidad correcta de swap es + casi un arte en sí mismo. Hay una regla + básica que es asignar a la swap el doble o el + triple de MB de los que haya en la memoria física + (RAM) del sistema. Debería tener + al menos 64 MB de swap así que si tiene + menos de 32 MB de RAM asígnele a su swap + 64 MB.</para><para> + + Si tiene más de un disco puede poner espacio + swap en cada disco. &os; usará ambas swap con el + resultado de acelerar notablemente el intercambio de + páginas de memoria. Calcule el total de swap que + necesita (por ejemplo 128 MB) y divida esa cantidad + por el número de discos que tenga (por ejemplo dos) + y ya tiene la cantidad de espacio que debe destinar a swap + en cada uno de sus discos. En nuestro ejemplo 64 MB + de swap por disco.</para></entry> + </row> + + <row> + <entry><literal>e</literal></entry> + + <entry><filename>/var</filename></entry> + + <entry>50 MB</entry> + + <entry>El directorio <filename>/var</filename> contiene + ficheros que están en contínuo cambio, como + ficheros de <quote>log</quote> y otros ficheros + administrativos. Muchos de esos ficheros son una + consecuencia de o son de gran ayuda para el correcto + funcionamiento diario de &os;. &os; ubica dichos ficheros + en ese sistema de ficheros para optimizar el acceso a + los mismos sin afectar a otros ficheros ni directorios que + que tienen similar patrón de accesos.</entry> + </row> + + <row> + <entry><literal>f</literal></entry> + + <entry><filename>/usr</filename></entry> + + <entry>Resto del disco</entry> + + <entry>El resto de sus ficheros pueden almacenarse en + <filename>/usr</filename> y sus subdirectorios.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Si va a instalar &os; en más de un disco tendrá que + crear particiones en las demás <quote>slices</quote> que haya + configurado. La forma más sencilla de hacerlo es crear dos + particiones en cada disco, una para la swap y la otra para sistemas + de ficheros.</para> + + <table frame="none" pgwide="1"> + <title>Esquema de particiones para varios discos</title> + + <tgroup cols="4"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="2*"> + <colspec colwidth="3*"> + + <thead> + <row> + <entry>Partición</entry> + + <entry>Sistema de ficheros</entry> + + <entry>Tamaño</entry> + + <entry>Descripción</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>b</literal></entry> + + <entry>N/A</entry> + + <entry>See description</entry> + + <entry>Tal y como se ha explicado, puede repartir su espacio + swap entre varios discos. Aunque piense que la + partición <literal>a</literal> está libre + la costumbre (y se dice que <quote>las costumbres son + leyes</quote>) dicta que el espacio swap reside en la + partición <literal>b</literal>.</entry> + </row> + + <row> + <entry><literal>e</literal></entry> + + <entry>/disco<replaceable>n</replaceable></entry> + + <entry>Resto del disco</entry> + + <entry>El resto del disco puede dejarse en una sola + partición. Esto podría ubicarse simplemente + en la partición <literal>a</literal> en lugar de en + la <literal>e</literal>. Sin embargo la costumbre dice que + la partición <literal>a</literal> de una + <quote>slice</quote> está reservada para el sistema de + ficheros que ha de albergar el sistema de ficheros + raíz (<filename>/</filename>). No tiene por qué + seguir la costumbre pero tenga en cuenta que + <application>sysinstall</application> sí que lo hace, + así que si la sigue sabe que está haciendo una + instalación más limpia. Puede montar los + sistemas de ficheros donde prefiera; este ejemplo le sugiere + que los monte como directorios + <filename>/disco<replaceable>n</replaceable></filename>, donde + <replaceable>n</replaceable> es un número que cambia en + cada disco. Por supuesto que puede usar el esquema que + prefiera.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Una vez elegido el esquema de particiones creelo con + <application>sysinstall</application>. Se le mostrará el + siguiente mensaje:</para> + + <screen> Message + Now, you need to create BSD partitions inside of the fdisk + partition(s) just created. If you have a reasonable amount of disk + space (200MB or more) and don't have any special requirements, simply + use the (A)uto command to allocate space automatically. If you have + more specific needs or just don't care for the layout chosen by + (A)uto, press F1 for more information on manual layout. + + [ OK ] + [ Press enter or space ]</screen> + + <para>Es decir:</para> + + <screen> Message + Debe crear particiones BSD dentro de las 'particiones + fdisk' que acaba de crear. Si tiene una cantidad de espacio en + disco razonablemente grande (200MB o más) y no tiene necesidades + especiales puede simplemente usar el comando (A)uto para asignar + el espacio automáticamente. Si tiene necesidades más concretas o + simplemente no le gusta la estructura que le da (A)uto, pulse + F1 y obtendrá más información sobre la creación manual de + la estructura. + + [ OK ] + [ Pulse Intro o Espacio ]</screen> + + <para>Al pulsar <keycap>Intro</keycap> arrancará el editor + de particiones de &os;, <application>Disklabel</application>.</para> + + <para>La<xref linkend="sysinstall-label"> muestra lo que verá + cuando arranque <application>Disklabel</application>. La pantalla + se divide en tres partes.</para> + + <para>Las primeras líneas muestran el nombre del disco en el + que estamos haciendo cambios y el de la <quote>slice</quote> que + contiene las particiones que estamos creando + (<application>Disklabel</application> las muestra bajo + <literal>Partition name</literal> + (<quote>nombre de partición</quote>) en lugar de hacerlo + como <quote>slices</quote>). Vemos también ahí la + cantidad de espacio libre en la <quote>slice</quote>, esto es, el + espacio que hay asignado a la <quote>slice</quote> pero que + aún no ha sido asignado a ninguna partición.</para> + + <para>En la mitad de la pantalla se muestran las particiones que se + han creado, el nombre de los sistemas de ficheros que contiene cada + partición, sus tamaños y algunas opciones relacionadas + con la creación de sistemas de ficheros.</para> + + <para>La tercera parte de la pantalla, la de más abajo, muestra + los atajos de teclado que pueden usarse + en <application>Disklabel</application>.</para> + + <figure id="sysinstall-label"> + <title>El editor Disklabel</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-ed1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><application>Disklabel</application> puede crear + automáticamente particiones y asignarles también + tamaños por defecto. Pruébelo, pulse + <keycap>A</keycap>. Verá una pantalla similar a la que + aparece en la <xref linkend="sysinstall-label2">. Dependiendo del + tamaño del disco que esté usando esos valores por + defecto pueden o no ser los apropiados. Esto no es algo de lo + que deba preocuparse puesto que no es obligatorio aceptar los + valores por defecto.</para> + + <note> + <para>A partir de FreeBSD 4.5 la estructura de directorios + asigna su propia partición a <filename>/tmp</filename> en + lugar de formar parte de <filename>/</filename>. Esto ayuda a + evitar un desbordamiento de la partición + <filename>/</filename> debido a ficheros temporales.</para> + </note> + + <figure id="sysinstall-label2"> + <title>Editor Disklabel con los valores por defecto</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-auto" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Si decide no usar los valores por defecto para las particiones + y quiere reemplazar tales valores por los suyos use las flechas: + elija la primera partición y pulse <keycap>D</keycap> para + borrarla. Repita el proceso para borrar todas las particiones que + desee.</para> + + <para>Vamos a crear la primera partición + (<literal>a</literal>, montada como <filename>/</filename> + o raíz). Seleccione la <quote>slice</quote> adecuada y + pulse <keycap>C</keycap>. Aparecerá un diálogo + pidiéndole que escriba el tamaño de la nueva + partición (como se muestra en la + in <xref linkend="sysinstall-label-add">). Puede introducir + el tamaño expresado en bloques de disco o como un + número seguido de una <literal>M</literal> para + megabytes, una <literal>G</literal> para gygabytes o una + <literal>C</literal> para cilindros.</para> + + <note><para>A partir de FreeBSD 5.X es posible hacer lo + siguiente: elegir <acronym>UFS2</acronym> mediante la opción + <literal>Custom Newfs</literal> (<keycap>Z</keycap>), marcar partes + del disco con <literal>Auto Defaults</literal> y modificarlas + con la opción <literal>Custom Newfs</literal> o + añadir la opción <option>-O 2</option> en el momento + de su creación. No olvide añadir <option>-U</option> + a SoftUpdates si usa la opción + <literal>Custom Newfs</literal>.</para></note> + + <figure id="sysinstall-label-add"> + <title>Liberar espacio para la partición raíz</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-root1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>El tamaño por defecto que se muestra creará una + partición que ocupe el resto de la <quote>slice</quote>. + Si va a usar los tamaños de partición que se daban + en el ejemplo anterior borre el texto existente pulsando + <keycap>Retroceso</keycap>; escriba <userinput>64M</userinput>, como + se puede ver en la + <xref linkend="sysinstall-label-add2">. Ahora pulse + &gui.ok;.</para> + + <figure id="sysinstall-label-add2"> + <title>Edición del tamaño de la partición + raíz</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-root2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Una vez elegido el tamaño de la partición + tendrá que elegir si esta partición ha de contener + un sistema de ficheros o espacio swap y escribir lo que corresponda + en una pantalla como la que se muestra en la + <xref linkend="sysinstall-label-type">. Esta primera partición + contendrá un sistema de ficheros, así que + seleccione <guimenuitem>FS</guimenuitem> y pulse + <keycap>Intro</keycap>.</para> + + <figure id="sysinstall-label-type"> + <title>Elija el tipo de partición raí</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-fs" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Dado que está creando un sistema de ficheros tendrá + que especificarle a <application>Disklabel</application> dónde + quiere montar el sistema de ficheros. La pantalla se muestra en la + <xref linkend="sysinstall-label-mount">. El punto de montaje del + sistema de ficheros raíz es <filename>/</filename>, así + que escriba <userinput>/</userinput> y pulse + <keycap>Intro</keycap>.</para> + + <figure id="sysinstall-label-mount"> + <title>Elija el punto de montaje del s. f. raíz</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-root3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>La pantalla le mostrará ahora la partición que + acaba de crear. Repita el procedimiento todas las veces que + necesite con las demás particiones. Cuando cree la + partición swap no se le pedirá el punto de + montaje puesto que las particiones swap nunca se montan como + tales. Cuando cree la última partición, + <filename>/usr</filename>, puede dejar el tamaño que se le + sugiere, esto es, usar el resto del espacio en la + <quote>slice</quote>.</para> + + <para>La última pantalla del editor Disklabel será muy + parecida a la <xref linkend="sysinstall-label4">, aunque los valores + pueden ser diferentes. Pulse <keycap>Q</keycap> para salir del + editor.</para> + + <figure id="sysinstall-label4"> + <title>Editor Disklabel, sysinstall</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-ed2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + </sect1> + + <sect1 id="install-choosing"> + <title>Elección de qué instalar</title> + + <sect2 id="distset"> + <title>Elección del tipo de instalación</title> + + <para>La elección de qué tipo de instalación + debe hacer depende enormemente del uso que se va a dar al sistema y + del espacio de disco disponible. El rango de opciones predefinidas + está entre hacer la instalación más + pequeña posible o instalarlo todo. Aquellos que sean + nuevos en &unix; y/o &os; deberán seguramente elegir + alguna de las predefinidas que se le ofrecen, a las que llamaremos + distribuciones, de <quote>distribution set</quote> tal y como + aparecen en el menú de <application>sysinstall</application>. + Una instalación ·a medida es algo más adecuado para + para usuarios con algo más de experiencia.</para> + + <para>Pulse <keycap>F1</keycap> si quiere obtener más + información sobre las opciones de tipo de instalación + y qué contiene cada distribución. Cuando acabe de + consultar la ayuda pulse <keycap>Intro</keycap> y volverá al + al menú de selección de instalación de + distribuciones.</para> + + <para>Si quiere instalar un interfaz gráfico de usuario + deberá elegir una distribución cuyo nombre comienza + por <literal>X</literal>. La configuración de + <application>&xfree86;</application> y la selección de un + escritorio es una de las tareas post-instalación.</para> + + <para>La versión por defecto de + <application>&xfree86;</application> que se instala depende de la + viersión de &os; que instale. En versiones de &os; anteriores + a 4.6 se instala <application>&xfree86; 3.X</application>; en las + versiones FreeBSD 4.6 y posteriores se instala + <application>&xfree86; 4.X</application>.</para> + + <para>El mejor sitio para saber si su tarjeta gráfica está + soportada es el sitio web de + <ulink url="http://www.xfree86.org/">&xfree86;</ulink>. Si su + tarjeta gráfica no está soportada por la versión + que se instala con &os; deberá seleccionar e instalar una + distribución sin X. Tras la instalación del sistema + puede instalar y configurar una versión más reciente + de <application>&xfree86;</application> desde los ports.</para> + + <para>Si preve compilar un kernel a medida selecciones la + opción que incluye el código fuente. Para más + información sobre las razones por las que debe compilarse + un kernel a medida y sobre cómo compilar uno de esos kernel, + consulte el <xref linkend="kernelconfig">.</para> + + <para>Evidentemente el sistema más versátil es + aquél que lo tiene todo. Si dispone de espacio de disco + suficiente seleccione <guimenuitem>All</guimenuitem>, como se + muestra en la <xref linkend="distribution-set1">, usando las + flechas y pulsando <keycap>Intro</keycap>. Si el espacio en + disco es limitado piense en usar alguna de las otras opciones. + No pierda con ello demasiado tiempo puesto que el resto de + distribuciones pueden añadirse en cualquier momento tras + la intalación.</para> + + <figure id="distribution-set1"> + <title>Elegir distribuciones</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/dist-set" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + + <sect2 id="portscol"> + <title>Instalación del árbol de ports</title> + + <para>Tras seleccionar la distribución elegida se le + presentará la opción de instalar el árbol + de ports, o Colección de Ports de &os;. Los ports son una + forma fácil y cómoda de instalar software. El + árbol de ports no contiene el código fuente necesario + para compilar software; es una gran colección de ficheros que + automatiza la descarga, la compilación y la instalación + de paquetes de software de todo tipo. El + <xref linkend="ports"> explica con detalle cómo utilizar los + ports.</para> + + <para>El programa de instalación no comprueba si tiene espacio + suficiente. Seleccione esta opción si dispone de sitio + en el disco. En &os; &rel.current; los ports ocupan cerca de + &ports.size; en disco. Puede asumir tranquilamente un + número mayor en versiones más reciente de + &os;.</para> + +<screen> User Confirmation Requested + Would you like to install the FreeBSD ports collection? + + This will give you ready access to over &os.numports; ported software packages, + at a cost of around &ports.size; of disk space when "clean" and possibly much + more than that if a lot of the distribution tarballs are loaded + (unless you have the extra CDs from a FreeBSD CD/DVD distribution + available and can mount it on /cdrom, in which case this is far less + of a problem). + + The ports collection is a very valuable resource and well worth having + on your /usr partition, so it is advisable to say Yes to this option. + + For more information on the ports collection & the latest ports, + visit: + http://www.FreeBSD.org/ports + + [ Yes ] No</screen> + + <para>Es decir:</para> + +<screen> Petición de confirmación por parte del usuario + ¿Quiere instalar la colección de ports de FreeBSD? + + Tendrá acceso inmediato a más de &os.numports; paquetes de software listos + para usarse en &os;, aunque necesitará cerca de &ports.size; de + espacio en disco como mínimo y posiblemente mucho más + si descarga los 'tarballs' de código fuente (aunque si tiene los CD + extra de una versión de &os; en CD/DVD puede montarlos en /cdrom, de forma + que esto dejaría de ser un problema). + + La colección de ports es un recurso extremadamente valioso y es muy + recomendable que la instale en su partición /usr, así que debería + responder Sí a la siguiente pregunta. + + Si quiere conocer las últimas entradas novedades y las últimas + entradas en la colección de ports visite: + http://www.FreeBSD.org/ports + + [ Yes ] No</screen> + + + <para>Seleccione &gui.yes; con las flechas e instale los + ports o &gui.no; para obviar la pregunta. Pulse + <keycap>Intro</keycap> para seguir con la instalación. + Volvemos al menú de elección de distribuciones.</para> + + <figure id="distribution-set2"> + <title>Confirmar distribuciones</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/dist-set2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Ahora puede seleccionar <guimenuitem>Exit</guimenuitem> + <guimenuitem>Exit</guimenuitem> con las flechas; asegúrese + de que &gui.ok; está seleccionado y pulse + <keycap>Intro</keycap>.</para> + + </sect2> + </sect1> + + <sect1 id="install-media"> + <title>Elección del medio de instalación</title> + + <para>Si va a instalar &os; desde CDROM o DVD seleccione + <guimenuitem>Install from a FreeBSD CD/DVD</guimenuitem> con las + flechas. Una vez &gui.ok; está seleccionado pulse + <keycap>Intro</keycap> y siga adelante con la instalación.</para> + + <para>Si quiere usar otro método de instalación seleccione + una opción y siga las instrucciones.</para> + + <para>Pulse <keycap>F1</keycap> para acceder a la ayuda en línea + del medio de instalación elegido. Pulse <keycap>Intro</keycap> + para regresar al menú de selección de medio.</para> + + <figure id="choose-media"> + <title>Elección del medio de instalación.</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/media" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <note> + <title>Modos de instalación por FTP</title> + + <indexterm> + <primary>instalación</primary> + <secondary>red</secondary> + <tertiary>FTP</tertiary> + </indexterm> + + <para>Hay tres tipos de instalación via FTP que puede usar: + FTP activo, FTP pasivo y via un proxy HTTP.</para> + + <variablelist> + <varlistentry> + <term>FTP Activo: <guimenuitem>Install from an FTP + server</guimenuitem>, es decir: + <quote>Instalar desde un servidor FTP</quote></term> + + <listitem> + <para>Esta opción hará que todas las + transferencias FTP usen el modo <quote>Activo</quote>. + No funcionará a través de cortafuegos pero + seguramente funcionará con viejos servidores FTP que + no soportan el modo pasivo. Si su conexión se cuelga + cuando usa el modo pasivo (el modo por defecto) pruebe el + modo activo.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FTP Pasivo: <guimenuitem>Install from an FTP server through a + firewall</guimenuitem>, es decir + <quote>Instalar desde un servidor FTP tras un + cortafuegos</quote>.</term> + + <listitem> + <indexterm> + <primary>FTP</primary> + <secondary>modo pasivo</secondary> + </indexterm> + + <para>Esta opción configura + <application>sysinstall</application> para que use el + modo <quote>Pasivo</quote> para todas las operaciones + FTP. Esto permite al usuario pasar a través de + cortafuegos que no permiten conexiones entrantes a + puertos TCP aleatorios.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FTP via un proxy HTTP: <guimenuitem>Install from an FTP server + through a http proxy</guimenuitem>, es decir + <quote>Instalar desde un servidor FTP via un proxy + http</quote></term> + + <listitem> + <indexterm> + <primary>FTP</primary> + <secondary>via un proxy HTTP</secondary> + </indexterm> + + <para>Esta opción configura + <application>sysinstall</application> para usar el + el protocolo HTTP (como si fuera un navegador web) para + conectarse a un proxy en todas las operaciones FTP. El + proxy traducirá las peticiones del usuario de forma + que pasarán a través de un cortafuegos que + no permita ningún tipo de conexiones FTP pero + ofrezca un proxy HTTP. Tendrá que suministrar los + datos del proxy además de los del servidor + FTP.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Si quiere usar un servidor proxy FTP tendrá que usar + el nombre del servidor con el que realmente quiere conectar como + nombre de usuario seguido de un signo <quote>@</quote>. Veamos un + ejemplo. Quiere usted instalar desde + <hostid role="fqdn">ftp.FreeBSD.org</hostid> a través del + servidor proxy FTP + <hostid role="fqdn">foo.ejemplo.com</hostid>, que escucha en el + puerto 1024.</para> + + <para>Vaya al menú opciones, ponga + <literal>ftp@ftp.FreeBSD.org</literal> como nombre de usuario FTP, + y su dirección de correo electrónico como + contraseña. El medio de instalación será FTP + (o FTP pasivo si el proxy lo permite) y la URL + <literal>ftp://foo.ejemplo.com:1234/pub/FreeBSD</literal>.</para> - <para><emphasis>Si algo va mal...</emphasis></para> - - <para>Debido a limitaciones en la arquitectura de los PC's, es imposible - para el programa de prueba de hardware ser 100 por 100 fiable. En el caso - de que su hardware sea identificado incorrectamente, o que el proceso - de prueba cuelgue la máquina, primero mire la sección - <link linkend="install-hw">configuraciones soportadas</link> en esta - guía de instalación para asegurar que su hardware es - soportado por FreeBSD.</para> - - <para>Si su hardware está soportado, resetée el ordenador y cuando - aparezca el prompt <prompt>Boot:</prompt> teclée <literal>-c</literal>. - Esto hará que FreeBSD entre en modo de configuración de - hardware. El kernel de FreeBSD en el disco de intalación - está configurado asumiendo que la mayorí de dispositivos - hardware están configurados tal y como viene de fábrica en - lo referente a IRQ's, direcciones de memoria, canales DMA, etc. Si su - hardware ha sido reconfigurado, necesitará usar la opción - <option>-c</option> en el arranque para indicarle a FreeBSD dónde se - encuentra cada cosa.</para> - - <para>También es posible que la prueba de un dispositivo no - existente provoque una correcta detección de un dispositivo que - sí está presente. En este caso, la prueba para ese - controlador conflictivo deberí ser desactivada.</para> - - <warning> - <para>No desactive ningún dispositivo que necesitaá durante la - instalación, como la pantalla (<devicename>sc0</devicename>).</para> - </warning> - - <para>En el modo de configuración puede:</para> - - <itemizedlist> + <para>Dado accede al directorio <filename>/pub/FreeBSD</filename> + de <hostid role="fqdn">ftp.FreeBSD.org</hostid> a través + del proxy <hostid role="fqdn">foo.ejemplo.com</hostid> puede usted + instalar desde <emphasis>ésta</emphasis> máquina, + que irá descargando los ficheros que necesite desde + <hostid role="fqdn">ftp.FreeBSD.org</hostid> a medida que el + proceso de instalación los vaya requiriendo.</para> + </note> + </sect1> - <listitem> - <para>Listar los controladores de dispositivos presentes en el kernel.</para> - </listitem> + <sect1 id="install-final-warning"> + <title>El punto sin retorno</title> - <listitem> - <para>Desactivar los controladores de hardware no instalado en tu sistema.</para> - </listitem> + <para>The installation can now proceed if desired. This is also + the last chance for aborting the installation to prevent changes + to the hard drive.</para> - <listitem> - <para>Cambiar la IRQ, DRQ y direcciones IO usadas por los controladores - de dispositivo.</para> - </listitem> + <screen> User Confirmation Requested + Last Chance! Are you SURE you want to continue the installation? + + If you're running this on a disk with data you wish to save then WE + STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! + + We can take no responsibility for lost disk contents! + + [ Yes ] No</screen> + + <para>Es decir:</para> + + <screen> Petición de confirmación del usuario + ¡Última oportunidad!. ¿SEGURO que quiere seguir con la instalación? - </itemizedlist> - - <para>Mientras aparece el prompt <prompt>config></prompt>, teclée - <command>help</command> para más información sobre los - comandos disponibles. Después de ajustar los parámetros - del kernel con el hardware que tiene instalado, teclée - <command>quit</command> en el prompt <prompt>config></prompt> para - continuar el arranque con la nueva instalación.</para> - - <para>Una vez FreeBSD está instalado, los cambios hechos en el - modo de configuración serán guardados permanentemente - para que no tenga que reconfigurar el sistema cada vez que - arranque. Aún así, es aconsejable que crée un kernel - personalizado para optimizar el sistema. Mire en - <link linkend="kernelconfig">Configuración del kernel</link> - para crear un kernel personalizado.</para> - - <sect1 id="install-hw"> - <title>Configuraciones soportadas</title> - - <para>Actualmente FreeBSD se ejecuta en una variedad de buses - ISA, VLB, EISA y PCI basados en PC's, cubriendo desde un 386sx - hasta Pentiums (piense que 386sx no es recomendado). También - se soportan configuraciones IDE o ESDI, diferentes controladoras - SCSI, tarjetas de red y serie, etc.</para> - - <para>Un mínimo de cuatro megabytes de RAM son requeridos para - ejecutar FreeBSD. Para ejecutar el Sistema X Window, ocho - megabytes de RAM es el mínimo recomendado.</para> - - <para>A continuación le presentamos una lista de todas las - controladoras de disco y tarjetas de red que actualmente - funcionan en FreeBSD. Otras configuraciones posiblemente - funcionen también, pero no hemos tenido noticias de ello. - </para> - - <sect2> - <title>Controladoras de disco</title> - - <itemizedlist> - - <listitem> - <para>WD1003 (any generic MFM/RLL)</para> - </listitem> - - <listitem> - <para>WD1007 (any generic IDE/ESDI)</para> - </listitem> - - <listitem> - <para>IDE</para> - </listitem> - - <listitem> - <para>ATA</para> - </listitem> - - <listitem> - <para>Adaptec 1505 ISA SCSI controller</para> - </listitem> - - <listitem> - <para>Adaptec 152x series ISA SCSI controllers</para> - </listitem> - - <listitem> - <para>Adaptec 1535 ISA SCSI controllers</para> - </listitem> - - <listitem> - <para>Adaptec 154x series ISA SCSI controllers</para> - </listitem> - - <listitem> - <para>Adaptec 174x series EISA SCSI controller in standard and - enhanced mode.</para> - </listitem> - - <listitem> - <para>Adaptec 274x/284x/2940/2940U/3940 (Narrow/Wide/Twin) - series EISA/VLB/PCI SCSI controllers</para> - </listitem> - - <listitem> - <para>Adaptec AIC7850 on-board SCSI controllers</para> - </listitem> - - <listitem> - <para>Adaptec AIC-6360 based boards, which includes the - AHA-152x and SoundBlaster SCSI cards.</para> - <note> - <para>No puede arrancar desde tarjeta SounBlaster ya que no - tienen BIOS, la cual es necesaria para mapear el dispositivo - de arranque en los vectores de Entrada/Salida. Son - perfectamente usables para cintas externas, CDROM's, etc. - Lo mismo se aplica a cualquier otra tarjeta basada en la - AIC-6x60 sin ROM de arranque. Algunos sistemas tienen - una ROM de arranque, la cual es mostrada de alguna manera - cuando el sistema arranca. Revise la configuración - de tu sistema/placa para más detalles.</para> - </note> - </listitem> - -<listitem> - <para>Buslogic 545S & 545c</para> - - <note> - <para>Buslogic was formerly known as “Bustek”. - </para> - </note> - </listitem> - - <listitem> - <para>Buslogic 445S/445c VLB SCSI controller</para> - </listitem> - - <listitem> - <para>Buslogic 742A/747S/747c EISA SCSI controller.</para> - </listitem> - - <listitem> - <para>Buslogic 946c PCI SCSI controller</para> - </listitem> - - <listitem> - <para>Buslogic 956c PCI SCSI controller</para> - </listitem> - - <listitem> - <para>NCR 53C810/53C815/53C825/53C860/53C875 PCI SCSI - controller.</para> - </listitem> - - <listitem> - <para>NCR5380/NCR53400 (“ProAudio Spectrum”) SCSI - controller.</para> - </listitem> - - <listitem> - <para>DTC 3290 EISA SCSI controller in 1542 emulation mode. - </para> - </listitem> - - <listitem> - <para>UltraStor 14F/24F/34F SCSI controllers.</para> - </listitem> - - <listitem> - <para>Seagate ST01/02 SCSI controllers.</para> - </listitem> - - <listitem> - <para>Future Domain 8xx/950 series SCSI controllers.</para> - </listitem> - - <listitem> - <para>WD7000 SCSI controllers.</para> - </listitem> - - </itemizedlist> - - <para>Con todas las controladoras SCSI soportadas, se consigue - ofrecer soporte completo para periféricos SCSI-I - & SCSI-II, incluyendo discos, cintas, DAT, y lectores de - CDROM.</para> - - <para>Los siguientes tipos de CDROM son soportados actualmente: - </para> - - <itemizedlist> - - <listitem> - <para>SoundBlaster SCSI and ProAudio Spectrum SCSI - (<literal>cd</literal>)</para> - - </listitem> - - <listitem> - <para>Mitsumi (all models) proprietary interface - (<literal>mcd</literal>)</para> - </listitem> - - <listitem> - <para>Matsushita/Panasonic (Creative) CR-562/CR-563 - proprietary interface (<literal>matcd</literal>)</para> - </listitem> - - <listitem> - <para>Sony proprietary interface (<literal>scd</literal>)</para> - </listitem> - - <listitem> - <para>ATAPI IDE interface (experimental and should be - considered ALPHA quality!) (<literal>wcd</literal>)</para> - </listitem> + Si está ejecutando este proceso en un disco que contenga datos que + quiera coservar LE RECOMENDAMOS ENCARECIDAMENTE QUE HAGA COPIAS DE + SEGURIDAD FIABLES antes de instalar. - </itemizedlist> + No podemos asumir nigún tipo de responsabilidad por datos que pierda. + [ Yes ] No</screen> - </sect2> - <sect2 id="install-nics"> - <title>Tarjetas de red</title> + <para>Seleccione &gui.yes; y pulse + <keycap>Intro</keycap>.</para> - <itemizedlist> + <para>La instalación tardará más o menos + tiempo según la distribución que haya elegido, el medio + de instalación y la velocidad del sistema. Se le + mostrarán mensajes durante el proceso para irle + informando.</para> + + <para>Cuando acabe la instalación verá un mensaje como + este:</para> - <listitem> - <para>Allied-Telesis AT1700 and RE2000 cards</para> - </listitem> + <screen> Message - <listitem> - <para>SMC Elite 16 WD8013 Ethernet interface, and most other - WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT and - WD8013EBT based clones. SMC Elite Ultra and 9432TX based - cards are also supported.</para> - </listitem> +Congratulations! You now have FreeBSD installed on your system. + +We will now move on to the final configuration questions. +For any option you do not wish to configure, simply select No. + +If you wish to re-enter this utility after the system is up, you may +do so by typing: /stand/sysinstall . + + [ OK ] + + [ Press enter to continue ]</screen> + + <para>Es decir:</para> + + <screen> Mensaje + + ¡Enhorabuena! Ha instalado &os; en su sistema. + +Ahora terminaremos la configuración del sistema. Si hay alguna +opción que no quiere configurar sencillamente elija No. + +Si en algún momento quiere regresar a este programa pulse +/stand/sysinstall . + + [ OK ] + + [ Pulse Intro ]</screen> + + + <para>Tras pulsar <keycap>Intro</keycap> pasará a la + configuración posterior instalación.</para> + + <para>Si selecciona &gui.no; y pulsa <keycap>Intro</keycap> + la instalación se detendrá para no hacer + más modificaciones en su sistema. Verá el + el siguiente mensaje.</para> + + <screen> Message +Installation complete with some errors. You may wish to scroll +through the debugging messages on VTY1 with the scroll-lock feature. +You can also choose "No" at the next prompt and go back into the +installation menus to retry whichever operations have failed. + + [ OK ]</screen> + + <para>Es decir:</para> + +<screen> Mensaje +La instalación ha finalizado con errores. Puede moverse por la +pantalla de mensajes de depuración de VTY1 tras pulsar la tecla +de Bloqueo de Pantalla. También puede elegir "No" en el próximo +menú y volver a los menús de instalación para repetir cualquier +operación que haya fallado. + + [ OK ]</screen> + + + <para>Este mensaje se ha generado porque no se ha instalado nada. + Pulse <keycap>Intro</keycap> para volver al menún + principal y salir de la instalación.</para> + </sect1> + + <sect1 id="install-post"> + <title>Después de la instalación</title> + + <para>Para poder terminar una instalación debemos + responder todavía a unas cuantas preguntas. Estas opciones + se nos presentarán de nuevo entrando en la + configuración antes de entrar en el nuevo sistema &os; o + una vez en él mediante + <command>/stand/sysinstall</command>, seleccionando + <guimenuitem>Configure</guimenuitem>.</para> + + <sect2 id="inst-network-dev"> + <title>Configuración de dispositivos de red</title> + + <para>Si ha tenido que configurar PPP para poder hacer una + instalación via FTP no se le mostrará la siguiente + pantalla.</para> + + <para>Si necesita información detallada sobre Redes de + Área Local y la configuración necesaria para + que &os; haga de <quote>gateway/router</quote> consulte el + capítulo + <link linkend="advanced-networking">Advanced Networking</link> + .</para> + + <screen> User Confirmation Requested + Would you like to configure any Ethernet or SLIP/PPP network devices? + + [ Yes ] No</screen> + + <para>Selecciones &gui.yes; y pulse + <keycap>Intro</keycap> si quiere configurar dispositivos de + red; si no quiere, seleccione &gui.no;.</para> + + <figure id="ed-config1"> + <title>Selección de un dispositivo Ethernet</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ed0-conf" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione con las flechas el interfaz de red que desea configurar + y pulse <keycap>Intro</keycap>.</para> + + <screen> User Confirmation Requested + Do you want to try IPv6 configuration of the interface? + + Yes [ No ]</screen> + + <para>En la red local del ejemplo el tipo de protocolo de Internet + que había (<acronym>IPv4</acronym>) parecía más + que suficiente así que se eligió &gui.no;.</para> + + <para>Si puede conectar con alguna red <acronym>IPv6</acronym> mediante + un servidor <acronym>RA</acronym> elija ·&gui.yes; y pulse + <keycap>Intro</keycap>. La búsqueda de servidores RA + llevará unos instantes.</para> + + <screen> User Confirmation Requested + Do you want to try DHCP configuration of the interface? + + Yes [ No ]</screen> + + <para>Si no necesita DHCP seleccione &gui.no; con las flechas y pulse + <keycap>Intro</keycap>.</para> + + <para>Si selecciona &gui.yes; se ejecutará + <application>dhclient</application>y , si ha funcionado, + encontrará los datos de configuración de la red + automáticamente. Para más información consulte + la <xref linkend="network-dhcp">.</para> + + <para>La siguiente ilustración muestra la configuración + de un dispositivo Ethernet en un sistema que hará de + <quote>gateway</quote> para una red local.</para> + + <figure id="ed-config2"> + <title>Configuración de ed0</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ed0-conf2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Use el <keycap>Tabulador</keycap> para ir pasando de un campo + al siguiente una vez que los vaya rellenando:</para> + + <variablelist> + <varlistentry> + <term>Host</term> + + <listitem> + <para>El nombre totalmente cualificado del sistema + (<quote>fully-qualified hostname</quote>) + <hostid role="fqdn">k6-2.example.com</hostid> en + este caso.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Dominio</term> + + <listitem> + <para>El nombre del dominio al que pertenece su máquina, + en este caso + <hostid role="domainname">example.com</hostid>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><quote>gateway</quote> IPv4</term> + + <listitem> + <para>La dirección IP del sistema que reenvía + paquetes a destinos fuera de la red local. Debe rellenar este + campo si esta función la realiza una máquina + que forma parte de la red. <emphasis>Déjelo en + blanco</emphasis> si el sistema es el enlace con Internet para + su red. El <quote>gateway</quote> IPv4 es conocido + también como puerta de enlace o ruta por + defecto.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Servidor de nombres</term> + + <listitem> + <para>Dirección IP de su servidor DNS local. Dado que + en la red del ejemplo no se dispone de un servidor DNS local + se ha introducido la dirección IP del servidor DNS del + proveedor de Internet: + <hostid role="ipaddr">208.163.10.2</hostid> .</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Dirección IPv4</term> + + <listitem> + <para>En este interfaz se usón la dirección IP + <hostid role="ipaddr">192.168.0.1</hostid></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Netmask</term> + + <listitem> + <para>En esta red local se usa un bloque de redes de Clase C + (<hostid role="ipaddr">192.168.0.0</hostid> - + <hostid role="ipaddr">192.168.255.255</hostid>). + La máscara de red es, por tanto, también para + una red de Clase C: + (<hostid role="netmask">255.255.255.0</hostid>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Opciones adicionales de ifconfig</term> + + <listitem> + <para>Cualquier tipo de opción que quiera añadir + a su interfaz mediante <command>ifconfig</command>. + en nuestro caso no había ninguna.</para> + </listitem> + </varlistentry> + + </variablelist> + + <para>Use <keycap>Tab</keycap> to select &gui.ok; + when finished and press <keycap>Enter</keycap>.</para> + + + <screen> User Confirmation Requested + Would you like to Bring Up the ed0 interface right now? + + [ Yes ] No</screen> + + <para>Seleccione &gui.yes; y pulse + <keycap>Intro</keycap> si quiere conectar inmediatamente su + sistema a la red mediante el o los interfaces que acaba de + configurar, pero recuerde que aún tendrá que + reiniciar la máquina.</para> + </sect2> + + <sect2 id="gateway"> + <title>Configuración del <quote>gateway</quote></title> + + <screen> User Confirmation Requested + Do you want this machine to function as a network gateway? + + [ Yes ] No</screen> + + <para>Si el sistema hará de enlace de la red local y + reenviará paquetes entre otras máquinas elija + &gui.yes; y pulse <keycap>Intro</keycap>. + Si la máquina es un nodo de una red elija + &gui.no; y pulse + <keycap>Intro</keycap>.</para> + </sect2> + + <sect2 id="inetd-services"> + <title>Configuración de servicios de Internet</title> + + <screen> User Confirmation Requested +Do you want to configure inetd and the network services that it provides? + + Yes [ No ]</screen> + + <para>Si selecciona &gui.no; varios servicios de la máquina, + como <application>telnetd</application> y otros, no se + activarán. Eso significa que los usuarios remotos no + podrán acceder al sistema mediante + <application>telnet</application>. Los usuarios locales, en cambio, + podrán acceder a sistemas remotos mediante + <application>telnet</application>.</para> + + <para>Dichos servicios pueden activarse en cualquier momento + editando <filename>/etc/inetd.conf</filename> con el editor de + texto que prefiera. Para más información sobre esto + consulte la + <xref linkend="network-inetd-overview">.</para> + + <para>Seleccione &gui.yes; si desea configurar estos servicios + durante la instalación. Se le mostrará el + siguiente mensaje:</para> + + <screen> User Confirmation Requested +The Internet Super Server (inetd) allows a number of simple Internet +services to be enabled, including finger, ftp and telnetd. Enabling +these services may increase risk of security problems by increasing +the exposure of your system. + +With this in mind, do you wish to enable inetd? + + [ Yes ] No</screen> + + <para>Es decir:</para> + + <screen> Petición de confirmación por parte del usuario +El Super Servidor de Internet (inetd) le permite activar diversos +servicios sencillos de Internet, como finger, ftp y telnetd. Si +activa tales servicios puede sobreexponer su sistema al exterior, lo +que puede incrementar el riesgo de tener problemas de seguridad. + +Dicho esto ¿desea activar inetd? + + [ Yes ] No</screen> + + + <para>Seleccione &gui.yes;.</para> + + <screen> User Confirmation Requested +inetd(8) relies on its configuration file, /etc/inetd.conf, to determine +which of its Internet services will be available. The default FreeBSD +inetd.conf(5) leaves all services disabled by default, so they must be +specifically enabled in the configuration file before they will +function, even once inetd(8) is enabled. Note that services for +IPv6 must be separately enabled from IPv4 services. + +Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to +use the current settings. + + [ Yes ] No</screen> + + <para>Es decir:</para> + + <screen> Petición de confirmación por parte del usuario +inetd(8) depende de su fichero de configuración, /etc/inetd.conf, donde +se declara qué servicios de Internet se activarán. El inetd.conf(5) por +defecto de &os; trae todos los servicios desactivados, así que deben ser +activados uno a uno en el fichero de configuración para que funcionen, +incluso una vez que inetd(8) ya esté activado. Recuerde que los servicios +IPv6 se activan aparte de los servicios IPv4. + +Elija [Yes] si quiere abrir /etc/inetd.conf en un editor y [No] si +quiere dejarlo como está. + + [ Yes ] No</screen> + + + + <para>Si elige &gui.yes; podrá añadir servicios + de un modo muy sencillo: borre el caracter <literal>#</literal> + del principio de la línea donde esté el servicio + que quiera activar.</para> + + <figure id="inetd-edit"> + <title>Edición de <filename>inetd.conf</filename></title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/edit-inetd-conf" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Una vez añadidos servicios deseados, pulse + <keycap>Escape</keycap> y verá un menú en el + que se le preguntará si quiere guardar los cambios.</para> + + </sect2> + + <sect2 id="ftpanon"> + <title>FTP Anónimo</title> + + <screen> User Confirmation Requested + Do you want to have anonymous FTP access to this machine? + + Yes [ No ]</screen> + + <sect3 id="deny-anon"> + <title>Rechazar el FTP anónimo</title> + + <para>Si elige la respuesta por defecto (&gui.no;) y pulsa + <keycap>Intro</keycap> tenga en cuenta que los usuarios con + cuenta en la máquina pueden seguir accediendo a ella + mediante FTP.</para> + </sect3> - <listitem> - <para>DEC EtherWORKS III NICs (DE203, DE204, and DE205)</para> - </listitem> + <sect3 id="ftpallow"> + <title>Dar acceso FTP anónimo</title> - <listitem> - <para>DEC EtherWORKS II NICs (DE200, DE201, DE202, and - DE422)</para> - </listitem> + <para>Si lo activa cualquiera podrá conectarse + anónimamente a su máquina con FTP. Debería + plantearse las implicaciones de seguridad antes de + activar tal cosa. Tiene más información sobre + seguridad en el + <xref linkend="security">.</para> - <listitem> - <para>DEC DC21040/DC21041/DC21140 based NICs:</para> - <itemizedlist> + <para>Si quiere activar el FTP anónimo seleccione &gui.yes; + con las flechas y pulse <keycap>Intro</keycap>. Verá + la siguiente pantalla (o una muy similar):</para> - <listitem> - <para>ASUS PCI-L101-TB</para> - </listitem> + <figure id="anon-ftp2"> + <title>Configuración por defecto del FTP + anónimo</title> - <listitem> - <para>Accton ENI1203</para> - </listitem> + <mediaobject> + <imageobject> + <imagedata fileref="install/ftp-anon1" format="PNG"> + </imageobject> + </mediaobject> + </figure> - <listitem> - <para>Cogent EM960PCI</para> - </listitem> + <para>Para ver la ayuda pulse <keycap>F1</keycap>:</para> - <listitem> - <para>Compex CPXPCI/32C</para> - </listitem> + <screen>This screen allows you to configure the anonymous FTP user. - <listitem> - <para>D-Link DE-530</para> - </listitem> +The following configuration values are editable: - <listitem> - <para>DEC DE435</para> - </listitem> +UID: The user ID you wish to assign to the anonymous FTP user. + All files uploaded will be owned by this ID. - <listitem> - <para>Danpex EN-9400P3</para> - </listitem> +Group: Which group you wish the anonymous FTP user to be in. - <listitem> - <para>JCIS Condor JC1260</para> - </listitem> +Comment: String describing this user in /etc/passwd - <listitem> - <para>Kingston KNE100TX</para> - </listitem> - <listitem> - <para>Linksys EtherPCI</para> - </listitem> +FTP Root Directory: - <listitem> - <para>Mylex LNP101</para> - </listitem> + Where files available for anonymous FTP will be kept. - <listitem> - <para>SMC EtherPower 10/100 (Model 9332)</para> - </listitem> +Upload subdirectory: - <listitem> - <para>SMC EtherPower (Model 8432)</para> - </listitem> + Where files uploaded by anonymous FTP users will go.</screen> - <listitem> - <para>SMC EtherPower (2)</para> - </listitem> + <para>Es decir:</para> - <listitem> - <para>Zynx ZX314</para> - </listitem> +<screen>En esta pantalla puede configurar el usuario de FTP + anónimo. - <listitem> - <para>Zynx ZX342</para> - </listitem> +Puede editar los siguientes valores de la configuración: - </itemizedlist> +UID: El ID del usuario que quiere asignar al usuario anónimo de + de FTP. Todos los ficheros que se suban le pertenecerán. - </listitem> +Group: El grupo al que pertenecerá el usuario FTP anónimo. - <listitem> - <para>DEC FDDI (DEFPA/DEFEA) NICs</para> - </listitem> +Comment: La descripción del usuario en /etc/passwd - <listitem> - <para>Fujitsu FMV-181 and FMV-182</para> - </listitem> - <listitem> - <para>Fujitsu MB86960A/MB86965A</para> - </listitem> +FTP Root Directory: - <listitem> - <para>Intel EtherExpress</para> - </listitem> + Dónde se guardarán contenidos para los usuarios anónimos. - <listitem> - <para>Intel EtherExpress Pro/100B 100Mbit.</para> - </listitem> +Upload subdirectory: - <listitem> - <para>Isolan AT 4141-0 (16 bit)</para> - </listitem> - - <listitem> - <para>Isolink 4110 (8 bit)</para> - </listitem> + Dónde se guardarán los ficheros que suban los usuarios + de FTP anónimo.</screen> - <listitem> - <para>Lucent WaveLAN wireless networking interface.</para> - </listitem> + <para>Por defecto en directorio raíz del ftp se irá + en <filename>/var</filename>. Si no hay sitio suficiente para + lo que prevea que va a necesitar puede usar + <filename>/usr</filename>, puede poner el Directorio Raíz de + FTP en <filename>/usr/ftp</filename>.</para> - <listitem> - <para>Novell NE1000, NE2000, and NE2100 ethernet interface. - </para> - </listitem> - - <listitem> - <para>3Com 3C501 cards</para> - </listitem> - - <listitem> - <para>3Com 3C503 Etherlink II</para> - </listitem> - - <listitem> - <para>3Com 3c505 Etherlink/+</para> - </listitem> - - <listitem> - <para>3Com 3C507 Etherlink 16/TP</para> - </listitem> - - <listitem> - <para>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III</para> - </listitem> - - <listitem> - <para>3Com 3C590, 3C595 Etherlink III</para> - </listitem> - - <listitem> - <para>3Com 3C90x cards.</para> - </listitem> - - <listitem> - <para>HP PC Lan Plus (27247B and 27252A)</para> - </listitem> - - <listitem> - <para>Toshiba ethernet cards</para> - </listitem> + <para>Cuando haya terminado con la configuración pulse + <keycap>Intro</keycap>.</para> - <listitem> - <para>PCMCIA ethernet cards from IBM and National - Semiconductor are also supported.</para> - </listitem> + <screen> User Confirmation Requested + Create a welcome message file for anonymous FTP users? - </itemizedlist> + [ Yes ] No</screen> - <note> - <para>Actualmente FreeBSD no soporta las características PnP - (plug-n-play) de algunas tarjetas. Si su tarjeta tiene PnP y le - está dando problemas, intente desactivarle el PnP.</para> - </note> - </sect2> + <para>Si selecciona &gui.yes; y pulsa <keycap>Intro</keycap> + arrancará automáticamente un editor y podrá + crear un mensaje que verá los usuarios de FTP + anónimo al conectarse a la máquina.</para> - <sect2 id="install-misc"> - <title>Dispositivos varios</title> + <figure id="anon-ftp4"> + <title>Edición del mensaje de bienvenida de FTP</title> - <itemizedlist> - - <listitem> - <para>AST 4 port serial card using shared IRQ.</para> - </listitem> - - <listitem> - <para>ARNET 8 port serial card using shared IRQ.</para> - </listitem> - - <listitem> - <para>BOCA IOAT66 6 port serial card using shared IRQ.</para> - </listitem> - - <listitem> - <para>BOCA 2016 16 port serial card using shared IRQ.</para> - </listitem> - - <listitem> - <para>Cyclades Cyclom-y Serial Board.</para> - </listitem> - - <listitem> - <para>STB 4 port card using shared IRQ.</para> - </listitem> - - <listitem> - <para>SDL Communications Riscom/8 Serial Board.</para> - </listitem> - - <listitem> - <para>SDL Communications RISCom/N2 and N2pci sync serial - cards.</para> - </listitem> - - <listitem> - <para>Digiboard Sync/570i high-speed sync serial card.</para> - </listitem> - - <listitem> - <para>Decision-Computer Intl. “Eight-Serial” 8 port -serial - cards using shared IRQ.</para> - </listitem> - - <listitem> - <para>Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum, - Gravis UltraSound, Gravis UltraSound MAX and Roland MPU-401 - sound cards.</para> - </listitem> - - <listitem> - <para>Matrox Meteor video frame grabber.</para> - </listitem> - - <listitem> - <para>Creative Labs Video spigot frame grabber.</para> - </listitem> - - <listitem> - <para>Omnimedia Talisman frame grabber.</para> - </listitem> - - <listitem> - <para>Brooktree BT848 chip based frame grabbers.</para> - </listitem> - - <listitem> - <para>X-10 power controllers.</para> - </listitem> - - <listitem> - <para>PC joystick and speaker.</para> - </listitem> - - </itemizedlist> - - <para>FreeBSD actualmente no soporta el bus microcanal de IBM (MCA). - </para> - - </sect2> - </sect1> - - <sect1> - <title>Preparándonos para la instalación</title> - - <para>Existen diferentes métodos de instalación de - FreeBSD. La siguiente sección describe la preparación - necesaria para cada tipo de instalación.</para> - - <sect2> - <title>Antes de instalar desde CDROM</title> - - <para>Si su lector de CDROM no está soportado, por favor, - pase a la sección <link linkend="install-msdos"> - Preparación en MSDOS</link>.</para> - - <para>No hay mucho trabajo de preparación previo para realizar - una instalación satisfactoria desde uno de los CDROM de - Walnut Creek (otras distribuciones en CDROM también es - posible que funcionen pero no tenemos manera de asegurarlo ya que - no hemos podido probar ninguno, y tampoco sabemos como están - hechos). Puede arrancar directamente el programa de - instalación desde DOS usando el fichero - <filename>install.bat</filename> o puede hacer los discos de - arranque ejecutando el programa <filename>makeflp.bat</filename>. - </para> - - <note> - <para>Si está ejecutando FreeBSD 2.1-RELEASE y tiene un - CDROM IDE, use los ficheros <filename>inst_ide.bat</filename> - o <filename>atapiflp.bat</filename>.</para> - - </note> - - <para>Para acceder al interface más sencillo de todos - (desde DOS), ejecute el comando <command>view</command>. - Aparecerá una utilidad DOS con un menú - a través del cual puede accederse a todas las opciones - de instalación disponibles.</para> - - <para>Si está creando el disco de arranque desde un sistema - &unix;, mira <link linkend="install">el principio de esta guía - </link>.</para> - - <para>Una vez haya arrancado desde DOS o floppy, deberí poder - seleccionar el CDROM como el soporte de - instalación en el menú Media y cargar la - distribución completa desde el CDROM. No se requiere - ningús soporte adicional para la instalación.</para> - - <para>Después de instalar por completo el sistema y arrancar - desde el disco duro, puede montar el CDROM en cualquier momento - tecleando: <command>mount /cdrom</command></para> - - <para>Antes de poder quitar el CDROM, es necesario teclear: - <command>umount /cdrom</command>.</para> - - <note> - <para>Antes de ejecutar el programa de instalación - asegúrase de tener el CDROM en el lector para que - éste pueda ser detectado durante la fase de pruebas - de hardware. Esto es necesario también si quiere que - el CDROM sea añadido automáticamente a la - configuración inicial del sistema.</para> - </note> - - <para>Finalmente, si quiere que sus usuarios puedan instalar FreeBSD - vía FTP directamente desde el CDROM de su máquina, - lo puede hacer de manera muy sencilla. Una vez tiene la - máquina completamente instalada, sólo tiene que - añdir la siguiente línea al fichero de passwords - (usando el comando vipw):</para> - - <programlisting> -ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting> - - <para>Cualquiera con conectividad en su red (y permisos para - acceder a ella) puede seleccionar ahora como soporte de la - instalación el tipo FTP y teclear: - <userinput>ftp://<replaceable>su_maquina</replaceable></userinput> - después de seleccionar “Other” en el menú - de servidores FTP.</para> - - </sect2> - - <sect2> - <title>Antes de instalar desde Floppy</title> - - <para>Si debe instalar desde disquettes, bien por problemas - de compatibilidad de hardware o por que te guste hacer las cosas - de la manera más complicada, antes debe preparar algunos - disquettes.</para> - - <para>Necesitará, como mínimo, tantos disquettes de - 1.44MB o 1.2MB como espacio ocupe la distribución en el - directorio bin. Si está preparando estos disquettes bajo - DOS, entonces ESTOS disquettes <emphasis>deben</emphasis> estar - formateados con el comando FORMAT de MS-DOS. Si utiliza Windows, - use el comando format del administrador de ficheros.</para> - - <para><emphasis>NO</emphasis> se fíe de los discos - preformateados. Formatéelos usted mismo, sólo - para estar seguro. Muchos de los problemas reportados en el pasado - por usuarios han tenido que ver con disquettes mal formateados o - defectuosos.</para> - - <para>Si está creando los disquettes desde una máquina - FreeBSD formatear los discos tampoco es mala idea. Puede usar el - comando <command>disklabel</command> y <command>newfs</command> - para formatearlos e incluir en ellos el sistema de ficheros UFS. - Para hacerlo, puede seguir la siguiente secuencia de comandos: - </para> - - <informalexample> - <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440 - </userinput> + <mediaobject> + <imageobject> + <imagedata fileref="install/ftp-anon2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Vemos en acción un editor de texto llamado + <command>ee</command>. Puede cambiar el mensaje ahora mismo + o hacerlo en cualquier otro momento con el editor de texto que + prefiera. Observe el nombre del fichero y su ubicación + en la parte baja de la pantalla.</para> + + <para>Pulse <keycap>Escape</keycap> y aparecerá una + ventana flotante con la opción por defecto de + <guimenuitem>a) leave editor</guimenuitem> (salir del editor). + Pulse <keycap>Intro</keycap> si quiere salir y continuar. Pulse + <keycap>Intro</keycap> de nuevo si quiere guardar los cambios si + es que hizo alguno.</para> + </sect3> + </sect2> + + <sect2 id="nfsconf"> + <title>Configuración de NFS</title> + + <para>NFS (<quote>Network File System</quote> o Sistema de Ficheros + en Red) le permite compartir ficheros a través de una red. + Una máquina puede configurarse como servidor, como cliente y + como ambos. Para más información consulte la + <xref linkend="network-nfs">.</para> + + <sect3 id="nsf-server-options"> + <title>NFS Server</title> + + <screen> User Confirmation Requested + Do you want to configure this machine as an NFS server? + + Yes [ No ]</screen> + + <para>Si no tiene necesidad de usar un servidor NFS seleccione + &gui.no; y pulse + <keycap>Intro</keycap>.</para> + + <para>Si ha elegido &gui.yes; verá un mensaje emergente + indicando que debe crearse el fichero + <filename>exports</filename>.</para> + + <screen> Message +Operating as an NFS server means that you must first configure an +/etc/exports file to indicate which hosts are allowed certain kinds of +access to your local filesystems. +Press [Enter] now to invoke an editor on /etc/exports + [ OK ]</screen> + + <para>Es decir:</para> + + <screen> Mensaje +Hacer funcionar un servidor NFS implica que tendrá que configurar +un fichero /etc/exports para indicar qué hosts estarán autorizados a +acceder de qué manera a sus sistemas de ficheros locales. +Pulse [Intro] para abrir /etc/exports en un editor + [ OK ]</screen> + + + <para>Pulse <keycap>Intro</keycap> para seguir adelante. Se + abrirá un editor de texto gracias al cual se podrá + editar y crear el fichero <filename>exports</filename>.</para> + + <figure id="nfs-server-edit"> + <title>Edición de <filename>exports</filename></title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/nfs-server-edit" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Puede editar el fichero ahora mismo o más tarde con + el editor de texto que prefiera. Observe que el nombre del + fichero y su ubicación aparecen en la parte de abajo de + de la pantalla.</para> + + <para>Pulse <keycap>Escape</keycap>, aparecerá un mensaje + emergente que por defecto le ofrecerá + <guimenuitem>a) leave editor</guimenuitem> (es decir, salir del + editor). Pulse <keycap>Intro</keycap> para salir del editor y + seguir adelante.</para> + </sect3> + + <sect3 id="nfs-client-options"> + <title>Cliente NFS</title> + + <para>El cliente NFS hace que su máquina pueda acceder a + servidores NFS.</para> + + <screen> User Confirmation Requested + Do you want to configure this machine as an NFS client? + + Yes [ No ]</screen> + + <para>Seleccione con las flechas la opción que + prefiera ( &gui.yes; o &gui.no; ) y pulse + <keycap>Intro</keycap>.</para> + </sect3> + </sect2> + + <sect2 id="securityprofile"> + <title>El Perfil de seguridad</title> + + <para>un <quote>perfil de seguridad</quote> es un conjunto de + opciones de configuración que intenta suministrar el + grado de seguridad deseado activando y desactivando ciertos + programas entre otras cosas. Cuanto más + restrictivo es el perfil de seguridad menos programas activa + por defecto. Se trata de uno de los principios básicos de + la seguridad: <emphasis>ejecuta sólamente lo que + necesites</emphasis>.</para> + + <para>Por favor, tenga muy en cuenta que un perfil de seguridad + es sólamente una configuración por defecto. + Todos los programas pueden activarse y desactivarse una vez + que haya instalado &os; modificando o añadiendo las + líneas correspondientes en <filename>/etc/rc.conf</filename>. + Para más información consulte + &man.rc.conf.5;.</para> + + <para>La siguiente tabla muestra qué proporciona cada + perfil de seguridad. Las columnas son las opciones que tiene + para cada perfil de seguridad y las filas son los programas o + características que el perfil activa o desactiva.</para> + + <table> + <title>Perfiles de seguridad posibles</title> + + <tgroup cols=3> + <thead> + <row> + <entry></entry> + + <entry>Extremo</entry> + + <entry>Moderado</entry> + </row> + </thead> + + <tbody> + + <row> + <entry>&man.sendmail.8;</entry> + + <entry>NO</entry> + + <entry>SÍ</entry> + </row> + + <row> + <entry>&man.sshd.8;</entry> + + <entry>NO</entry> + + <entry>SÍ</entry> + </row> + + <row> + <entry>&man.portmap.8;</entry> + + <entry>NO</entry> + + <entry>ES POSIBLE + <footnote> + <para>portmapper se activa en la propia instalación + si la máquina va a disponer de un cliente o + o un servidor NFS.</para> + </footnote> + </entry> + </row> + + <row> + <entry>Servidor NFS</entry> + + <entry>NO</entry> + + <entry>SÍ</entry> + </row> + + <row> + <entry>&man.securelevel.8;</entry> + + <entry>SÍ + <footnote> + <para>Si elige un perfil de seguridad que implante un + nivel de seguridad <quote>Extremo</quote> o + <quote>Alto</quote> debe ser consciente de las + implicaciones. Por favor, lea &man.init.8; y + ponga especial atención en el significado de + los niveles de seguridad o puede encontrarse más + tarde con problemas bastante serios.</para> + </footnote> + </entry> + + <entry>NO</entry> + </row> + </tbody> + </tgroup> + </table> + + <screen> User Confirmation Requested + Do you want to select a default security profile for this host (select + No for "medium" security)? + + [ Yes ] No</screen> + + <para>Seleccionando &gui.no; y pulsando después + <keycap>Intro</keycap> asignará al sistema un perfil de + seguridad medio.</para> + + <para>Si selecciona &gui.yes; y pulsa + <keycap>Intro</keycap> podrá elegir otro perfil de + seguridad.</para> + + <figure id="security-profile"> + <title>Opciones de los perfiles de seguridad</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/security" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Pulse <keycap>F1</keycap> para consultar la ayuda. Pulse + <keycap>Intro</keycap> y volverá al menú + de selección.</para> + + <para>Use las flechas para elegir <guimenuitem>Medium</guimenuitem> + a menos que con total seguridad otro nivel de seguridad sea lo + que necesite. Una vez seleccionado &gui.ok; pulse + <keycap>Intro</keycap>.</para> + + <para>Según qué tipo de perfil se haya elegido verá + un mensaje de confirmación diferente.</para> + + <screen> Message + +Moderate security settings have been selected. + +Sendmail and SSHd have been enabled, securelevels are +disabled, and NFS server setting have been left intact. +PLEASE NOTE that this still does not save you from having +to properly secure your system in other ways or exercise +due diligence in your administration, this simply picks +a standard set of out-of-box defaults to start with. + +To change any of these settings later, edit /etc/rc.conf + + [OK]</screen> + + <para>Es decir:</para> + + <screen> Mensaje + +Ha elegido un perfil de seguridad medio. + +Sendmail y SSHd han sido activados, los 'securelevels' han +sido desactivados y el NFS no se ha tocado. POR FAVOR, +TENGA EN CUENTA que esto no le exime de asegurar correctamente +su sistema mediante otras técnicas o ejercicios diligentes +de administración. Esto simplemente le da una norma +que funciona para usarla como punto de partida. + +Edite /etc/rc.conf para modificar la configuración. + + [OK]</screen> + + <screen> Message + +Extreme security settings have been selected. + +Sendmail, SSHd, and NFS services have been disabled, and +securelevels have been enabled. +PLEASE NOTE that this still does not save you from having +to properly secure your system in other ways or exercise +due diligence in your administration, this simply picks +a more secure set of out-of-box defaults to start with. + +To change any of these settings later, edit /etc/rc.conf + + [OK]</screen> + <para>Es decir:</para> + + <screen> Mensaje + +Ha seleccionado un perfil de seguridad extremo. + +Se han desactivado los servicios de sendmail, SSHd y NFS. +Se han activado los 'securelevels'. +POR FAVOR, TENGA EN CUENTA QUE esto no le exime de asegurar +correctamente su sistema mediante otras técnicas o ejercicios +diligentes de administración. Esto simplemente le da una +norma que funciona para usarla como punto de partida. + +Edite /etc/rc.conf para modificar la configuración. + + [OK]</screen> + + + <para>Pulse <keycap>Intro</keycap> para proseguir con la + configuración posterior a la instalación.</para> + + <warning> + <para>¡Los perfiles de seguridad no son varitas + mágicas! Aunque use un perfil de seguridad + extremo tendrá que estar al día en cuestiones + de seguridad: lea alguna lista de correo adecuada + (como la <xref linkend="eresources-mail">), + use contraseñas robustas y hablando en general, + conozca y aplique prácticas seguras.</para> + </warning> + + </sect2> + + <sect2 id="console"> + <title>Configuración de la consola del sistema</title> + + <para>La consola tiene unos cuantos parámetros que puede + configurar aquí mismo.</para> + + <screen> User Confirmation Requested + Would you like to customize your system console settings? + + [ Yes ] No</screen> + + <para>Seleccione &gui.yes; y pulse <keycap>Intro</keycap> + para ver y configurar las opciones.</para> + + <figure id="saver-options"> + <title>Opciones de configuración de la consola del + sistema</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Una opción que suele elegirse es el uso del + salvapantallas. Elija <guimenuitem>Saver</guimenuitem> y + luego pulse <keycap>Intro</keycap>.</para> + + <figure id="saver-select"> + <title>Opciones del salvapantallas</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Desplácese arriba y abajo con las flechas por la + lista de salvapantallas y elija el que prefiera pulsando + <keycap>Intro</keycap> sobre él. Se le mostrará + de nuevo el menú de configuración de la consola.</para> + + <para>El intervalo por defecto es de 300 segundos. Si quiere cambiarlo + seleccione <guimenuitem>Saver</guimenuitem> otra vez. Busque + <guimenuitem>Timeout</guimenuitem> en el menú de opciones del + salvapantallas y pulse <keycap>Intro</keycap>. Aparecerá un + mensaje en pantalla:</para> + + <figure id="saver-timeout"> + <title>Retardo del salvapantallas</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>El valor del retardo del salvapantallas puede ajustarse aquí a voluntad; seleccione &gui.ok; y pulse <keycap>Intro</keycap> + para regresar al menú de configuración de la + consola.</para> + + <figure id="saver-exit"> + <title>Salida de la configuración de la consola</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver4" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione <guimenuitem>Exit</guimenuitem> y pulse + <keycap>Intro</keycap> para poder seguir con la configuración + del sistema.</para> + </sect2> + + <sect2 id="timezone"> + <title>Configuración de la zona horaria</title> + + <para>Si su sistema tiene correctamente configurada la zona + horaria podrá corregir cualquier automáticamente + cualquier cambio horario regional, así como cumplir + adecuadamente con otras funciones relacionadas con zonas + horarias.</para> + + <para>El ejemplo que se muestra en las capturas de pantalla es + de una máquina ubicada en la zona horaria del Este de los + Estados Unidos.</para> + + <screen> User Confirmation Requested + Would you like to set this machine's time zone now? + + [ Yes ] No</screen> + + <para>Seleccione &gui.yes; y pulse + <keycap>Intro</keycap>. Vamos a configurar la zona horaria del + sistema.</para> + + <screen> User Confirmation Requested + Is this machine's CMOS clock set to UTC? If it is set to local time + or you don't know, please choose NO here! + + Yes [ No ]</screen> + + <para>Seleccione &gui.yes; o &gui.no; según sea la + configuración del sistema y pulse + <keycap>Intro</keycap>.</para> + + <figure id="set-timezone-region"> + <title>Elección de región</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/timezone1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Elija la región que corresponda moviéndose con + las flechas y pulsando <keycap>Intro</keycap> cuando sea + conveniente.</para> + + <figure id="set-timezone-country"> + <title>Elija país</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/timezone2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Elija el país que más se adapte a su + situación geográfica exacta y pulse + <keycap>Intro</keycap>.</para> + + <figure id="set-timezone-locality"> + <title>Elija su zona horaria</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/timezone3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Elija la zona horaria que le corresponda con las flechas + y pulse <keycap>Intro</keycap>.</para> + + <screen> Confirmation + Does the abbreviation 'EDT' look reasonable? + + [ Yes ] No</screen> + + <para>Confirme si la abreviatura de la zona horaria es correcta. + Si es así pulse <keycap>Intro</keycap> y siga + adelante.</para> + </sect2> + + <sect2 id="linuxcomp"> + <title>Compatibilidad con Linux</title> + + <screen> User Confirmation Requested + Would you like to enable Linux binary compatibility? + + [ Yes ] No</screen> + + <para>Si selecciona &gui.yes; y pulsa + <keycap>Intro</keycap> podrá ejecutar software Linux en + FreeBSD. La instalación añadirá los paquetes + necesarios para poder tener compatibilidad binaria con + Linux.</para> + + <para>Si realiza la instalación por FTP la máquina + necesitará conectarse a Internet. A veces los servidores + ftp no tienen todas las distribuciones, de forma que si no puede + instalar la distribución de compatibilidad con Linux no se + preocupe, puede probar con otro servidor o instalarla más + tarde.</para> + </sect2> + + <sect2 id="mouse"> + <title>Configuración del ratón</title> + + <para>Esta opción le permitirá cortar y pegar texto en + consola y en otros programas mediante un ratón de tres + botones. Consulte &man.moused.8 si usa uno de 2 botones, es posible + emular ese tercer botón. En el siguiente ejemplo veremos la + configuración de un ratón <quote>no USB</quote> (es + decir, PS/2 o de puerto COM):</para> + + <screen> User Confirmation Requested + Does this system have a non-USB mouse attached to it? + + [ Yes ] No </screen> + + <para>Seleccione &gui.yes; en el caso de un raón + no USB o &gui.no; si tiene un ratón USB y pulse + <keycap>Intro</keycap>.</para> + + <figure id="mouse-protocol"> + <title>Elija el protocolo que usa el ratón</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione <guimenuitem>Type</guimenuitem> mediante las + flechas y pulse <keycap>Intro</keycap>.</para> + + <figure id="set-mouse-protocol"> + <title>Ajuste del procolo del ratón</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>En el ejemplo se ha usado un ratón PS/2, así que + <guimenuitem>Auto</guimenuitem> era correcto. Para cambiar el + protocolo use las flechas para moverse por el menú y elegir otra + opción. Para salir seleccione &gui.ok; y pulse + <keycap>Intro</keycap>.</para> + + <figure id="config-mouse-port"> + <title>Configuración del puerto del ratón</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione <guimenuitem>Port</guimenuitem> y pulse + <keycap>Intro</keycap>.</para> + + <figure id="set-mouse-port"> + <title>Configuración del puerto del ratón</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse4" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Este sistema tiene un ratón PS/2, de forma que la + configuración por defecto (<guimenuitem>PS/2</guimenuitem>) + basta. Si quiere modificarla use las flechas y pulse + <keycap>Intro</keycap>.</para> + + <figure id="test-daemon"> + <title>Arranque del dæmon del ratón</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse5" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Para terminar, seleccione con las flechas + <guimenuitem>Enable</guimenuitem> (activar) y pulse + <keycap>Intro</keycap>: así se activa y prueba + el dæmon del ratón.</para> + + + <figure id="test-mouse-daemon"> + <title>Prueba del dæmon del ratón</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse6" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Mueva el ratón un poco por la pantalla hasta + asegurarse de que el cursor responde adecuadamente. Si todo + es correcto seleccione &gui.yes; y pulse + <keycap>Intro</keycap>. Si hay algo que no funciona correctamente + seleccione &gui.no; e inténtelo con otras opciones de + configuración.</para> + + <para>Seleccione <guimenuitem>Exit</guimenuitem> y pulse + <keycap>Intro</keycap> para volver a la configuración + del sistema.</para> + </sect2> + + <sect2 id="network-services"> + <title>Configuración de servicios adicionales de + red</title> + + <para>La configuración de servicios de red puede ser una + verdadera pesadilla para el usuario poco experimentado, sobre todo + si las redes son un campo que no conoce demasiado bien. Las + redes, incluyendo Internet, son un campo de vital importancia en + todo lo relacionado con los sistemas operativos modernos y entre + ellos por supuesto que está &os;; por lo tanto le + resultará muy útil tener unas nociones de las + vastas funciones de red que puede desarrollar &os;. El hacerlo + durante la instalación sirve para asegurar que los + usuarios tienen al menos una comprensión aproximada + de los diversos servicios de que pueden disponer.</para> + + <para>Los servicios de red son programas que aceptan conexiones + de cualquiera en la red. Se han hecho todos los esfuerzos + posibles para que ningún programa haga nada + <quote>malo</quote> pero por desgracia los programadores no + son perfectos y a lo largo de los años han aparecido casos + de errores en servicios de red que han sido aprovechados por + atacantes para hacer todo tipo de maldades. Es muy importante + que active sólamente los servicios de red que sabe que + necesita. Si duda, lo mejor es que no arranque un servicio de red + que no sabe si necesita. Recuerde que siempre puede activar ese + servicio cuando se asegure de que lo necesite ejecutando + <application>sysinstall</application> o modificando + <filename>/etc/rc.conf</filename>.</para> + + <para>Si selecciona la opción <guimenu>Networking</guimenu> + verá un menú muy similar a este:</para> + + <figure id="network-configuration"> + <title>Configuración de la red, primera parte</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/net-config-menu1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>La primera opción, <guimenuitem>Interfaces</guimenuitem>, + se describió en la <xref linkend="inst-network-dev">, + así que podemos ignorarla.</para> + + <para>Si elige <guimenuitem>AMD</guimenuitem> activará la + utilidad de montaje automática de <acronym>BSD</acronym>. + Normalmente se usa junto con <acronym>NFS</acronym> (ver + más adelante) para montar automáticamente sistemas + de ficheros remotos. No hay más configuración que + podamos hacer además de activar o desactivar el + servicio.</para> + + <para>En la siguiente línea vemos la opción + <guimenuitem>AMD Flags</guimenuitem>. Si la selecciona + aparecerá un menú emergente para que configure + los parámetros de <acronym>AMD</acronym>. El menú + contiene un conjunto de opciones por defecto:</para> + + <screen>-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map</screen> + + <para>La opción <option>-a</option> ajusta el punto de + montaje, en este caso <filename>/.amd_mnt</filename>. + La opción <option>-l</option> declara el fichero + <quote>log</quote> por defecto. Por otra parte, si se usa + <literal>syslogd</literal> toda la actividad de + <quote>logs</quote> se enviará al dæmon de + <quote>logs</quote> del sistema. El directorio + <filename role="directory">/host</filename> se usa + para montar un sistema de ficheros exportado por un + sistema remoto, mientras que el directorio + <filename role="directory">/net</filename> se usa para + montar un sistema de ficheros que se exporta desde una + direccón <acronym>IP</acronym>. El fichero + <filename>/etc/amd.map</filename> define las opciones + de exportación por defecto de + <acronym>AMD</acronym>.</para> + + <para>La opción <guimenuitem>Anon FTP</guimenuitem> permite + conexiones <acronym>FTP</acronym> anónimas. Seleccione + esta opción para convertir su sistema en un servidor + <acronym>FTP</acronym> anónimo. Tenga en cuenta las + implicaciones de seguridad de tal hecho. Se le mostrará + otro menú para explicarle en profundidad los riesgos de + seguridad y la configuración.</para> + + <para>El menú de configuración + <guimenuitem>Gateway</guimenuitem> le servirá para + configurar su sistema como un <quote>gateway</quote> tal y como + se ha descrito previamente. También puede usarse para + desactivar la opción <guimenuitem>Gateway</guimenuitem> + si por error la seleccionón durante el proceso de + instalación.</para> + + <para>La opción <guimenuitem>Inetd</guimenuitem> puede usarse + para configurar o desactivar totalmente el dæmon + &man.inetd.8; como se ha descrito antes.</para> + + <para>La opción <guimenuitem>Mail</guimenuitem> se usa para + configurar el <acronym>MTA</acronym> (<quote>Mail Transfer + Agent</quote>, o Agente de Transferencia de Correo) por defecto del + del sistema. Si selecciona ésta opción verá + el siguiente menú:</para> + + <figure id="mta-selection"> + <title>Selección del MTA por defecto</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mta-main" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Aquí puede elegir qué + <acronym>MTA</acronym> instalar en el sistema. Un + <acronym>MTA</acronym> es ni más ni menos que un servidor + de correo que gestiona el correo electrónico para usuarios + del sistema o incluso del resto de Internet.</para> + + <para>Si selecciona <guimenuitem>Sendmail</guimenuitem> + instalará el ya tradicional <application>sendmail</application>, + que es el <acronym>MTA</acronym> por defecto de &os;. La + opción <guimenuitem>Sendmail local</guimenuitem> hará + que <application>sendmail</application> sea el + <acronym>MTA</acronym> por defecto pero desactiva su función + de recibir correo entrante desde Internet. Las otras opciones + disponibles, <guimenuitem>Postfix</guimenuitem> y + <guimenuitem>Exim</guimenuitem> funcionan de forma similar a + <guimenuitem>Sendmail</guimenuitem>. Ambos gestionan correo + electrónico, aunque hay usuarios que prefieren una de esas + alternativas a usar <application>sendmail</application> como + <acronym>MTA</acronym>.</para> + + <para>Tras seleccionar un <acronym>MTA</acronym> (o quizás + haya elegido no usar <acronym>MTA</acronym>) aparecerá la + siguiente opción del menú de configuración de + la red: <guimenuitem>NFS client</guimenuitem>.</para> + + <para>La opción <guimenuitem>NFS client</guimenuitem> + configurará el sistema para que pueda comunicarse con un + servidor via <acronym>NFS</acronym>. Un servidor + <acronym>NFS</acronym> hace que sus sistemas de ficheros sean + accesibles para otras máquinas a través de la red + mediante el protocolo <acronym>NFS</acronym>. Si el suyo es un + sistema que no va a conectarse a ninguna red puede dejar la + opción como está. Es posible que el sistema + necesite ser configurado más adelante; consulte la + <xref linkend="network-nfs">, donde hay más información + sobre la configuración como cliente y como + servidor.</para> + + <para>La siguiente opción es + <guimenuitem>NFS server</guimenuitem>, que le permitirá + convertir el sistema en un servidor <acronym>NFS</acronym>. + También añade la información necesaria para + el arranque de servicios <acronym>RPC</acronym>. + <acronym>RPC</acronym> se usa para coordinar conexiones entre + máquinas y programas.</para> + + <para>La siguiente en la lista es la opción + <guimenuitem>Ntpdate</guimenuitem>, relacionada con la + gestión de la sincronización del reloj del + sistema. Si la selecciona verá un menú como + este:</para> + + <figure id="Ntpdate-config"> + <title>Configuración de ntpdate</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ntp-config" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Desde este menú elija el servidor más + próximo a su ubicación geográfica. + Al elegir un servidor más próximo hace que la + sincronización sea más fiable que contra un + servidor más lejano, que puede tener una latencia + más alta en las conexiones.</para> + + <para>La siguiente opción es <acronym>PCNFSD</acronym>. + Esta opción instalará el paquete + <filename role="package">net/pcnfsd</filename> desde la + colección de ports. Es una aplicación muy + útil que facilita servicios de autenticación en + <acronym>NFS</acronym> para sistemas que son incapaces de + darla por sí mismos, léase el sistema operativo + &ms-dos; de Microsoft.</para> + + <para>Ahora baje un poco por la pantalla y vea + el resto el opciones:</para> + + <figure id="Network-configuration-cont"> + <title>Configuración de la red; segunda parte</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/net-config-menu2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>&man.rpcbind.8;, &man.rpc.statd.8; y &man.rpc.lockd.8; se + usan en (<acronym>RPC</acronym>). <command>rpcbind</command> + gestiona la comunicación entre servidores y clientes + <acronym>NFS</acronym>; es una parte imprescindible del sistema + si se quiere que un servidor <acronym>NFS</acronym> funcione + correctamente. El dæmon <application>rpc.statd</application> + interactúa con el dæmon + <application>rpc.statd</application> de otros servidores y + proporciona monitorización de estado. Los informes que + suministra suelen encontrarse en + <filename>/var/db/statd.status</filename>. La siguiente + opción que encontramos es <guimenuitem>rpc.lockd</guimenuitem> + que, si se activa, proporciona servicios de bloqueo de ficheros. + Se suele utilizar mediante <application>rpc.statd</application> + para monitorizar qué hosts están pidiendo bloqueos y + con quén frecuencia lo hacen. Aunque estas dos últimas + opciones son fantásticas para la depuración de + problemas no son necesarias para el funcionamiento de clientes y + servidores <acronym>NFS</acronym>.</para> + + <para>Si sigue avanzando en la lista se encontrará con + <guimenuitem>Routed</guimenuitem>, el dæmon de + enrutado. &man.routed.8; gestiona bajo petición + las tablas de rutas de cualquier host físicamente conectado + a la red. Suele usarse en sistemas que hacen de + <quote>gateway</quote> de una red local. Si lo selecciona se le + presentará un menú en el que se le pedirá + la ubicación de la aplicación. Viene definida por + defecto y puede aprobarla pulsando <keycap>Intro</keycap>. Se le + presentarán entonces otro menú, en el que podrá + incluír <quote>flags</quote> (parámetros) a + <application>routed</application>. La opción por defecto + es <option>-q</option> y debería constar ya en pantalla.</para> + + <para>La siguiente es la opción <guimenuitem>Rwhod</guimenuitem> + que, una vez activada, arrancará el dæmon &man.rwhod.8; + en el arranque del sistema. La aplicación + <command>rwhod</command> enviará periódicamente (en modo + <quote>broadcast</quote>) mensajes de sistema a través de + la red, o los recogerá si se le configura en modo + <quote>consumer</quote>. Tiene más información sobre + esto en &man.ruptime.1; y &man.rwho.1;.</para> + + <para>La penúltima opción del menú es el + dæmon &man.sshd.8;. Se trata del servidor de shell + segura de <application>OpenSSH</application> y su uso es del + todo recomendable en lugar de <application>telnet</application> y + <acronym>FTP</acronym>. El servidor <application>sshd</application> + se emplea para crear conexiones seguras entre hosts mediante + conexiones cifradas.</para> + + <para>Para terminar tenemos la opción + <guimenuitem>TCP Extensions</guimenuitem>. Activa las + extensiones <acronym>TCP</acronym> definidas en los + <acronym>RFC</acronym> 1323 y <acronym>RFC</acronym> 1644. + Aunque en muchos sistemas activar + <guimenuitem>TCP Extensions</guimenuitem> puede acelerar las + conexiones puede provocar que se rechacen algunas. No se recomienda + hacerlo, por tanto, en servidores pero puede ser beneficioso en otros + casos.</para> + + <para>Ahora que ha configurado los servicios de red puede seleccionar + <guimenuitem>Exit</guimenuitem> y pasar a la siguiente sección + de la configuración.</para> + + </sect2> + + <sect2 id="x-server"> + <title>Configuración del servidor X</title> + + <para>Si quiere usar un interfaz gráfico de usuario como + <application>KDE</application>, <application>GNOME</application>, + u otros, tendrá que configurar un servidor X.</para> + + <note> + <para>Si necesita ejecutar <application>&xfree86;</application> + como un usuario distinto de <username>root</username> tendrá + que instalar <filename role="package">x11/wrapper</filename>. + Viene instalado por defecto en &os; 4.7 y siguientes; en versiones + anteriores puede instalarse desde el menú de selección + de paquetes.</para> + </note> + + <para>Consulte el sitio web de + <ulink url="http://www.xfree86.org/"> &xfree86;</ulink> para saber + si su tarjeta gráfica está soportada.</para> + + + <screen> User Confirmation Requested + Would you like to configure your X server at this time? + + [ Yes ] No</screen> + + <warning> + <para> Es imprescindible que disponga de las especificaciones de + su monitor y su tarjeta gráfica. La configuración + incorrecta puede dañar su hardware. Si no dispone de + la información necesaria elija &gui.no; y configure su + servidor X cuando recopile los datos necesarios. + Cuando sea posible ejecute <command>/stand/sysinstall</command>, + elija <guimenuitem>Configure</guimenuitem> y en ese menú + elija <guimenuitem>XFree86</guimenuitem>. + Si configura mal en servidor X puede dejar el sistema + congelado. Suele decirse que la configuración del + servidor X es una tarea que debe acometerse una vez que la + la instalación ha terminado.</para> + </warning> + + <para>Si dispone de los datos de su tarjeta gráfica y de su + monitor puede pasar a la configuración de su servidor X: + seleccione &gui.yes; y pulse <keycap>Intro</keycap>.</para> + + <figure id="xserver2"> + <title>Menú de selección del método de + configuración</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/xf86setup" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Hay varios métodos de configuración del + servidor X. Use las flechas para seleccionar el método + que prefiera y pulse <keycap>Intro</keycap>. Lea atentamente todos + los mensajes que se le muestren.</para> + + <para>Los métodos <application>xf86cfg</application> y + <application>xf86cfg -textmode</application> pueden oscurecer la + pantalla y tardar unos segundos en arrancar. No se + impaciente.</para> + + + <para>Vamos a ver un ejemplo de uso de la herramienta de + configuración <application>xf86config</application>. Las + opciones de configuración dependerán del hardware + presente en el sistemay seguramente en su caso serán + diferentes de las que aquí se muestran:</para> + + <screen> Message + You have configured and been running the mouse daemon. + Choose "/dev/sysmouse" as the mouse port and "SysMouse" or + "MouseSystems" as the mouse protocol in the X configuration utility. + + [ OK ] + + [ Press enter to continue ]</screen> + + <para>Esto indica que el dæmon del ratón que hemos + configurado con anterioridad ha sido detectado. Pulse + <keycap>Intro</keycap> y prosigamos.</para> + + <para>Al arrancar <application>xf86config</application> se + mostrará una breve introducción:</para> + + <screen>This program will create a basic XF86Config file, based on menu selections you +make. + +The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample +XF86Config file is supplied with XFree86; it is configured for a standard +VGA card and monitor with 640x480 resolution. This program will ask for a +pathname when it is ready to write the file. + +You can either take the sample XF86Config as a base and edit it for your +configuration, or let this program produce a base XF86Config file for your +configuration and fine-tune it. + +Before continuing with this program, make sure you know what video card +you have, and preferably also the chipset it uses and the amount of video +memory on your video card. SuperProbe may be able to help with this. + +Press enter to continue, or ctrl-c to abort.</screen> + + <para>Si pulsa <keycap>Intro</keycap> arrancará la + configuración del ratón. Siga las instrucciones y + elija <quote>Mouse Systems</quote> como protocolo del ratón y + <filename>/dev/sysmouse</filename> como el puerto del ratón + incluso en el caso de que tenga un ratón PS/2, como el + de la ilustración.</para> + + <screen>First specify a mouse protocol type. Choose one from the following list: + + 1. Microsoft compatible (2-button protocol) + 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol + 3. Bus Mouse + 4. PS/2 Mouse + 5. Logitech Mouse (serial, old type, Logitech protocol) + 6. Logitech MouseMan (Microsoft compatible) + 7. MM Series + 8. MM HitTablet + 9. Microsoft IntelliMouse + +If you have a two-button mouse, it is most likely of type 1, and if you have +a three-button mouse, it can probably support both protocol 1 and 2. There are +two main varieties of the latter type: mice with a switch to select the +protocol, and mice that default to 1 and require a button to be held at +boot-time to select protocol 2. Some mice can be convinced to do 2 by sending +a special sequence to the serial port (see the ClearDTR/ClearRTS options). + +Enter a protocol number: 2 + +You have selected a Mouse Systems protocol mouse. If your mouse is normally +in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options +may cause it to switch to Mouse Systems mode when the server starts. + +Please answer the following question with either 'y' or 'n'. +Do you want to enable ClearDTR and ClearRTS? n + +You have selected a three-button mouse protocol. It is recommended that you +do not enable Emulate3Buttons, unless the third button doesn't work. + +Please answer the following question with either 'y' or 'n'. +Do you want to enable Emulate3Buttons? y + +Now give the full device name that the mouse is connected to, for example +/dev/tty00. Just pressing enter will use the default, /dev/mouse. +On FreeBSD, the default is /dev/sysmouse. + +Mouse device: /dev/sysmouse</screen> + + <para>El siguiente punto es la configuración del teclado. + En nuestro ejemplo tenemos un teclado genérico de + 101 teclas. Puede usar cualquier variedad del mismo tipo o + simplemente pulsar <keycap>Intro</keycap> y aceptar el + modelo por defecto.</para> + + <screen>Please select one of the following keyboard types that is the better +description of your keyboard. If nothing really matches, +choose 1 (Generic 101-key PC) + + 1 Generic 101-key PC + 2 Generic 102-key (Intl) PC + 3 Generic 104-key PC + 4 Generic 105-key (Intl) PC + 5 Dell 101-key PC + 6 Everex STEPnote + 7 Keytronic FlexPro + 8 Microsoft Natural + 9 Northgate OmniKey 101 + 10 Winbook Model XP5 + 11 Japanese 106-key + 12 PC-98xx Series + 13 Brazilian ABNT2 + 14 HP Internet + 15 Logitech iTouch + 16 Logitech Cordless Desktop Pro + 17 Logitech Internet Keyboard + 18 Logitech Internet Navigator Keyboard + 19 Compaq Internet + 20 Microsoft Natural Pro + 21 Genius Comfy KB-16M + 22 IBM Rapid Access + 23 IBM Rapid Access II + 24 Chicony Internet Keyboard + 25 Dell Internet Keyboard + +Enter a number to choose the keyboard. + +1 + + +Please select the layout corresponding to your keyboard + + + 1 U.S. English + 2 U.S. English w/ ISO9995-3 + 3 U.S. English w/ deadkeys + 4 Albanian + 5 Arabic + 6 Armenian + 7 Azerbaidjani + 8 Belarusian + 9 Belgian + 10 Bengali + 11 Brazilian + 12 Bulgarian + 13 Burmese + 14 Canadian + 15 Croatian + 16 Czech + 17 Czech (qwerty) + 18 Danish + +Enter a number to choose the country. +Press enter for the next page + +1 + + +Please enter a variant name for 'us' layout. Or just press enter +for default variant + +us + + +Please answer the following question with either 'y' or 'n'. +Do you want to select additional XKB options (group switcher, +group indicator, etc.)? n</screen> + + <para>Ahora pasaremos a la configuración del monitor. + No supere las limitaciones de su monitor o puede dañarlo de + forma irreparable. Si tiene dudas espere a disponer de todos los + datos y luego configure su monitor.</para> + + <screen>Now we want to set the specifications of the monitor. The two critical +parameters are the vertical refresh rate, which is the rate at which the +whole screen is refreshed, and most importantly the horizontal sync rate, +which is the rate at which scanlines are displayed. + +The valid range for horizontal sync and vertical sync should be documented +in the manual of your monitor. If in doubt, check the monitor database +/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there. + +Press enter to continue, or ctrl-c to abort. + + + +You must indicate the horizontal sync range of your monitor. You can either +select one of the predefined ranges below that correspond to industry- +standard monitor types, or give a specific range. + +It is VERY IMPORTANT that you do not specify a monitor type with a horizontal +sync range that is beyond the capabilities of your monitor. If in doubt, +choose a conservative setting. + + hsync in kHz; monitor type with characteristic modes + 1 31.5; Standard VGA, 640x480 @ 60 Hz + 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz + 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) + 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz + 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz + 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz + 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz + 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz + 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz +10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz +11 Enter your own horizontal sync range + +Enter your choice (1-11): 6 + +You must indicate the vertical sync range of your monitor. You can either +select one of the predefined ranges below that correspond to industry- +standard monitor types, or give a specific range. For interlaced modes, +the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). + + 1 50-70 + 2 50-90 + 3 50-100 + 4 40-150 + 5 Enter your own vertical sync range + +Enter your choice: 2 + +You must now enter a few identification/description strings, namely an +identifier, a vendor name, and a model name. Just pressing enter will fill +in default names. + +The strings are free-form, spaces are allowed. +Enter an identifier for your monitor definition: Hitachi</screen> + + <para>Ahora elegiremos un controlador para la tarjeta gráfica + en una lista. Si ha pasado de largo su tarjeta siga pulsando + <keycap>Intro</keycap> y la lista volverá a pasar por + pantalla desde el principio. Veamos un fragmento de la lista:</para> + + <screen>Now we must configure video card specific settings. At this point you can +choose to make a selection out of a database of video card definitions. +Because there can be variation in Ramdacs and clock generators even +between cards of the same model, it is not sensible to blindly copy +the settings (e.g. a Device section). For this reason, after you make a +selection, you will still be asked about the components of the card, with +the settings from the chosen database entry presented as a strong hint. + +The database entries include information about the chipset, what driver to +run, the Ramdac and ClockChip, and comments that will be included in the +Device section. However, a lot of definitions only hint about what driver +to run (based on the chipset the card uses) and are untested. + +If you can't find your card in the database, there's nothing to worry about. +You should only choose a database entry that is exactly the same model as +your card; choosing one that looks similar is just a bad idea (e.g. a +GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of +hardware as can be). + +Do you want to look at the card database? y + + + +288 Matrox Millennium G200 8MB mgag200 +289 Matrox Millennium G200 SD 16MB mgag200 +290 Matrox Millennium G200 SD 4MB mgag200 +291 Matrox Millennium G200 SD 8MB mgag200 +292 Matrox Millennium G400 mgag400 +293 Matrox Millennium II 16MB mga2164w +294 Matrox Millennium II 4MB mga2164w +295 Matrox Millennium II 8MB mga2164w +296 Matrox Mystique mga1064sg +297 Matrox Mystique G200 16MB mgag200 +298 Matrox Mystique G200 4MB mgag200 +299 Matrox Mystique G200 8MB mgag200 +300 Matrox Productiva G100 4MB mgag100 +301 Matrox Productiva G100 8MB mgag100 +302 MediaGX mediagx +303 MediaVision Proaxcel 128 ET6000 +304 Mirage Z-128 ET6000 +305 Miro CRYSTAL VRX Verite 1000 + +Enter a number to choose the corresponding card definition. +Press enter for the next page, q to continue configuration. + +288 + +Your selected card definition: + +Identifier: Matrox Millennium G200 8MB +Chipset: mgag200 +Driver: mga +Do NOT probe clocks or use any Clocks line. + +Press enter to continue, or ctrl-c to abort. + + + +Now you must give information about your video card. This will be used for +the "Device" section of your video card in XF86Config. + +You must indicate how much video memory you have. It is probably a good +idea to use the same approximate amount as that detected by the server you +intend to use. If you encounter problems that are due to the used server +not supporting the amount memory you have (e.g. ATI Mach64 is limited to +1024K with the SVGA server), specify the maximum amount supported by the +server. + +How much video memory do you have on your video card: + + 1 256K + 2 512K + 3 1024K + 4 2048K + 5 4096K + 6 Other + +Enter your choice: 6 + +Amount of video memory in Kbytes: 8192 + +You must now enter a few identification/description strings, namely an +identifier, a vendor name, and a model name. Just pressing enter will fill +in default names (possibly from a card definition). + +Your card definition is Matrox Millennium G200 8MB. + +The strings are free-form, spaces are allowed. +Enter an identifier for your video card definition:</screen> + + <para>Ahora hay que ajustar los modos de video y las resoluciones + que les corresponden. Normalmente se usan rangos de 640x480, 800x600 + y 1024x768, pero depende de la potencia de la tarjeta + gráfica, el tamaño del monitor y la comodidad de + la vista de quien decide. Al elegir la profundidad de color + procure elegir la más alta que admita su tarjeta.</para> + + <screen>For each depth, a list of modes (resolutions) is defined. The default +resolution that the server will start-up with will be the first listed +mode that can be supported by the monitor and card. +Currently it is set to: + +"640x480" "800x600" "1024x768" "1280x1024" for 8-bit +"640x480" "800x600" "1024x768" "1280x1024" for 16-bit +"640x480" "800x600" "1024x768" "1280x1024" for 24-bit + +Modes that cannot be supported due to monitor or clock constraints will +be automatically skipped by the server. + + 1 Change the modes for 8-bit (256 colors) + 2 Change the modes for 16-bit (32K/64K colors) + 3 Change the modes for 24-bit (24-bit color) + 4 The modes are OK, continue. + +Enter your choice: 2 + +Select modes from the following list: + + 1 "640x400" + 2 "640x480" + 3 "800x600" + 4 "1024x768" + 5 "1280x1024" + 6 "320x200" + 7 "320x240" + 8 "400x300" + 9 "1152x864" + a "1600x1200" + b "1800x1400" + c "512x384" + +Please type the digits corresponding to the modes that you want to select. +For example, 432 selects "1024x768" "800x600" "640x480", with a +default mode of 1024x768. + +Which modes? 432 + +You can have a virtual screen (desktop), which is screen area that is larger +than the physical screen and which is panned by moving the mouse to the edge +of the screen. If you don't want virtual desktop at a certain resolution, +you cannot have modes listed that are larger. Each color depth can have a +differently-sized virtual screen + +Please answer the following question with either 'y' or 'n'. +Do you want a virtual screen that is larger than the physical screen? n + + + +For each depth, a list of modes (resolutions) is defined. The default +resolution that the server will start-up with will be the first listed +mode that can be supported by the monitor and card. +Currently it is set to: + +"640x480" "800x600" "1024x768" "1280x1024" for 8-bit +"1024x768" "800x600" "640x480" for 16-bit +"640x480" "800x600" "1024x768" "1280x1024" for 24-bit + +Modes that cannot be supported due to monitor or clock constraints will +be automatically skipped by the server. + + 1 Change the modes for 8-bit (256 colors) + 2 Change the modes for 16-bit (32K/64K colors) + 3 Change the modes for 24-bit (24-bit color) + 4 The modes are OK, continue. + +Enter your choice: 4 + + + +Please specify which color depth you want to use by default: + + 1 1 bit (monochrome) + 2 4 bits (16 colors) + 3 8 bits (256 colors) + 4 16 bits (65536 colors) + 5 24 bits (16 million colors) + +Enter a number to choose the default depth. + +4</screen> + + <para>Para concluír, salvamos la configuración + teniendo cuidado de guardarla como + <filename>/etc/XF86Config</filename>.</para> + + <screen>I am going to write the XF86Config file now. Make sure you don't accidently +overwrite a previously configured one. + +Shall I write it to /etc/X11/XF86Config? y</screen> + + <para>Si la configuración falla puede volver a intentarlo + seleccionando &gui.yes; cuando vea el siguiente mensaje:</para> + + <screen> User Confirmation Requested +The XFree86 configuration process seems to have +failed. Would you like to try again? + + [ Yes ] No</screen> + + <para>Si tiene problemas al configurar + <application>&xfree86;</application> seleccione &gui.no; + y pulse <keycap>Enter</keycap> para seguir con el proceso de + instalación. Una vez instalado el sistema puede ejecutar + (siempre como <username>root</username>) las aplicaciones de + configuración de línea de comandos + <command>xf86cfg -textmode</command> o <command>xf86config</command>. + Hay un método más para configurar + <application>&xfree86;</application> que se describe en el + <xref linkend="x11">. Si decide no configurar + <application>&xfree86;</application> el siguiente menú + será el de selección de paquetes.</para> + + <para>Por defecto existe una combinación de teclas que + <quote>matará</quote> el servidor X: + <keycombo action='simul'> + <keycap>Ctrl</keycap><keycap>Alt</keycap> + <keycap>Retroceso</keycap></keycombo>. Ejecútela si + hay algún error en la configuración o para evitar + dan˜ar el hardware.</para> + + <para>Existe también una combinación de teclas que + permite pasar de un modo de video a otro: + <keycombo action='simul'> + <keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>+</keycap> + </keycombo> o + <keycombo action='simul'> + <keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>-</keycap> + </keycombo>. + </para> + + <para>Una vez tiene <application>&xfree86;</application> en + marcha puede ajustar el <quote>display</quote> a lo ancho,a lo alto + y puede centrarlo con <application>xvidtune</application>.</para> + + <para>Puede que aparezca alguna advertencia relacionada con una + mala configuración y el daño que puede hacer a su + hardware: hágale caso. Si tiene alguna duda, no configure + nada. Puede usar los controles del monitor para ajustar el + comportamiento de X Window. Puede haber algunas diferencias cuando + vuelva al modo texto pero es mejor eso que dañar su + equipo.</para> + + <para>Lea &man.xvidtune.1; antes de ajustar nada.</para> + + <para>Tras una instalación correcta de + <application>&xfree86;</application> vendrá la elección + de un escritorio por defecto.</para> + </sect2> + + <sect2 id="default-desktop"> + <title>Selección de un Escritorio X por defecto</title> + + <para>Hay una enorme variedad de gestores de ventanas, y los hay de + todos los tipos. Hay entornos muy básicos y hay entornos + completos de escritorio con una enorme cantidad de software. + Los hay que requieren poca memoria y muy poco espacio en disco, + mientras que los más completos requieren muchos más + recursos. La forma ideal de determinar cuál es el que mejor + le va es que pruebe unos cuantos. Puede instalarlos como paquetes o + desde los ports.</para> + + <para>Puede elegir uno de los más usados y configurarlo para + que sea su escritorio por defecto. Así podrá comenzar + en cuanto acabe con la instalación.</para> + + <figure id="x-desktop"> + <title>Elección del escritorio por defecto</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/desktop" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + + <para>Seleccione un escritorio con las flechas y pulse + <keycap>Intro</keycap>. El escritorio que haya elegido se + instalará.</para> + </sect2> + + <sect2 id="packages"> + <title>Instalación de paquetes</title> + + <para>Los paquetes son binarios precompilados y son una forma + muy cómoda de instalar software.</para> + + <para>Veamos la instalación de un paquete. Puede instalar + más paquetes si lo desea. Una vez concluída la + instalación puede instalar paquetes desde + <command>/stand/sysinstall</command>.</para> + + <screen> User Confirmation Requested + The FreeBSD package collection is a collection of hundreds of + ready-to-run applications, from text editors to games to WEB servers + and more. Would you like to browse the collection now? + + [ Yes ] No</screen> + + <para>Seleccione &gui.yes; y pulse + <keycap>Intro</keycap>: verá + las pantallas de selección de paquetes.</para> + + <figure id="package-category"> + <title>Selección de categoría de paquetes</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-cat" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Los paquetes presentes en el medio de instalación que + esté accesible en cada momento son los únicos que + se pueden instalar.</para> + + <para>Todos los paquetes disponibles en el medio se mostrarán al + seleccionar la categoría <guimenuitem>All</guimenuitem>. + Elija una categoría y pulse + <keycap>Intro</keycap>.</para> + + <para>Al seleccionar una categoría aparecerá un + menú con los paquetes disponibles existentes en la misma:</para> + + <figure id="package-select"> + <title>Selección de paquetes</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-sel" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Hemos elegido la shell <application>bash</application>. + Seleccione tantos paquetes como quiera instalar y pulse la tecla + <keycap>Espacio</keycap>. Se mostrará una breve + descripción de cada paquete en la esquina inferior izquierda + de la pantalla.</para> + + <para>Pulsando el <keycap>Tabulador</keycap> desplazará el + cursor entre el último paquete que haya seleccionado, + &gui.ok; y &gui.cancel;.</para> + + <para>Cuando haya seleccionado todos los paquetes que quiera + instalar pulse <keycap>Tabulador</keycap> una sola vez para que + el cursor pase a &gui.ok; y pulse <keycap>Intro</keycap>, lo que + le llevará al menú de selección de + paquetes.</para> + + <para>Las flechas <quote>izquierda</quote> y <quote>derecha</quote> + pueden usarse para mover el cursor entre &gui.ok; y &gui.cancel;. + Use esto para seleccionar &gui.ok; y pulsar + <keycap>Intro</keycap> para volver al menú de + selección de paquetes.</para> + + <figure id="package-install"> + <title>Instalación de paquetes</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-install" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione <guibutton>[ Install ]</guibutton> con + el <keycap>Tabulador</keycap> y las flechas y pulse + <keycap>Intro</keycap>. Se le pedirá que confirme que + quiere instalar los paquetes:</para> + + <figure id="package-install-confirm"> + <title>Confirmación previa a la instalación de + paquetes</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-confirm" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Si selecciona &gui.ok; y pulsa <keycap>Intro</keycap> + comenzará la instalación de paquetes. Irán + apareciendo mensajes relacionados con los diversos procesos de + instalación hasta que se cumplan todos. Esté atento + por si aparecieran mensajes de error.</para> + + <para>Tras la instalación de paquetes nos quedan unos toques + finales a la configuración. Si no ha elegido ningún + paquete y quiere regresar al menú de configuración + seleccione <guibutton>Install</guibutton> de todos modos.</para> + </sect2> + + <sect2 id="addusers"> + <title>Añadir Usuarios/Grupos</title> + + <para>Deberí al menos añadir un usuario al sistema + para poder usarlo para acceder al sistema una vez reiniciado sin + tener que recurrir a <username>root</username>. La partición + raíz suele ser pequeña y ejecutar aplicaciones como + <username>root</username> tiene a llenarla rápidamente. + Pero hay un peligro mucho mayor:</para> + + <screen> User Confirmation Requested + Would you like to add any initial user accounts to the system? Adding + at least one account for yourself at this stage is suggested since + working as the "root" user is dangerous (it is easy to do things which + adversely affect the entire system). + + [ Yes ] No</screen> + + <para>Es decir:</para> + + <screen> Petición de confirmación por parte del usuario + ¿Quiere añadir algún usuario al sistema? Le sugerimos que añada al menos + uno para usted puesto que trabajar como "root" es peligroso (es fácil + hacer algo con consecuencias en todo el sistema). + + [ Yes ] No</screen> + + + <para>Elija &gui.yes; y pulse <keycap>Intro</keycap> para + añadir un usuario.</para> + + <figure id="add-user2"> + <title>Seleccione <quote>Añadir usuario</quote></title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/adduser1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione <guimenuitem>User</guimenuitem> con las flechas + y pulse <keycap>Intro</keycap>.</para> + + <figure id="add-user3"> + <title>Añadir la información del usuario</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/adduser2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>A medida que vaya seleccionando los campos ayudándose del + <keycap>Tabulador</keycap> se le irán mostrando las siguientes + descripciones en la parte baja de la pantalla:</para> + + <variablelist> + <varlistentry> + <term>Login ID</term> + + <listitem> + <para>El nombre de usuario (obligatorio).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>UID</term> + + <listitem> + <para>El ID numérico del usuario (déjelo en blanco + si quiere que el sistema lo asigne + automáticamente).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Group</term> + + <listitem> + <para>El grupo al que pertenecerá el usuario. + (déjelo en blanco si quiere que el sistema lo asigne + automáticamente).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Password</term> + + <listitem> + <para>La contraseña del usuario (<emphasis>rellene + con cuidado este campo</emphasis>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Full name</term> + + <listitem> + <para>El nombre completo del usuario (o un comentario + descriptivo sobre él/ella).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Member groups</term> + + <listitem> + <para>Los grupos a los que este usuario pertenece.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Home directory</term> + + <listitem> + <para>El directorio <quote>home</quote> del usuario. + (déjelo en blanco si quiere que el sistema lo asigne + automáticamente).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Login shell</term> + <listitem> + <para>La shell con la que el usuario accederá al + sistema. (Déjela en blanco si le sirve la + opción por defecto, esto es, + <filename>/bin/sh</filename>).</para> + </listitem> + </varlistentry> + </variablelist> + + <para>En el ejemplo se cambió <filename>/bin/sh</filename> por + <filename>/usr/local/bin/bash</filename> para poder usar la shell + <application>bash</application> que previamente se ha instalado. + No intente usar una shell que no exista o no podrá acceder al + sistema. La shell más común en entornos BSD es la + <quote>C shell</quote>, <filename>/bin/tcsh</filename>.</para> + + <para>El usuario se añadió también al grupo + <groupname>wheel</groupname> para que pueda convertirse en + superusuario, es decir, con privilegios de + <username>root</username>.</para> + + <para>Cuando haya terminado pulse &gui.ok; y el menú de + gestión de usuarios y grupos aparecerá de + nuevo:</para> + + <figure id="add-user4"> + + <title>Salir de la gestión de usuarios y grupos</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/adduser3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Los grupos también pueden añadirse en este + momento si fuera necesario. También puede hacerse desde + <filename>/stand/sysinstall</filename> una vez culminada la + instalación.</para> + + <para>Cuando haya acabado de añadir usuarios seleccione + <guimenuitem>Exit</guimenuitem> con las flechas y pulse + <keycap>Intro</keycap> y siga con la instalación.</para> + </sect2> + + <sect2 id="rootpass"> + <title>Asigne la contraseña de + <username>root</username></title> + + <screen> Message + Now you must set the system manager's password. + This is the password you'll use to log in as "root". + + [ OK ] + + [ Press enter to continue ]</screen> + + <para>Es decir:</para> + + <screen> Mensaje + Ahora debe asignar la contraseña del administrador del sistema. + Esta es la contraseña que usará cuando acceda al sistema como + "root". + + [ OK ] + + [ Pulse Intro ]</screen> + + <para>Pulse <keycap>Intro</keycap> y asígnele una + contraseña a <username>root</username>.</para> + + <para>Tendrá que escribir la contraseña correctamente + dos veces. No hay necesidad de decirle que es importante que + recuerde esa contraseña.</para> + + <screen>Changing local password for root. +New password : +Retype new password :</screen> + + <para>La instalación continuará una vez que haya + introducido las contraseñas correctamente.</para> + </sect2> + + <sect2 id="exit-inst"> + <title>Salir de la instalación</title> + + <para>Si tiene que configurar algo más en la red o en + cualquier otro sitio puede hacerlo ahora mismo (o más tarde + una vez reiniciado el sistema) desde + <filename>/stand/sysinstall</filename>.</para> + + <screen> User Confirmation Requested + Visit the general configuration menu for a chance to set any last + options? + + Yes [ No ]</screen> + + <para>Seleccione &gui.no; con las flechas y pulse + <keycap>Intro</keycap> para volver al menú principal + de la instalación.</para> + + <figure id="final-main"> + <title>Salir de la instalación</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mainexit" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Seleccione <guibutton>[X Exit Install]</guibutton> con las + flechas y pulse <keycap>Intro</keycap>. Se le pedirá + confirmación antes de salir de la instalación:</para> + + <screen> User Confirmation Requested + Are you sure you wish to exit? The system will reboot (be sure to + remove any floppies from the drives). + + [ Yes ] No</screen> + + <para>Es decir:</para> + + <screen> Confirmación por parte del usuario + ¿Seguro que quiere salir? El sistema reiniciará (compruebe que + ha retirado los disquetes de la unidad). + + [ Yes ] No</screen> + + <para>Seleccione &gui.yes; y extraiga el disquete si ha arrancado desde + floppy. La unidad CDROM está bloqueada hasta que la + máquina comience a reiniciarse. La unidad CDROM se desbloquea + y (actuando con agilidad felina) puede extraerse el CDROM.</para> + + <para>El sistema reiniciará, esté atento por si aparece + algún mensaje de error.</para> + </sect2> + + <sect2 id="freebsdboot"> + <title>El arranque de &os;</title> + + <sect3 id="freebsdboot-i386"> + <title>El arranque de &os; en &i386;</title> + + <para>Si todo ha ido bien verá pasar una larga lista de + mensajes hasta que llegue al <quote>login prompt</quote> (es + decir, donde podrá escribir un nombre de usuario y + una contraseña para acceder al sistema). Puede + leer detenidamente ese mensajes pulsando + <keycap>Bloq Despl</keycap> y usando + <keycap>RePág</keycap> y <keycap>AvPág</keycap>. + Pulse <keycap>Bloq Despl</keycap> cuando quiera para regresar + al prompt.</para> + + <para>Es posible que el mensaje completo no pueda mostrarse debido a + limitaciones del buffer pero puede verlo desde la línea de + comandos escribiendo <command>dmesg</command>.</para> + + <para>Entre al sistema con el nombre de usuario y la + contraseña que escribió durante la + instalación (en el ejemplo + <username>rpratt</username>). Evite acceder al sistema como + <username>root</username> excepto cuando sea necesario hacerlo.</para> + + <para>Veamos un típico mensaje de arranque (se han omitido los + datos de versión):</para> + +<screen>Copyright (c) 1992-2002 The FreeBSD Project. +Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Timecounter "i8254" frequency 1193182 Hz +CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) + Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 + Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> + AMD Features=0x80000800<SYSCALL,3DNow!> +real memory = 268435456 (262144K bytes) +config> di sn0 +config> di lnc0 +config> di le0 +config> di ie0 +config> di fe0 +config> di cs0 +config> di bt0 +config> di aic0 +config> di aha0 +config> di adv0 +config> q +avail memory = 256311296 (250304K bytes) +Preloaded elf kernel "kernel" at 0xc0491000. +Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. +md0: Malloc disk +Using $PIR table, 4 entries at 0xc00fde60 +npx0: <math processor> on motherboard +npx0: INT 16 interface +pcib0: <Host to PCI bridge> on motherboard +pci0: <PCI bus> on pcib0 +pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 +pci1: <PCI bus> on pcib1 +pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 +isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 +isa0: <ISA bus> on isab0 +atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 +ata0: at 0x1f0 irq 14 on atapci0 +ata1: at 0x170 irq 15 on atapci0 +uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 +usb0: <VIA 83C572 USB controller> on uhci0 +usb0: USB revision 1.0 +uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 +uhub0: 2 ports with 2 removable, self powered +chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 +ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at +device 10.0 on pci0 +ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) +isa0: too many dependant configs (8) +isa0: unexpected small tag 14 +fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 +fdc0: FIFO enabled, 8 bytes threshold +fd0: <1440-KB 3.5" drive> on fdc0 drive 0 +atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 +atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 +kbd0 at atkbd0 +psm0: <PS/2 Mouse> irq 12 on atkbdc0 +psm0: model Generic PS/2 mouse, device ID 0 +vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 +sc0: <System console> at flags 0x1 on isa0 +sc0: VGA <16 virtual consoles, flags=0x300> +sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 +sio0: type 16550A +sio1 at port 0x2f8-0x2ff irq 3 on isa0 +sio1: type 16550A +ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 +ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode +ppc0: FIFO with 16/16/15 bytes threshold +ppbus0: IEEE1284 device found /NIBBLE +Probing for PnP devices on ppbus0: +plip0: <PLIP network interface> on ppbus0 +lpt0: <Printer> on ppbus0 +lpt0: Interrupt-driven port +ppi0: <Parallel I/O> on ppbus0 +ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 +ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 +acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 +Mounting root from ufs:/dev/ad0s1a +swapon: adding /dev/ad0s1b as swap device +Automatic boot in progress... +/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS +/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) +/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS +/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) +/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS +/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) +/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS +/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) +Doing initial network setup: hostname. +ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 + ether 52:54:05:de:73:1b +lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 + inet6 ::1 prefixlen 128 + inet 127.0.0.1 netmask 0xff000000 +Additional routing options: IP gateway=YES TCP keepalive=YES +routing daemons:. +additional daemons: syslogd. +Doing additional network setup:. +Starting final network daemons: creating ssh RSA host key +Generating public/private rsa1 key pair. +Your identification has been saved in /etc/ssh/ssh_host_key. +Your public key has been saved in /etc/ssh/ssh_host_key.pub. +The key fingerprint is: +cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com + creating ssh DSA host key +Generating public/private dsa key pair. +Your identification has been saved in /etc/ssh/ssh_host_dsa_key. +Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. +The key fingerprint is: +f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. +setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib +/usr/local/lib +a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout +starting standard daemons: inetd cron sshd usbd sendmail. +Initial rc.i386 initialization:. +rc.i386 configuring syscons: blank_time screensaver moused. +Additional ABI support: linux. +Local package initialization:. +Additional TCP options:. + +FreeBSD/i386 (k6-2.example.com) (ttyv0) + +login: rpratt +Password:</screen> + + <para>La generación de las llaves RSA y DSA puede llevar + cierto tiempo, especialmente en sistemas lentos. No se preocupe + por ello porque esto sólo ha de hacerse en el primer + arranque tras una instalación. Los demás arranques + del sistema serán mucho más rápidos.</para> + + <para>Si se configuró el servidor X y se eligió + escritorio por defecto puede teclear <command>startx</command> y + usarlos.</para> + + </sect3> + + <sect3> + <title>Arranque de &os; en Alpha</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <para>Una vez que el proceso de instalación ha terminado + podrá arrancar &os; escribiendo algo parecido a esto + en el prompt de SRM:</para> + + <screen>>>><userinput>BOOT DKC0</userinput></screen> + + <para>Esto indica al firmware que arranque desde el disco + especificado. Para que &os; arranque automáticamente en el + el futuro use los siguientes comandos:</para> + + <screen><prompt>>>></prompt> <userinput>SET BOOT_OSFLAGS A</userinput> +<prompt>>>></prompt> <userinput>SET BOOT_FILE ''</userinput> +<prompt>>>></prompt> <userinput>SET BOOTDEF_DEV DKC0</userinput> +<prompt>>>></prompt> <userinput>SET AUTO_ACTION BOOT</userinput></screen> + + <para>Los mensajes de arranque serán muy similares (pero no + idénticos a los que se producen en el arranque de &os; + en &i386;.</para> + </sect3> + </sect2> + + <sect2 id="shutdown"> + <title>Apagar &os;</title> + + <para>Es muy importante apagar correctamente el sistema operativo. + No se trata de pulsar el botón <quote>power</quote>. + Lo primero que debe hacer es convertirse en superusuario + escribiendo <command>su</command> en la línea de comandos e + introduciendo la contraseña de <username>root</username>. + Tenga en cuenta que sólo podrá hacer tal cosa si + el usuario es miembro del grupo <groupname>wheel</groupname>. + Si no, puede acceder al sistema como <username>root</username> y + teclear <command>shutdown -h now</command>.</para> + <para>It is important to properly shutdown the operating + system. Do not just turn off power. First, become a superuser by + typing <command>su</command> at the command line and entering the + <username>root</username> password. This will work only if the user + is a member of the <groupname>wheel</groupname> group. + Otherwise, login as <username>root</username> and use + <command>shutdown -h now</command>.</para> + + <screen>The operating system has halted. +Please press any key to reboot.</screen> + + <para>Es decir:</para> + + <screen>Se ha detenido el sistema operativo. +Por favor, pulse cualquier tecla y el sistema se reiniciará.</screen> + + + <para>Una vez que ha aparecido el mensaje + <quote>Please press any key to reboot.</quote> puede apagar el + sistema tranquilamente. Si pulsa cualquier tecla en vez de + <emphasis>apagar</emphasis> la máquina, el sistema se + reiniciará.</para> + + <para>También puede usar la combinación de teclas + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>Supr</keycap> + </keycombo> + para reiniciar el sistema pero recuerde que no es la forma más + recomendable de hacerlo.</para> + + </sect2> + </sect1> + + <sect1 id="install-supported-hardware"> + <title>Hardware soportado</title> + + <indexterm><primary>hardware</primary></indexterm> + <para>&os; funciona en una gran variedad de PC con buses + ISA, VLB, EISA y PCI y procesadores <quote>x86</quote> de los + tipos Intel, AMD, Cyrix y NexGen, además de en máquinas + con procesadores Compaq Alpha. &os; funciona en unidades ESDI e + IDE genéricas, gran cantidad de controladoras SCSI, tarjetas + PCMCIA, dispositivos USB, así como tarjetas serie y de red. + &os; soporta el bus MCA (microcanal) de IBM.</para> + + <para>En cada <quote>release</quote> de &os; se facilita una lista de + hardware soportado, dentro de las llamadas <quote>&os; Hardware + Notes</quote>. Normalmente el texto está en un fichero llamado + <filename>HARDWARE.TXT</filename> que puede encontrarse en el nivel + más alto del CDROM o de la distribución FTP, así + como en el menú de documentación de + <application>sysinstall</application>. En la lista aparece, clasificada + por arquitecturas, el hardware del que se han recibido informes + de funcionamiento en cada <quote>release</quote> de &os;. Puede + encontrar copias de esas listas de hardware soportado (para diversas + arquitecturas y de todas las <quote>releases</quote> en la + página de <ulink + url="http://www.FreeBSD.org/releases/index.html">Información + de <quote>releases</quote></ulink> del sitio web de &os;.</para> + </sect1> + + <sect1 id="install-trouble"> + <title>Solución de problemas</title> + + <indexterm> + <primary>installation</primary> + <secondary>troubleshooting</secondary> + </indexterm> + <para>Esta sección trata sobre la solución de problemas + habituales durante la instalación que la comunidad de usuarios + ha documentado. Hay también unas cuantas preguntas ya respuestas + para quienes quieren elegir en el arranque entre &os; y &ms-dos;.</para> + + <sect2> + <title>Qué hacer si algo va mal</title> + + <para>A causa de diversas limitaciones de la arquitectura PC es + imposible hacer que nada funcione con un 100% de probabilidades pero + al menos hay unas cuantas cosas que pueden hacerse si algo + va mal.</para> + + <para>Consulte la lista de hardware soportado y asegúrese de + que su hardware debería funcionar con su versión de + &os;.</para> + + <para>Si su hardware está soportado y sigue experimentando + <quote>cuelgues</quote> u otro tipo de problemas resetée su + computadora y cuando se le ofrezca la opción de + configuración visual del kernel, elíjala. + De este modo podrá obtener una información mucho + más precisa sobre su hardware y lo que es más más + importante, le suministrará toda esa información al + sistema. El kernel que se encuentra en los discos de arranque + se configura asumiendo que la mayoría de los dispositivos + van a funcionar con la configuración por defecto que traen + de fábrica (en términos de IRQ, direcciones IO y + canales DMA). Si su hardware ha sido reconfigurado quizás + tendrá que usar el editor de configuración para + decirle a &os; dónde encontrar las cosas.</para> + + <para>Es posible también que la prueba de un dispositivo que + no existe en el sistema cause problemas más tarde al probar + un dispositivo que sí está en la máquina. + Si ese puede ser su caso desactive las pruebas de de controladores + conflictivos.</para> + + <note> + <para>Algunos problemas de instalación pueden evitarse o + al menos aliviarse actualizando el firmware de varios tipos de + componentes de hardware; esto es especialmente cierto en el caso + de las placas base. El firmware de las placas base se llama + también <acronym>BIOS</acronym> y la mayoría de las + placas base y de los fabricantes de computadoras tienen un sitio + web, en el que pueden encontrarse actualizaciones e + información sobre cómo usarlas.</para> + + <para>La mayoría de los fabricantes recomienda que no se + actualice la <acronym>BIOS</acronym> de la placa base a menos que + tenga una buena razón, por ejemplo una actualización + crítica. El proceso de actualización + <emphasis>puede</emphasis> ir mal, lo que pueden significar + daños en el chip de la <acronym>BIOS</acronym>.</para> + </note> + + <warning> + <para> No desactive controladores que vaya a necesitar durante la + instalación, como el de pantalla + (<devicename>sc0</devicename>). Si la instalación + se congela o falla misteriosamente tras salir del editor de + configuración probablemente se debe a que a quitado o + cambiado algo que no debía. Reinicie e + inténtelo de nuevo.</para> + </warning> + + <para>En el modo de configuración puede:</para> + + <itemizedlist> + <listitem> + <para>Listar los controladores de dispositivos que hay + instalados en el kernel.</para> + </listitem> + + <listitem> + <para>Desactivar controladores de hardware que no está + presente en el sistema.</para> + </listitem> + + <listitem> + <para>Cambiar IRQ, DRQ y direcciones de puertos IO que utilice + algún controlador de dispositivo.</para> + </listitem> + </itemizedlist> + + <para>Tras ajustar el kernel a su configuración de hardware + escriba <command>Q</command>; esto hará que arranque con + la nueva configuración. Una vez que haya concluído la + instalación cualquier cambio que haga en el modo + configuración será permanente, así que no + tendrá que repetirlo cada vez que arranque el sistema. + En cualquier caso es muy posible que tenga que <link + linkend="kernelconfig">compilar un kernel a medida</link>.</para> + </sect2> + + <sect2> + <title>Convivencia con particiones &ms-dos; que ya existín + previamente</title> + + <indexterm><primary>DOS</primary></indexterm> + <para>Tarde o temprano muchos usuarios se ven en la tesitura de instalar + &os; en un <acronym>PC</acronym> en el que ya había + instalado alguno de los sistemas operativos de µsoft;. + Para esos casos &os; dispone de una aplicación llamada + <application>FIPS</application>. Esta aplicación se + encuentra en el directorio <filename>tools</filename> del CDROM de + instalación y puede descargarse desde cualquiera de las + <link linkend="mirrors">réplicas de &os;</link>.</para> + + <para> <application>FIPS</application> permite dividir una + partición &ms-dos; en uso en dos partes, preservando la + partición original y permitiendo instalar en la segunda + parte, que está libre. Antes de nada tendrá que + desfragmentar la partición &ms-dos; mediante el + <application>Desfragmentador de discos</application> (desde el + <quote>Explorador</quote>, pulse el botón derecho del + ratón sobre el disco duro y elija <quote>desfragmentar su + disco duro</quote>), o use + <application>Norton Disk Tools</application>. Una vez hecho puede + ejecutar <application>FIPS</application>. Le pedirá + ciertos datos que necesita para funcionar, usted sólo tiene + que seguir las instrucciones en pantalla. Después puede + reiniciar el sistema e instalar &os; en el espacio libre que acaba + de crear. Consulte el menú + <guimenuitem>Distributions</guimenuitem>, le vendrá muy bien + una estimación de cuánto espacio libre necesitará + para la instalación que quiere.</para> + + <para>Existe también un producto muy útil: + <application>&partitionmagic;</application>, de PowerQuest + (<ulink url="http://www.powerquest.com/">http://www.powerquest.com</ulink>). + Este programa tiene muchas más posibilidades que + <application>FIPS</application> y es muy recomendable si suele + instalar y desinstalar sistemas operativos con una cierta + frecuencia. Cuesta dinero, así que si su idea es instalar + &os; y dejarlo instalado probablemente <application>FIPS</application> + es más que suficiente.</para> + </sect2> + + <sect2> + <title>Uso de sistemas de ficheros &ms-dos; y &windows;</title> + + <para>Cuando se escribe este texto &os; no soporta sistemas de + ficheros comprimidos con + <application>Double Space™</application>. Deberá por + lo tanto descomprimir el sistema de ficheros antes de acceder a los + datos desde &os;. Para ello ejecute el + <application>Agente de compresión</application> situado en el + menú <guimenuitem>Inicio</guimenuitem>> + <guimenuitem>Programas</guimenuitem> > + <guimenuitem>Herramientas del sistema</guimenuitem>.</para> + + + <para>&os; soporta sistemas de ficheros &ms-dos;. Para ello + deberá usar &man.mount.msdos.8; con los parámetros + correctos ( en &os; 5.X use &man.mount.msdosfs.8;) El uso + más frecuente de estas aplicaciones es parecido a lo + siguiente:</para> + + <screen>&prompt.root; <userinput>mount_msdos /dev/ad0s1 /mnt</userinput></screen> + + <para>En el ejemplo que se muestra el sistema de ficheros &ms-dos; + está en la primera partición del primer disco duro. + La situación en su sistema puede ser diferente: compruebe la + salida de <command>dmesg</command> y <command>mount</command>. + Deberían suministrarle suficiente información como para + darle una idea de la estructura de particiones en la que está + trabajando.</para> + + <note><para> Los sistemas de ficheros &ms-dos; extendidos suelen + <quote>mapearse</quote> tras las particiones &os;. En otras palabras, + el número de <quote>slice</quote> puede ser superior que el que + &os; está usando. Veamos un ejemplo: la primera + partición &ms-dos; puede ser <filename>/dev/ad0s1</filename>, + la partición &os; puede ser <filename>/dev/ad0s2</filename>, + mientras que la partición extendida &ms-dos; puede ser + <filename>/dev/ad0s3</filename>. Esto puede ser un poco confuso al + principio.</para></note> + + <para>Las particiones NTFS pueden montarse de un modo muy parecido + mediante &man.mount.ntfs.8;.</para> + </sect2> + + <sect2> + <title>Preguntas y respuestas para usuarios de Alpha</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <para>En esta sección encontrará unas cuantas + preguntas frecuentes sobre la instalación de &os; en + sistemas Alpha.</para> + + <qandaset> + <qandaentry> + <question> + <para>¿Puedo arrancar desde ARC o desde la + consola BIOS de Alpha?</para> + </question> + + <indexterm><primary>ARC</primary></indexterm> + <indexterm><primary>Alpha BIOS</primary></indexterm> + <indexterm><primary>SRM</primary></indexterm> + + <answer> + <para>No. &os; al igual que sucede con Compaq Tru64 y VMS, + sólo puede arrancar desde la consola SRM.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>¡Socorro, no tengo espacio! ¿Debo + borrarlo todo primero?</para> + </question> + + <answer> + <para>Por desgracia <emphasis>sí</emphasis>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>¿Puedo montar mis sistemas de ficheros + Compaq Tru64 o VMS?</para> + </question> + + <answer> + <para>En este momento <emphasis>no</emphasis>.</para> + </answer> + </qandaentry> + </qandaset> + </sect2> + </sect1> + + <sect1 id="install-advanced"> + <sect1info> + <authorgroup> + <author> + <firstname>Valentino</firstname> + <surname>Vaschetto</surname> + <contrib>Escrito por </contrib> + </author> + <!-- May 2001 --> + </authorgroup> + </sect1info> + + <title>Guía de instalación avanzada</title> + + <para>Esta sección trata sobre la instalación de &os; en + casos excepcionales.</para> + + <sect2 id="headless-install"> + <title>Instalación de &os; en un sistema sin monitor o + teclado</title> + + <indexterm> + <primary>installation</primary> + <secondary>headless (serial console)</secondary> + </indexterm> + <indexterm><primary>serial console</primary></indexterm> + <para>Ésta instalación es conocida como + <quote>instalación sin cabeza</quote>, porque la + máquina en la que está intentando instalar &os; + no tiene un monitor conectado; quizás ni siquiera tiene + salida VGA. ¿Cómo es posible?, se preguntará: + A través de una consola serie. Una consola serie consiste + básicamente en usar otro sistema como la pantalla y el + teclado de una máquina. Siga las instrucciones de + creación de los disquetes que se detallan en la <xref + linkend="install-floppies">.</para> + + <para>Tendrá que modificar esos disquetes para que arranquen + en la consola serie; siga estas instrucciones:</para> + + <procedure> + <step> + <title>Modificación de los disquetes de arranque para que + permitan el arranque en la consola serie</title> + <indexterm> + <primary><command>mount</command></primary> + </indexterm> + <para>Si arrancara con los disquetes que acaba de crear &os; + arrancaría en el modo normal de instalación. Lo + que queremos es que &os; arranque en una consola serie, + así que hemos de montar el floppy + <filename>kern.flp</filename> en un sistema &os; mediante + &man.mount.8;.</para> + + <screen>&prompt.root; <userinput>mount /dev/fd0 /mnt</userinput></screen> + + <para>Una vez montado el floppy entre en el directorio + <filename role="directory">/mnt</filename> :</para> + + <screen>&prompt.root; <userinput>cd /mnt</userinput></screen> + + <para>Aquí es donde enseñaremos al floppy a + arrancar en la consola serie. Debe crearse un fichero llamado + <filename>boot.config</filename> que contenga lo siguiente: + <literal>/boot/loader -h</literal>. Con esto le pasamos a + al <quote>bootloader</quote> (el <emphasis>cargador de + arranque</emphasis>) la <quote>flag</quote> de arrancar + en una consola serie.</para> + + <screen>&prompt.root; <userinput>echo "/boot/loader -h" > boot.config</userinput></screen> + + <para>Una vez configurado correctamente nuestro floppy lo + desmontamos con &man.umount.8;:</para> + + <screen>&prompt.root; <userinput>cd /</userinput> +&prompt.root; <userinput>umount /mnt</userinput></screen> + + <para>Y podemos extraer el floppy de la unidad.</para> + </step> + + <step> + <title>Conexión del cable modem</title> + + <indexterm><primary>null modem cable</primary></indexterm> + <para>Tiene que conectar un + <link linkend="term-cables-null">cable + módem nulo</link> entre dos máquinas. + <emphasis>Un cable serie normal no funcionará</emphasis>, + necesitará un cable módem nulo porque tiene + cruzado alguno de los hilos.</para> + </step> + + <step> + <title>Arranque de la instalación</title> + + <para>Podemos iniciar la instalación. Introduzca el + floppy <filename>kern.flp</filename> en la unidad de disquetes + de la máquina en la que quiere hacer la instalación + y encienda la máquina.</para> + </step> + + <step> + <title>La conexión a su <quote>máquina sin + cabeza</quote></title> + <indexterm> + <primary><command>cu</command></primary> + </indexterm> + <para>Conéctese mediante &man.cu.1;:</para> + + <screen>&prompt.root; <userinput>cu -l /dev/cuaa0</userinput></screen> + </step> + </procedure> + + <para> ¡Ya está! Desde ahora debería ser + capaz de controlar su <quote>máquina sin cabeza</quote> + mediante su sesión <command>cu</command>. El sistema de + instalación le avisará de que debe introducir el + floppy <filename>mfsroot.flp</filename> y después le + preguntará por el tipo de terminal que prefiere usar. + Elija la consola en color de &os; y ¡buena suerte con la + instalación!.</para> + + </sect2> + </sect1> + + <sect1 id="install-diff-media"> + <title>Cómo preparar su propio medio de + instalación</title> + + <note> + <para> Para evitar la repetición <quote>disco &os;</quote> + será en adelante un CDROM o un DVD de &os; que usted ha + comprado o ha hecho por sus propios medios.</para> + </note> + + <para>Puede darse la circunstancia de que tenga que crear su propio + medio de instalación de &os;. Puede tratarse de un medio + físico como una cinta o una fuente para que + <application>sysinstall</application> pueda obtener los ficheros + que vaya necesitando, como un sitio FTP local, o bien puede + tratarse de una partición &ms-dos;.</para> + + <para>Por ejemplo:</para> + + <itemizedlist> + <listitem> + <para>Tiene muchas máquinas conectadas a una red local y + un sólo disco &os;. Quiere crear un sitio FTP local + con el contenido del disco &os; y que desde él sus + máquinas obtengan los ficheros en lugar de tener que + conectarse a Internet.</para> + </listitem> + + <listitem> + <para>Tiene un disco &os; y &os; no reconoce su unidad CD/DVD pero + &ms-dos;/&windows; sí. Quiere copiar los ficheros de + instalación de &os; a una partición DOS en el mismo + mismo sistema y luego instalar &os; usando esos ficheros.</para> + </listitem> + + <listitem> + <para>El sistema en el que quiere instalar &os; no tiene + unidad CD/DVD ni tarjeta de red pero puede conectar un cable + paralelo o un cable serie <quote>Laplink</quote> a una computadora + que sí que tiene.</para> + </listitem> + + <listitem> + <para>Quiere crear una cinta desde la que se pueda instalar + &os;.</para> + </listitem> + </itemizedlist> + + <sect2 id="install-cdrom"> + <title>Creación de un CDROM de instalación</title> + + <para>Con cada <quote>release</quote> el proyecto &os; libera dos + imágenes de CDROM (<quote>imágenes ISO</quote>). + Esas imágenes pueden copiarse a CD + (<quote>quemadas</quote> o <quote>tostadas</quote>) en CD si dispone + de una grabadora de CD, y usarse posteriormente para instalar &os;. + Si tiene una grabadora de CD y el ancho de banda no le supone un + problema la forma más fácil de instalar &os; es + esta.</para> + + <procedure> + <step> + <title>Descargar la imagen ISO correcta</title> + + <para>Puede descargar las imágenes ISO de cada + <quote>release</quote> desde + <filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-<replaceable>arquitectura</replaceable>/<replaceable>versión</replaceable></filename> + o desde la réplica más próxima. + Sustituya <replaceable>arquitectura</replaceable> y + <replaceable>versión</replaceable> por lo que + corresponda.</para> + + <para>Ese directorio contendrá normalmente las siguientes + imágenes:</para> + + <table frame="none"> + <title>Nombre de las imágenes ISO de &os; y + su significado</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Nombre de fichero</entry> + + <entry>Contenido</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename><replaceable>versión</replaceable>-mini.iso</filename></entry> + + <entry>Todo lo que necesita para instalar &os;.</entry> + </row> + + <row> + <entry><filename><replaceable>versión</replaceable>-disc1.iso</filename></entry> + + <entry>Todo lo necesario para instalar &os; así como + un gran número de paquetes de software.</entry> + </row> + + <row> + <entry><filename><replaceable>versión</replaceable>-disc2.iso</filename></entry> + + <entry>Un sistema de ficheros <quote>live</quote> (es decir, + ejecutable desde CD) que ejecutado en conjunción + con la aplicación <quote>Repair</quote> de + <application>sysinstall</application>. Una copia del + árbol CVS &os;. Un gran número de paquetes + de software.</entry> + </row> + </tbody> + </tgroup> + </table> + +<!-- XXX we don't need to mention things prior to 4.4 anymore + <note> + <para>The mini ISO was only produced for FreeBSD 4.4 and + subsequent releases. The images for discs two, three, and four + were only produced for FreeBSD 4.5 and subsequent + releases.</para> + </note> +--> + + <para>Descargue la imagen mini ISO o la imagen del disco uno. + <emphasis>No</emphasis> descargue ambas, puesto que el disco + uno contiene todo lo que hay en la imagen mini ISO.</para> + + <para>Use la mini ISO si su acceso a Internet es barato. Con ella + podrá instalar &os; y podrá instalar todo tipo de + software descargándolo como paquetes/ports (consulte + el <xref linkend="ports">) cuando lo precise.</para> + + <para>Utilice la imagen del disco uno si quiere disponer en el + propio disco de una selección bastante completa + de paquetes de software.</para> + + <para>Si tiene acceso de alta velocidad a Internet las demás + imágenes de disco son útiles pero no + esenciales.</para> + </step> + + <step> + <title>Escribir los CD</title> + + <para>Si va a grabar los CD en un sistema &os; consulte la + <xref linkend="creating-cds"> (en particular la + <xref linkend="burncd"> y la + <xref linkend="cdrecord">).</para> + + <para>Las imágenes se hacen en un formato ISO + estándar; si va a grabarlas en cualquier otra plataforma + no debería tener problemas para hacerlo cualquiera que sea + la aplicación que use para grabar CD.</para> + </step> + </procedure> + </sect2> + + <sect2 id="install-ftp"> + <title>Creación de un sitio FTP local a partir de un + disco &os;</title> + + <indexterm> + <primary>installation</primary> + <secondary>network</secondary> + <tertiary>FTP</tertiary> + </indexterm> + + <para>Los discos &os; tienen la misma estructura que los sitios FTP. + Esa circunstancia le facilitará mucho la tarea de crear un sitio + FTP local para uso de otras máquinas de su red durante la + instalación de &os;.</para> + + <procedure> + <step> + <para>Monte el CDROM en <filename>/cdrom</filename> del + sistema que va a albergar el sitio FTP.</para> + + <screen>&prompt.root; <userinput>mount /cdrom</userinput></screen> + </step> + + <step> + <para>Cree una cuenta apta para FTP anónimo en + <filename>/etc/passwd</filename> editando + <filename>/etc/passwd</filename> con &man.vipw.8;. + Añádale lo siguiente:</para> + + <programlisting>ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting> + </step> + + <step> + <para>Compruebe que el servicio FTP está activado en + <filename>/etc/inetd.conf</filename>.</para> + </step> + </procedure> + + <para>Ahora cualquier máquina capaz de conectarse a su + sistema a través de una red puede elegir como medio de + instalación <quote>FTP</quote> y escribir + <userinput>ftp://<replaceable>su máquina</replaceable></userinput> + tras seleccionar <quote>Other</quote> en el menú de sitios + FTP.</para> + + <warning> + <para> Acabamos de exponer una buena solución para usar + en un sistema de su propia red y que además está + protegido por un cortafuegos. Si ofrece servicios FTP a + máquinas de Internet (y no de su red local) expone su + computadora a caer bajo la atención de + <quote>crackers</quote> y otras variedades de indeseable. Le + recomendamos encarecidamente que siga a rajatabla políticas + sensatas de seguridad.</para> + </warning> + </sect2> + + <sect2> + <title>Creación de disquetes de instalación</title> + + <indexterm> + <primary>installation</primary> + <secondary>floppies</secondary> + </indexterm> + + <para>Si quiere instalar &os; desde disquetes (cosa que, de + antemano, le sugerimos que <emphasis>no</emphasis> haga) bien + sea porque &os; no soporta cierto componente necesario de su + sistema o sencillamente porque insiste en querer hacer las cosas + de la manera más difícil, tendrá que + tener a mano unos cuantos disquetes.</para> + + <para>Como mínimo necesitará tantos disquetes de + 1.44 MB o 1.2 MB como hagan falta para dar cabida a todos + los ficheros que hay en <filename>bin</filename>. Recuerde la + entrada <quote>binary distribution</quote> (distribución + binaria) durante la instalación. Si está generando + los disquetes en DOS <emphasis>debe formatearlos</emphasis> con + <command>FORMAT</command> de &ms-dos;. Si está usando + &windows; puede usar el Explorador para formatear disquetes: + botón derecho del ratón sobre la unidad + <devicename>A:</devicename> y elija <quote>Formatear</quote>.</para> + + <para> <emphasis>No</emphasis> confíe en el preformateo + de fábrica de los disquetes. Formatéelos usted de + nuevo, sólo para asegurarse. La mayoría de los + problemas de los que se ha informado se han debido a formateos + defectuosos, téngalo en cuenta.</para> + + <para>Si puede crear los disquetes en una máquina &os; un + formateo sigue sin ser una mala idea, pero no necesitará + crear un sistema de ficheros DOS en cada floppy. Use + <command>disklabel</command> y <command>newfs</command> + para crear un sistema de ficheros UFS en los disquetes tal y como + se muestra aquí (en un floppy de 1.44 MB y 3.5") + :</para> + + <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput> &prompt.root; <userinput>disklabel -w -r fd0.1440 floppy3</userinput> -&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0</userinput> - </screen> - </informalexample> - - <note> - <para>Use <literal>fd0.1200</literal> y <literal>floppy5</literal> - para discos de 5.25" (o 1.2MB).</para> - </note> - - <para>Ahora puede montar los disquettes y escribir en ellos como - en cualquier otro sistema de ficheros.</para> - - <para>Después de formatear los disquettes, necesitará - copiar los ficheros en ellos. Los ficheros de la distribución - están convenientemente distribuidos para que quepan 5 de - ellos en cada disquette de 1.44Mb. Utilice todos los discos - necesarios para incluir en ellos todas las distribuciones que - quiera instalar. Cada distribución debe estar en un - subdirectorio del floppy, por ejemplo: - <filename>a:\bin\bin.aa</filename>, - <filename>a:\bin\bin.ab</filename>, y así hasta completar - la distribución.</para> - - <para>Una vez llegue a la pantalla de selección del - soporte de la instalación, seleccione “Floppy” - , siendo preguntado por el resto de parámetros necesarios. - </para> - - </sect2> - - <sect2 id="install-msdos"> - <title>Antes de instalar desde una partición MS-DOS</title> - - <para>Para realizar la instalación desde una partición - MS-DOS, copie los ficheros de la distribución en un - directorio llamado <filename>C:\FREEBSD</filename>. La estructura - de directorios del CDROM tiene que ser parcialmente reproducida - dentro de éste directorio, por lo que le aconsejamos usar - el comando <command>xcopy</command>. Por ejemplo, para preparar una - instalación mínima de FreeBSD:</para> - - <informalexample> - <screen><prompt>C:\></prompt> <userinput>MD C:\FREEBSD - </userinput> -<prompt>C:\></prompt> <userinput>XCOPY /S E:\BIN C:\FREEBSD\BIN\</userinput> -<prompt>C:\></prompt> <userinput>XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\ -</userinput></screen> - </informalexample> - - <para>Asumiendo que <devicename>C:</devicename> es donde tiene - espacio libre y <devicename>E:</devicename> es la unidad de su - lector de CDROM.</para> - - <para>Tiene que copiar cada distribución que quiera instalar - desde MS-DOS, bajo <filename>C:\FREEBSD</filename> — la - distribución <abbrev>BIN</abbrev> es sólo la - mínima requerida.</para> - - </sect2> - - <sect2> - <title>Antes de instalar desde una cinta QIC/SCSI</title> - - <para>Instalar desde una cinta es probablemente el método - más sencillo, aparte de una instalación on-line, - vía FTP o CDROM. El programa de instalación espera - que los ficheros estén en formato tar en la cinta, por lo - que sólo tiene que seleccionar la distribución a - instalar y copiarla en una cinta en formato tar con un comando - como:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput> +&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0</userinput></screen> + + <note> + <para> Tendrá que usar <literal>fd0.1200</literal> y + <literal>floppy5</literal> si usa discos de 5.25" y + 1.2 MB.</para> + </note> + + <para>Ahora puede montarlos y escribir en ellos igual que en cualquier + otro sistema de ficheros del sistema.</para> + + <para>Tras el formateo de los disquetes pasamos a llenarlos. Los + ficheros necesarios para crear la distribución se dividen en + partes de tamaño regular de modo que cinco de ellas entren + en otros tantos disquetes de 1.44 MB. Empaquete tantos ficheros + como pueda en cada uno hasta que tenga todas las distribuciones + que necesita lista para pasar a los disquetes. + Cada distribución + debería ir ir en un subdirectorio del floppy, por ejemplo + <filename>a:\bin\bin.aa</filename>, + <filename>a:\bin\bin.ab</filename>, etc.</para> + + <para>Una vez en el menú de selección de medio de + instalación elija <guimenuitem>Floppy</guimenuitem> y + siga las instrucciones.</para> + </sect2> + + <sect2 id="install-msdos"> + <title>Instalación desde una partición &ms-dos;</title> + + <indexterm> + <primary>installation</primary> + <secondary>from MS-DOS</secondary> + </indexterm> + <para>Copie los ficheros de la distribución en un directorio + llamado <filename>freebsd</filename> en el directorio raíz + de la partición, por ejemplo <filename>c:\freebsd</filename>. + La estructura de directorios del sitio FTP o el CDROM debe + reproducirse parcialmente en este directorio, así que le + sugerimos que use <command>xcopy</command> si está + copiando los datos desde un CD. En el siguiente ejemplo vamos a + preparar una instalación mínima de &os;:</para> + + <screen><prompt>C:\></prompt> <userinput>md c:\freebsd</userinput> +<prompt>C:\></prompt> <userinput>xcopy e:\bin c:\freebsd\bin\ /s</userinput> +<prompt>C:\></prompt> <userinput>xcopy e:\manpages c:\freebsd\manpages\ /s</userinput></screen> + + <para>Se ha asumido que <devicename>C:</devicename> es donde tiene + espacio libre y <devicename>E:</devicename> es donde tiene montada + su unidad CDROM.</para> + + <para>Si no tiene unidad CDROM puede descargar la distribución + desde <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">ftp.FreeBSD.org</ulink>. + Cada distribución dispone de su propio directorio; por + ejemplo, la distribución <emphasis>base</emphasis> está + en el directorio<ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/base/">&rel.current;/base/</ulink>.</para> + + <note> + <para> En las versiones 4.X y anteriores de &os; la + distribución <quote>base</quote> se llamaba + <quote>bin</quote>. Corrija donde corresponda los comandos que + se dan como ejemplo en el párrafo anterior si está + usted usando alguna de las versiones citadas.</para> + </note> + + <para>La única distribución + <emphasis>imprescindible</emphasis> es <literal>BIN</literal>. + Guarde esta y todas las distribuciones que quiera instalar desde + una partición &ms-dos; bajo + under <filename>c:\freebsd</filename>.</para> + </sect2> + + <sect2> + <title>Creación de una cinta de instalación</title> + + <indexterm> + <primary>installation</primary> + <secondary>from QIC/SCSI Tape</secondary> + </indexterm> + <para>La instalación desde cinta es probablemente el + método más fácil, casi tanto como una + instalación desde una réplica FTP o desde un + CDROM. Lo único que el programa de instalación + necesita es que los ficheros estén·empaquetador con + <application>tar</application> y en una cinta. Veamos + un ejemplo:</para> + + <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput> &prompt.root; <userinput>tar cvf /dev/rwt0 dist1 ... dist2</userinput></screen> - </informalexample> - - <para>Cuando ejecuta la instalación, deberí - asegurarse de dejar suficiente espacio libre en algún - directorio temporal (el cual podrá elegir), para - que el programa de instalación pueda recuperar - <emphasis>todo</emphasis> el contenido de la cinta. Dado al acceso - no aleatorio de las cintas, este método exige un poco de - espacio temporal. Necesitará tanto espacio temporal como - contenidos hayan en la cinta.</para> - - <note> - <para>Es imprescindible que la cinta esté en el lector - <emphasis>antes</emphasis> de arrancar con el disco de - instalación.</para> - </note> - - </sect2> - - <sect2> - <title>Antes de instalar sobre una red</title> - - <para>Puede hacer instalaciones de red mediante 3 tipos de - conexión:</para> - - <variablelist> - <varlistentry><term>Puerto serie</term> - - <listitem> - <para>SLIP o PPP</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Puerto paralelo</term> - - <listitem> - <para>PLIP (cable laplink)</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Ethernet</term> - - <listitem> - <para>Tarjeta ethernet estandar (incluye algunas PCMCIA). - </para> - - </listitem> - </varlistentry> - </variablelist> - - <para>El soporte de SLIP es bastante primitivo, y limitado a - conexiones punto a punto como una cable serie entre un - portátil y otro ordenador. La conexión debe ser - mediante un cable cruzado serie ya que la instalación - SLIP no ofrece posibilidad de marcado telefónico; esta - facilidad se ofrece mediante la utilidad PPP, la cual aconsejamos - usar siempre que sea posible.</para> - - <para>Si está usando un módem, PPP es su única - opción. Asegúrese de tener la información de - su proveedor a mano ya que el proceso de instalación se - la pedirá de manera inmediata. Necesitará saber - como llamar a su proveedor usando “comandos AT” - específicos de su módem porque el marcador PPP - sólo ofrece un simple emulador de terminal. Si usa - PAP o CHAP, necesitará teclear los comandos - <command>set authname</command> y <command>set authkey</command> - antes de teclear el comando <command>term</command>. - Consulte el <link linkend="userppp">manual ppp</link> - y las secciones de las <ulink URL="../FAQ/userppp.html">FAQ</ulink> - para más información. Si tiene problemas, el log - puede ser dirigido a la pantalla usando el comando - <command>set log local ...</command>.</para> - - <para>Si puede disponer de una conexión punto a punto a otro - sistema FreeBSD (2.0R o superior), debería considerar la - instalación sobre el puerto paralelo con un cable - “laplink”. La velocidad es mucho mayor que la que - podemos conseguir sobre una conexión serie (por encima de - los 50k/seg), obteniendo una instalación más - rápida.</para> - - <para>Finalmente, para la instalación de red más - rápida posible, una tarjeta ethernet es siempre una - buena elección. FreeBSD soporta muchas de las tarjetas - ethernet del mercado, una tabla de las tarjetas soportadas - (y sus características requeridas) está - disponible en la sección - <link linkend="install-hw">Hardware soportado</link>. Si - está usando una de las tarjeta PCMCIA soportadas, - asegúrese de tener la tarjeta insertada - <emphasis>antes</emphasis> de encender el portátil. - Por desgracia actualmente FreeBSD no soporta la - "inserción en caliente" de tarjetas PCMCIA durante el - proceso de instalación.</para> - - <para>También necesitará saber tu dirección IP - en la red, el valor de la máscara de tu clase de - direcciones y el nombre de tu máquina. Su administrador - de sistemas puede darle todos los valores adecuados a la - configuración de su red. Si va a acceder a otras - máquinas por nombre en lugar de dirección IP, - necesitará la dirección de un servidor de nombres - y posiblemente la dirección de un gateway (si usa PPP es - la dirección IP de tu proveedor). Si no conoce las - respuestas a la mayoría de estas preguntas definitivamente - tendrá que hablar con su administrador de sistemas - <emphasis>antes</emphasis> de intentar éste tipo de - instalación.</para> - - <para>Una vez tiene una conexión de red de cualquier tipo - funcionando la instalación puede continuar sobre NFS o - FTP.</para> - - <sect3> - <title>Preparando la instalación sobre NFS</title> - - <para>La instalación sobre NFS es muy sencilla: - simplemente copie los ficheros de las distribuciones de FreeBSD - que necesite en algún lugar del servidor, y apunte - el soporte de instalación de NFS hacia él.</para> - - <para>Si este servidor sólo soporta accesos a - “puertos seleccionados” (como ocurre generalmente - con las estaciones de trabajo SUN), necesitará activar - esta opción en el menú Options antes de proceder - con la instalación.</para> - - <para>Si tiene una conexión de red de poca calidad, con - ratios de transferencia muy pobres, también debería - activar el flag apropiado en el menú Options.</para> - - <para>Para que la instalación por NFS funcione el servidor - debe soportar el acceso a subdirectorios exportados; por - ejemplo, si el directorio de su distribución de FreeBSD - &rel.current; reside en: - <filename>ziggy:/usr/archive/stuff/FreeBSD</filename> Entonces - <hostid>ziggy</hostid> debe permitir montar directamente - <filename>/usr/archive/stuff/FreeBSD</filename>, y no sólo - <filename>/usr</filename> o - <filename>/usr/archive/stuff</filename>.</para> - - <para>En el fichero <filename>/etc/exports</filename> de FreeBSD, - esto es controlado por la opción <option>-alldirs</option> - . Otros servidores NFS pueden usar opciones diferentes. Si - obtienes el mensaje <errortype>Permission Denied</errortype> por - parte del servidor, significa que no tiene esta opción - activada de manera adecuada.</para> - - </sect3> - - <sect3> - <title>Preparando una instalación por FTP</title> - - <para>La instalación por FTP se puede realizar desde - cualquiera de los servidores mirror que contengan una - versión razonablemente actualizada de FreeBSD - &rel.current;. Un completo menú de elecciones razonables - para prácticamente cualquier parte del mundo está - disponible en el menú de instalación FTP.</para> - - <para>Si está instalando desde cualquier otro servidor no - listado en ese menú o tiene problemas con la - configuración del servidor de nombres o la - resolución correcta puede especificar su propia URL - seleccionando la opción “Other” en el - menú. Una URL también puede ser una dirección - IP, de manera que lo siguiente funcionaría en ausencia - de un servidor de nombres:</para> - - <informalexample> - <screen><userinput>ftp://165.113.121.81/pub/FreeBSD/&rel.current -;-RELEASE</userinput></screen> - </informalexample> - - <para>Hay dos modos de instalación FTP que puede - usar:</para> - - <variablelist> - <varlistentry><term>FTP Activo</term> - <listitem> - <para>Para todas las transferencias FTP use el modo - “Activo”. Ésto no funcionará a - través de cortafuegos, pero funcionará sin - problemas con servidores FTP antíguos que no soportan - el modo pasivo. Si su conexión se cuelga con el - modo pasivo ¡ inténtelo con el modo activo!.</para> - </listitem> - </varlistentry> - - <varlistentry><term>FTP Pasivo</term> - - <listitem> - <para>Para todas las transferencias FTP usa el modo - “Pasivo”. Esto permite al usuario conectar - a través de cortafuegos que no aceptan conexiones - entrantes en direcciones de puertos aleatorias.</para> - </listitem> - </varlistentry> - </variablelist> - - <note> - <para>Los modos Activos y Pasivos no son lo mismo que una - conexión a través de “proxy”, donde - un servidor proxy FTP está escuchando y reenviando - las peticiones FTP!.</para> - </note> - - <para>Para un servidor proxy FTP, normalmente debería - darle el nombre del servidor real al que quiere conectar como - parte del nombre de usuario después de una @-sign. - El servidor proxy reenviará la petición al servidor - adecuado. Un ejemplo: digamos que quiere realizar la - instalación desde - <hostid role="fqdn">ftp.freebsd.org</hostid> usando el servidor - proxy FTP <hostid role="fqdn">foo.bar.com</hostid>, que - está escuchando en el puerto 1234.</para> - - <para>En este caso, tiene que ir al menú de opciones y - poner el nombre de usuario de FTP como ftp@ftp.freebsd.org, y - su dirección de correo como password. Como medio de - instalación especifique FTP (o FTP pasivo, si el proxy - lo soporta) y la URL - - <literal> - ftp://foo.bar.com:1234/pub/FreeBSD - </literal></para> - - <para><filename>/pub/FreeBSD</filename> de - <hostid role="fqdn">ftp.freebsd.org</hostid> es "cacheado" bajo - <hostid role="fqdn">foo.bar.com</hostid>, permitiéndole realizar - la instalación desde <emphasis>esa</emphasis> - máquina (la cual coge los ficheros de - <hostid role="fqdn">ftp.freebsd.org</hostid> a medida que la - instalación los necesita).</para> - - </sect3> - </sect2> - </sect1> - - <sect1> - <title>Instalación de FreeBSD</title> - - <para>Una vez ha tomado nota de los pasos apropiados en la - preinstalación, deberí poder instalar FreeBSD sin - ningún tipo de problema.</para> - - <para>Si tiene algún problema, deberías volver - atrás y releér la sección de preparación - aplicable a su medio de instalación. Si está teniendo - problemas de hardware o FreeBSD se niega a arrancar lea la - Guía de Hardware que puede encontrar en el disco de arranque, - es posible que encuentre ahí la solución.</para> - - <para>El disco de arranque de FreeBSD contiene toda la - documentación on-line que deberí necesitar para - realizar la instalación. Si no es así, nos - gustaría saber que es lo que le ha confundido o dónde - ha tenido más problemas. Enví sus comentarios a - &a.doc;. El objetivo del programa de instalación de FreeBSD - (sysinstall) es estar suficientemente documentado para poder realizar - una instalación sin problemas.</para> - - <para>Mientras tanto, puede encontrar útil esta - “típica secuencia de instalación”: - </para> - - <orderedlist> - - <listitem> - <para>Arranque con el disco de arranque. Después de la - secuencia de arranque que puede tardar entre 30 segundos y - 3 minutos, dependiendo del hardware, debería aparecer - un menú de opciones iniciales. Si el disco no arranca o - el arranque se cuelga en algún momento, lea la - sección Q&A de la Guía de Hardware para - conocer las posibles causas.</para> - </listitem> - - <listitem> - <para>Pulse F1. Debería ver unas instrucciones - básicas sobre el sistema de menús y - del programa en general. Si no ha usado este sistema de - menú anteriormente, <emphasis>por favor</emphasis> - léelo.</para> - </listitem> - - <listitem> - <para>Seleccione la opción Options y configure las - preferencias que pueda tener o necesitar.</para> - </listitem> - - <listitem> - <para>Seleccione la instalación Novice, Custom o Express, - dependiendo de la ayuda que quiera recibir del programa de - instalación durante todo el proceso. Si nunca ha usado - FreeBSD anteriormente, la instalación Novice es la - más recomendable.</para> - </listitem> - - <listitem> - <para>El menú de configuración final le permite - configurar su instalación de FreeBSD a través - de un sistema guiado por menús. Algunas secciones, - como la de red, pueden ser importantes si ha hecho la - instalación desde CDROM/Cinta/Floppy y no ha configurado - todavía sus interfaces de red (asumiendo que exista - alguno). Configurando adecuadamente en este momento los - interfaces permitiráa que FreeBSD estuviera activo en - la red cuando reinicie por primera vez desde el disco - duro.</para> - </listitem> - - </orderedlist> - - </sect1> - - <sect1> - <title>Preguntas y Respuestas para usuarios de MS-DOS</title> - - <para>Muchos usuarios de FreeBSD querrán instalar FreeBSD - en PC's habitados por MS-DOS. Aquí están algunas - de las pregunas (y respuestas) más comunes sobre la - instalación de FreeBSD en estos sistemas.</para> - - <para><emphasis>¡Ayuda! No tengo espacio. ¿Necesito borrarlo todo? - </emphasis></para> - - <para>Si su máquina está todavía ejecutando - MS-DOS y tiene poco o ningún espacio libre disponible - para la instalación de FreeBSD, no todo está - perdido!. Quizás encuentre útil la utilidad FIPS, - disponible en el directorio <filename>tools</filename> del CDROM - de FreeBSD, o en cualquiera de los mirrors de FreeBSD.</para> - - <para>FIPS permite repartir una partición MS-DOS en dos - partes, preservando la partición original permitiendo la - instalación en la segunda. Primero debe defragmentar - su partición MS-DOS usando el programa DEFRAG de DOS 6.x o - las utilidades Norton. Después ejecute FIPS. El propio - programa le preguntará todos los datos que necesite conocer. - Finalmente puede reiniciar la máquina e instalar FreeBSD - en la segunda partición. Mire el menú - <emphasis>Distributions</emphasis> para hacer una estimación - de la cantidad de espacio necesario para el tipo de - instalación que desea.</para> - - <para><emphasis>Puedo usar sistemas de ficheros comprimidos desde - FreeBSD?</emphasis></para> - - <para>No. Si estás usando una utilidad como Stacker(tm) o - DoubleSpace(tm), FreeBSD solo será capaz de usar la - parte del sistema de ficheros no comprimida. El resto del - sistema de ficheros se mostrarás como un único - fichero. <emphasis>No borre este fichero</emphasis>. ¡Lo - agradecerás enormemente!.</para> - - <para>Es mejor solución crear otra partición primaria - de MS-DOS no comprimida y usarla para la comunicación entre - MS-DOS y FreeBSD.</para> - - <para><emphasis>¿Puedo montar mis particiones MS-DOS extendidas? - </emphasis></para> - - <para>Sí. Las particiones extendidas de DOS son mapeadas al - final del otro “slice” en FreeBSD, por ejemplo, su - disco <devicename>D:</devicename> será - <filename>/dev/sd0s5</filename>, su disco - <devicename>E:</devicename> será - <filename>/dev/sd0s6</filename> y así respectivamente. Este - ejemplo asume, por supuesto, que su partición extendida - está en el disco SCSI 0. Para discos IDE, sustituya - <filename>wd</filename> por <filename>sd</filename>. Para montar - las particiones extendidas tiene que hacerlo exactamente igual - que cualquier otra partición o disco DOS:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mount -t msdos /dev/sd0s5 /dos_d - </userinput></screen> - </informalexample> - - <para><emphasis>¿Puedo ejecutar binarios MS-DOS bajo FreeBSD? - </emphasis></para> - - <para>BSDI ha donado su emulador DOS al mundo BSD y éste ha - sido portado a FreeBSD.</para> - - <para>Hay también una (técnicamente) buena aplicación - disponible en la <link linkend="ports">Colección de Ports - </link> llamada pcemu, la cual permite ejecutar muchos binarios - en modo texto emulando por completo una CPU 8088.</para> - - </sect1> - </chapter> + <para>Cuando esté preparando la instalació tenga + la precaución de dejar sitio suficiente en algún + directorio temporal (accesible en ese momento) para dejar + <emphasis>todos los ficheros</emphasis> que hubiera en la + cinta de instalación. A causa del acceso secuencial propio + del diseño de las cintas este método de + instalación requiere un poco de almacenamiento + temporal.</para> + + <note> + <para> Recuerde que antes de arrancar desde el disquete de + arranque la cinta <emphasis>debe estar en la unidad</emphasis>. + La prueba de hardware de la instalación no + encontraría la cinta.</para> + </note> + </sect2> + + <sect2> + <title>Antes de arrancar a través de una red</title> + + <indexterm> + <primary>installation</primary> + <secondary>network</secondary> + <tertiary>serial (SLIP or PPP)</tertiary> + </indexterm> + <indexterm> + <primary>installation</primary> + <secondary>network</secondary> + <tertiary>parallel (PLIP)</tertiary> + </indexterm> + <indexterm> + <primary>installation</primary> + <secondary>network</secondary> + <tertiary>Ethernet</tertiary> + </indexterm> + <para>Hay tres tipos de instalación a través de + una red disponibles en &os;: Puerto serie (SLIP o PPP), puerto + paralelo (PLIP (cable <quote>laplink</quote>)) y Ethernet + (mediante un interfaz Ethernet estándar o algunos + PCMCIA).</para> + + <para>El protocolo SLIP es bastante primitivo y destinado en su + origen a enlaces directos, como un cable serie entre un sistema + portátil (<quote>laptop</quote>) y otra computadora. + El enlace debe ser directo puesto que la instalación a + través de SLIP no permite llamadas telefónicas; + para ello tendrá que usar PPP, que deberí intentar + usar en lugar de SLIP sea cual sea la circunstancia.</para> + + <para>Si va a usar un módem PPP es casi su única + opción. Tenga a mano la información de su proveedor + de servicios (ISP) puesto que se le van a pedir unos cuantos + datos sobre él bastante pronto.</para> + + <para>Si usa PAP o CHAP al conectar con su ISP (en otras palabras, + si conecta su &windows; con su ISP sin usar un + <quote>script</quote>) sólo tiene que escribir + <command>dial</command> en el prompt de + <application>ppp</application> prompt. Además tendrá + que saber cómo llamar a su ISP mediante los + <quote>comandos AT</quote> propios de su módem, puesto que + PPP dispone de un emulador de terminal bastante escaso. Consulte + la parte relacionada con user-ppp del <link + linkend="userppp">handbook</link> y las <ulink + url="http://www.FreeBSD.org/doc/en/books/faq/ppp.html">FAQ</ulink>. + Si tiene problemas puede redirigir la salida a pantalla mediante + <command>set log local ...</command>.</para> + + <para>Si hay posibilidad de conectar directamente con otra + máquina &os; (2.0-R o posterior) quizás fuera + razonable instalar a través de un cable paralelo + <quote>laplink</quote>. La tasa de transferencia es mucho + más alta de lo que suele ser en una línea serie + (más de 50 kbytes/s), lo que puede hacer la + instalación muchísimo más rápida.</para> + + <para>Un adaptador Ethernet es siempre una buena elección. + &os; soporta la mayoría de los adaptadores Ethernet. Tiene + una lista de dispositivos soportados en las notas de hardware de + cada <quote>release</quote> de &os;. Si disponde alguno de los + adaptadores Ethernet PCMCIA soportados por &os; recuerde que debe + estar presente en el sistema <emphasis>antes</emphasis> de que + el sistema arranque. Por desgracia &os; no soporta aún + la inserción en caliente de tarjetas PCMCIA durante la + instalación.</para> + + <para>Tendrá que conocer también la dirección + IP de la red, la máscara de red correcta para la clase de + su red y el nombre de su máquina. Si va a instalar + mediante una conexión PPP y no tiene IP estática no + se preocupe, su ISP puede asignarle una IP temporal + dinámicamente. Su administrador de sistemas seguramente + puede ayudarle con la configuración de su red. Si va a + intentar conectarse con otras máquinas mediante sus + nombres en lugar de sus direcciones IP necesitará los + datos de un servidor de nombres y es posible que necesite + también la dirección de un <quote>gateway</quote> + (si usa PPP vale con la dirección IP de su proveedor). + Si va a instalar por FTP a través de un proxy HTTP + necesitará la dirección del proxy. + Si no sabe qué pueden significar todas (o la mayoría) + de estas preguntas hable con su administrador de sistemas o con su + ISP <emphasis>antes</emphasis> de intentar instalar &os; de esta + forma.</para> + + <sect3> + <title>Antes de instalar via NFS</title> + + <indexterm> + <primary>installation</primary> + <secondary>network</secondary> + <tertiary>NFS</tertiary> + </indexterm> + <para>La instalación por NFS es bastante sencilla. + Sólo tendrá que copiar los ficheros de la + distribución a un servidor NFS, seleccionar NFS como + medio de instalación y apuntar a los contenidos a donde + los haya copiado.</para> + + <para>si el servidor sólo soporta + <quote>puertos privilegiados</quote> (que suele ser la + configuración por defecto en estaciones de trabajo + Sun) tendrá que seleccionar la opción + <option>NFS Secure</option> en el menú + <quote>Options</quote> antes de comenzar con la + instalación.</para> + + <para>Si una tarjeta Ethernet de mala calidad y está + experimentando velocidades de transferencia muy bajas puede + probar con el parámetro <option>NFS Slow</option>.</para> + + <para>Para que la instalación via NFS funcione el servidor + debe permitir el montaje de subdirectorios. Por ejemplo, si su + distribución FreeBSD &rel.current; está en + <filename>ziggy:/usr/archive/stuff/FreeBSD</filename> el servidor + <hostid>ziggy</hostid> tendrá que permitir que pueda + montarse <filename>/usr/archive/stuff/FreeBSD</filename>, no + simplemente como <filename>/usr</filename> o + <filename>/usr/archive/stuff</filename>.</para> + + <para>En el fichero <filename>/etc/exports</filename> de &os; + eso puede controlarse mediante la opción + <option>-alldirs</option>. Puede que otros servidores NFS + requieran de parámetros diferentes. Si recibe mensajes + de <errorname>permission denied</errorname> seguramente no ha + activado esto correctamente.</para> + </sect3> + + </sect2> + </sect1> +</chapter> <!-- Local Variables: @@ -1291,7 +6225,6 @@ ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting> sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> - diff --git a/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml b/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml index c70b243f9d..b0993439ef 100755 --- a/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml,v 1.2 2004/10/08 19:17:34 jesusr Exp $ --> @@ -19,6 +20,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml index 4fe7f3fe16..b09dbac66b 100755 --- a/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.2 2004/10/08 22:14:25 jesusr Exp $ --> <chapter id="kernelconfig"> diff --git a/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml b/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml index 8c1f5e4181..3a2815450d 100644 --- a/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml,v 1.2 2004/10/08 22:14:26 jesusr Exp $ --> <chapter id="kerneldebug"> diff --git a/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml b/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml index 252cae2ae0..b3f027f470 100644 --- a/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml,v 1.2 2004/10/08 22:14:26 jesusr Exp $ --> <chapter id="kernelopts"> @@ -96,7 +97,7 @@ se localiza en un fichero <filename>.h</filename> diferente dentro del directorio de compilación del kernel, los cuales por convicción son llamados - <filename>opt_</replaceable>foo</replaceable>.h</filename>. De esta + <filename>opt_<replaceable>foo</replaceable>.h</filename>. De esta manera se pueden crear las dependencias dispuestas por Makefile, y el comando <command>make</command> puede determinar que debe ser recompilado, cuando una opción ha cambiado.</para> diff --git a/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml b/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml index 29f3d814b2..f8f40c613e 100755 --- a/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml,v 1.2 2004/10/08 19:17:34 jesusr Exp $ --> @@ -19,6 +20,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml index c993b3dd3e..9a69de9b3f 100755 --- a/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml,v 1.2 2004/10/08 19:17:35 jesusr Exp $ --> @@ -19,6 +20,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml b/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml index 4fbf1c6560..8281f9aac7 100755 --- a/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml,v 1.2 2004/07/29 15:31:44 carvay Exp $ --> <chapter id="mail"> @@ -10,7 +11,7 @@ <author> <firstname>Bill</firstname> <surname>Lloyd</surname> - <contrib>Trabajo original por </contrib> + <contrib>Escrito por </contrib> </author> </authorgroup> <authorgroup> @@ -29,41 +30,44 @@ <indexterm><primary>email</primary></indexterm> <indexterm><primary>correo electónico</primary></indexterm> - <para>El <quote>Correo Electrónico</quote>, mejor conocido como email, - es una de las formas de comunicación más usadas hoy en dia. - Este capítulo es una introducción básica de como - poner en marcha un servidor de correo en FreeBSD, aunque no es una - referencia completa y muchas consideraciones importantes son omitidas. - Para una cobertura más amplia acerca de este tema, el lector - puede consultar los libros listados en <xref linkend="bibliography">.</para> + <para>El <quote>Correo Electrónico</quote>, o <quote>email</quote>, + es una de las formas de comunicación más usadas hoy en + dia. + Este capítulo es una introducción básica de + cómo poner en marcha un servidor de correo en FreeBSD, aunque + no es una guía completa y se han omitido muchos conceptos + importantes. Si se necesita información exhaustiva sobre el + tema puede recurrirse a los libros listados en <xref + linkend="bibliography">.</para> - <para>Después de leer este capítulo, usted sabrá:</para> + <para>Después de leer este capítulo usted sabrá:</para> <itemizedlist> <listitem> - <para>Qué software está involucrado al enviar y recibir - correo electrónico.</para> + <para>Qué software está involucrado en el envío y + recepción de correo electrónico.</para> </listitem> <listitem> - <para>Dónde se encuentran los ficheros de configuración - básicos de <application>sendmail</application> en - FreeBSD.</para> + <para>Dónde se encuentran en FreeBSD los ficheros + básicos de configuración de + <application>sendmail</application>.</para> </listitem> <listitem> - <para>Cómo bloquear spammers y evitar el uso ilegal de su servidor - de correo.</para> + <para>Cómo bloquear a los <quote>spammers</quote> y evitar + el uso no autorizado de su servidor de correo.</para> </listitem> <listitem> - <para>Cómo instalar y configurar agentes de transferencia de correo - (MTA) en sus sistema, para remplazar <application>sendmail</application>. - </para> + <para>Cómo instalar y configurar agentes de transferencia de + correo (MTA) en su sistema, para reemplazar + <application>sendmail</application>.</para> </listitem> <listitem> - <para>Cómo resolver problemas comunes en servidores de correo.</para> + <para>Cómo resolver problemas comunes en servidores de + correo.</para> </listitem> <listitem> @@ -75,12 +79,12 @@ </listitem> <listitem> - <para>Cómo configurar SMTP con autentificación para más - seguridad.</para> + <para>Cómo configurar SMTP con autentificación para + más seguridad.</para> </listitem> </itemizedlist> - <para>Antes de leer este capítulo usted debe:</para> + <para>Antes de leer este capítulo debería usted:</para> <itemizedlist> <listitem> @@ -98,6 +102,2470 @@ </listitem> </itemizedlist> </sect1> + + <sect1 id="mail-using"> + <title>Utilización del correo electrónico</title> + <indexterm><primary>POP</primary></indexterm> + <indexterm><primary>IMAP</primary></indexterm> + <indexterm><primary>DNS</primary></indexterm> + + <para>Existen varios elementos relacionados con el intercambio de correo + electrónico. A saber: + <link linkend="mail-mua">El agente de usuario (Mail User Agent o + MUA)</link>, + <link linkend="mail-mta">El agente de transporte de correo (Mail + Transport Agent o MTA)</link>, + <link linkend="mail-dns">El DNS</link>, + <link linkend="mail-receive">Las carpetas de correo (Mailboxes)</link>, + y por supuesto, + <link linkend="mail-host">la máquina servidora de correo (mail + host)</link>.</para> + + <sect2 id="mail-mua"> + <title>El Agente de Usuario</title> + + <para>Entre las opciones más conocidas tenemos: + <application>mutt</application>, + <application>pine</application>, <application>elm</application>, + y <command>mail</command>, junto con programas con interfaz + gráfica del estilo de <application>balsa</application> o + <application>xfmail</application> por nombrar unos pocos. + También existen lectores de correo basados en navegadores web. + Los programas de correo basados en navegadores web + actúan de pasarela para las transacciones de correo + electrónico, entregando dichas transacciones al + <link linkend="mail-host"><quote>servidor de correo</quote></link> + local, llamando a uno de los <link linkend="mail-mta">agentes + de transporte de correo</link> disponibles en la máquina local, + o entregando dichas transacciones a un agente de transporte + remoto utilizando el protocolo <acronym>TCP</acronym>. + </sect2> + + <sect2 id="mail-mta"> + <title>Agente de Transporte de Correo</title> + <indexterm> + <primary>transporte</primary> + <secondary><application>sendmail</application></secondary> + </indexterm> + <indexterm> + <primary>transporte</primary> + <secondary><application>postfix</application></secondary> + </indexterm> + <indexterm> + <primary>transporte</primary> + <secondary><application>qmail</application></secondary> + </indexterm> + <indexterm> + <primary>transporte</primary> + <secondary><application>exim</application></secondary> + </indexterm> + + <para>&os; viene con <application>sendmail</application> por defecto, + pero también se soportan otros dæmones, entre los cuales + se encuentran: + <itemizedlist> + <listitem> + <para><application>exim</application>;</para> + </listitem> + + <listitem> + <para><application>postfix</application>;</para> + </listitem> + + <listitem> + <para><application>qmail</application>.</para> + </listitem> + </itemizedlist> + + <para>El agente de transporte de correo normalmente posee dos + funcionalidades, por un lado se responsabiliza de la recepción + y por otro se encarga de entregar el correo de salida. + <emphasis>No</emphasis> es responsable de la recolección + automática de correo mediante la utilización de + protocolos como <acronym>POP</acronym> o <acronym>IMAP</acronym>, + ni se utiliza para que el usuario pueda acceder a las + carpetas de correo locales. Para realizar estas otras tareas, + se necesitan <link linkend="mail-receive">dæmons</link> + adicionales.</para> + + <warning> + <para> Versiones antiguas de <application>sendmail</application> + poseen varios problemas de seguridad que pueden facilitar a un + atacante el acceso local o remoto a la máquina + que ejecuta <application>sendmail</application>. + Para evitar dichos problemas de seguridad se recomienda + utilizar una versión actualizada de <application> + sendmail</application>. + Tiene más opciones a la hora de elegir <acronym> + MTA</acronym> en los <link linkend="ports">Ports de + &os;</link>.</para> + </warning> + </sect2> + + <sect2 id="mail-dns"> + <title>Correo electrónico y DNS</title> + + <para>El Sistema de Nombres de Dominio (en inglés DNS) y su + correspondiente dæmon (llamado <command>named</command>) + constituyen una parte fundamental del procedimiento + de entrega de correo electrónico. Para entregar el correo + electrónico al destinatario adecuado el dæmon + servidor de correo busca el sitio remoto dentro del sistema de + DNS.</para> + <indexterm> + <primary>registro MX</primary> + </indexterm> + + <para>El <acronym>DNS</acronym> es la entidad responsable de asociar + nombres con direcciones IP, pero además se encarga de + almacenar información específica relacionada con la + entrega de correo mediante registros de tipo MX. Los registros MX + (Mail eXchanger) especifican qué máquina o + máquinas están encargadas de recibir correo + electrónico para un determinado nombre de dominio. En caso + de no existir ningún registro MX para el dominio del + destinatario, se busca información almacenada + en registros de tipo A para enviar el correo al destino final.</para> + + <para>Se pueden consultar los registros MX para cualquier dominio + utilizando el comando &man.host.1;, como se puede observar en el + siguiente ejemplo:</para> + + <screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput> + FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> + </sect2> + + <sect2 id="mail-receive"> + <title>Recepción de correo</title> + <indexterm> + <primary>correo</primary> + <secondary>recepción</secondary> + </indexterm> + + <para>La recepción de correo electrónico para su dominio + se realiza mediante lo que se conoce como la máquina de + correo (mail host). Ésta máquina recoge todo el correo + dirigido a su dominio y lo almacena en <filename>mbox</filename> + (el método por defecto para el almacenamiento de correo) o en + formato Maildir, dependiendo de la configuración de la + máquina. Una vez que el correo ha sido almacenado + con éxito se puede leer en local utilizando aplicaciones como + &man.mail.1; o como <application>mutt</application>, o de forma remota + mediante un conjunto de protocolos tales como + <acronym>POP</acronym> o <acronym>IMAP</acronym>. Esto significa que + si usted va a leer el correo de forma local no necesita instalar + ningún servidor de <acronym>POP</acronym> o + <acronym>IMAP</acronym>.</para> + + <sect3 id="pop-and-imap"> + <title>Acceso a carpetas de correo remotas mediante + <acronym>POP</acronym> e <acronym>IMAP</acronym></title> + + <indexterm><primary>POP</primary></indexterm> + <indexterm><primary>IMAP</primary></indexterm> + <para>Para poder acceder a carpetas de correo de forma remota se + necesita tener acceso a un servidor de <acronym>POP</acronym> o + <acronym>IMAP</acronym>. Éstos protocolos permiten a los + usuarios conectarse a sus carpetas de correo desde ubicaciones + remotas de una forma sencilla. Aunque ambos, <acronym>POP</acronym> + y <acronym>IMAP</acronym>, permiten este acceso remoto + <acronym>IMAP</acronym> ofrece algunas ventajas añadidas, + algunas de las cuales son:</para> + + <itemizedlist> + <listitem> + <para>El acceso mediante <acronym>IMAP</acronym> permite almacenar + los correos en el servidor remoto sin necesidad de extraerlos + extraerlos y tener que almacenarlos en local.<para> + </listitem> + + <listitem> + <para><acronym>IMAP</acronym> soporta actualizaciones concurrentes.</para> + </listitem> + + <listitem> + <para><acronym>IMAP</acronym> resulta ser extremadamente + útil bajo enlaces de baja velocidad puesto que permite + a los usuarios recuperar la estructura de los mensajes sin + necesidad de bajarse todo el contenido. Además puede + realizar tareas tales como búsquedas directas en el + servidor con el fin de minimizar la utilización + de la red.</para> + </listitem> + + </itemizedlist> + + <para>Para instalar un servidor de <acronym>POP</acronym> o de + <acronym>IMAP</acronym> se deben dar los siguientes pasos:</para> + + <procedure> + <step> + <para>Seleccionar el servidor <acronym>IMAP</acronym> o + <acronym>POP</acronym> que mejor cumpla a sus necesidades. + Los siguientes servidores <acronym>POP</acronym> e + <acronym>IMAP</acronym> son bien conocidos y son firmes + candidatos para ello:</para> + + <itemizedlist> + <listitem> + <para><application>qpopper</application>;</para> + </listitem> + + <listitem> + <para><application>teapop</application>;</para> + </listitem> + + <listitem> + <para><application>imap-uw</application>;</para> + </listitem> + + <listitem> + <para><application>courier-imap</application>;</para> + </listitem> + </itemizedlist> + + </step> + + <step> + <para>Instalar el dæmon <acronym>POP</acronym> o + <acronym>IMAP</acronym> de su elección desde + el árbol de <quote>ports</quote>.</para> + </step> + + <step> + <para>Modifique donde sea necesario <filename> + /etc/inetd.conf</filename> para que el servidor + <acronym>POP</acronym> o <acronym>IMAP</acronym> + se ejecute automáticamente.</para> + </step> + </procedure> + + <warning> + <para> Tenga en cuenta que tanto <acronym>POP</acronym> + como <acronym>IMAP</acronym> transmiten información, + en especial el usuario y la contraseña, en texto plano. + Eso significa que si se desea seguridad en la transmisión + de la información a través de la red se deben + considerar mecanismos adicionales como por ejemplo el + encapsulado de la sesión mediante &man.ssh.1;. + El encapsulado de sesiones se explica en + <xref linkend="security-ssh-tunneling">.</para> + </warning> + </sect3> + + <sect3 id="local"> + <title>Acceso a carpetas de correo locales</title> + + <para>Las carpetas de correo pueden abrirse de forma local utilizando + un agente de correo de usuario <acronym>(MUA)</acronym> + en el servidor donde reside la carpeta. Se suelen usar los + programas <application>mutt</application> or &man.mail.1;.</para> + </sect3> + </sect2> + + <sect2 id="mail-host"> + <title>El Servidor de Correo (Mail Host)</title> + <indexterm><primary>servidor de correo</primary></indexterm> + + <para>El servidor de correo es el nombre que se usa para identificar a + la máquina responsable de la entrega y + recepción de correo electrónico dentro de una + organización. Ésta máquina puede recibir correo + de varios usuarios dentro de su dominio.</para> + </sect2> + </sect1> + + <sect1 id="sendmail"> + <sect1info> + <authorgroup> + <author> + <firstname>Christopher</firstname> + <surname>Shumway</surname> + <contrib>Contribuido por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Configuración de <application>sendmail</application></title> + + <indexterm> + <primary><application>sendmail</application></primary> + </indexterm> + + <para>&man.sendmail.8; es el agente de transporte de correo (MTA) por + defecto de FreeBSD. + La responsabilidad de <application>sendmail</application> consiste en + aceptar correo de agentes de correo de usuario (<acronym>MUA</acronym>) + y en entregar dichos correos al agente de transporte de correo + apropiado, según se especifique en su archivo de + configuración. <application>Sendmail</application> + también acepta conexiones de red provinientes de otros agentes + de transporte y puede depositar el correo recibido en carpetas locales o + o entregarlo a otros programas.</para> + + <para><application>sendmail</application> utiliza los siguientes ficheros + de configuración:</para> + + <indexterm> + <primary><filename>/etc/mail/access</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/aliases</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/local-host-names</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/mailer.conf</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/mailertable</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/sendmail.cf</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/virtusertable</filename></primary> + </indexterm> + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Filename</entry> + <entry>Function</entry> + </row> + </thead> + <tbody> + <row> + <entry> + <filename>/etc/mail/access</filename> + </entry> + <entry>Base de datos de accesos de <application>sendmail</application></entry> + </row> + <row> + <entry> + <filename>/etc/mail/aliases</filename> + </entry> + <entry>Carpeta de alias</entry> + </row> + <row> + <entry> + <filename>/etc/mail/local-host-names</filename> + </entry> + <entry>Listados de máquinas para las que + <application>sendmail</application>acepta correo</entry> + </row> + <row> + <entry> + <filename>/etc/mail/mailer.conf</filename> + </entry> + <entry>Configuración del programa de correo</entry> + </row> + <row> + <entry> + <filename>/etc/mail/mailertable</filename> + </entry> + <entry>Tabla de entregas de correo</entry> + </row> + <row> + <entry> + <filename>/etc/mail/sendmail.cf</filename> + </entry> + <entry>Archivo de configuración principal de + <application>sendmail</application></entry> + </row> + <row> + <entry> + <filename>/etc/mail/virtusertable</filename> + </entry> + <entry>Usuarios virtuales y tablas de dominio</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2> + <title><filename>/etc/mail/access</filename></title> + + <para>La base de datos de accesos define qué máquinas o + direcciones IP pueden acceder al servidor de correo y quée clase + de acceso tienen permitido. Las máquinas se listan junto con + las opciones <option>OK</option>, <option>REJECT</option>, + <option>RELAY</option> o simplemente junto con un mensaje de error + que se entrega a la rutina de gestión de excepciones de + <application>sendmail</application>. + Las máquinas que se listan junto con la opción + <option>OK</option>, que es el valor por defecto, tienen permiso + para enviar correo a la máquina servidora siempre y cuando la + dirección de correo de destino sea la máquina servidora + de correo. Las máquinas listadas junto con la opción + <option>REJECT</option> tienen el acceso prohibido a + conexiones de correo electrónico con el servidor. Por + último las máquinas que poseen la etiqueta + <option>RELAY</option> para sus nombres tienen permitido enviar correo + para cualquier destino a través de la máquina + servidora de correo.</para> + + <example> + <title>Configuración de la base de datos de acceso de <application>sendmail</application> + </title> + + <programlisting>cyberspammer.com 550 We don't accept mail from spammers +FUENTE.DE.CORREO.INDISCRIMINADO@ 550 We don't accept mail from spammers +otra.fuente.de.spam REJECT +okay.cyberspammer.com OK +128.32 RELAY</programlisting> + </example> + + <para>En el ejemplo se pueden observar cinco entradas. Los generadores de + correo que coinciden con la parte izquierda de la tabla se ven afectados + por la parte acción especificada en la parte derecha. + Los primeros dos ejemplos emiten un código de error para la + rutina de excepciones de <application>sendmail</application>. + El mensaje de error se transmite a la máquina remota cuando + se recibe un correo que coincide con la parte izquierda de la tabla. + La siguiente entrada rechaza correo de una determinada máquina + de internet, <hostid>otra.fuente.de.spam</hostid>. + La siguiente entrada acepta conexiones de correo de la máquina + <hostid role="fqdn">okay.cyberspammer.com</hostid>, lo cual es + más exacto que la línea de arriba de + <hostid role="domainname">cyberspammer.com</hostid>. Las coincidencias + más completas tienen precedencia sobre las menos + específicas. La última entrada permite actuar como + <quote>relay</quote> o pasarela de correo electrónico para aquellas + máquinas que posean una dirección IP que comience por + <hostid>128.32</hostid>. Éstas máquinas podrían + enviar correo destinado a otros servidores de correo utilizando el + nuestro.</para> + + <para>Cuando se actualiza este fichero se debe ejecutar + <command>make</command> dentro de <filename>/etc/mail/</filename> + para que se actualice la base de datos.</para> + + </sect2> + <sect2> + <title><filename>/etc/mail/aliases</filename></title> + + <para>La base de datos de alias contiene una lista de directorios virtuales + que son traducidas a otros usuarios, ficheros, programas o incluso otros + alias. + A continuación se muestran unos pocos ejemplos de la + sintáxis que se puede utilizar + dentro del fichero <filename>/etc/mail/aliases</filename>:</para> + + <example> + <title>Mail Aliases</title> + <programlisting>root: usuariolocal +ftp-bugs: joe,eric,paul +bit.bucket: /dev/null +procmail: "|/usr/local/bin/procmail"</programlisting> + </example> + + <para>El formato del fichero es sencillo; el nombre de la carpeta de + correo que aparece a la izquierda + de los dos puntos se traduce al/los destinos de la derecha. + El primer ejemplo simplemente traduce la carpeta + <username>root</username> + a la carpeta <username>usuariolocal</username>, la cual se examina de + nuevo utilizando la misma base de datos de alias, y si no existe + ninguna otra coincidencia el mensaje se entrega + al usuario local <username>usuariolocal</username>. + En el ejemplo siguiente se muestra una lista de correo. + Todo correo que se envía a la carpeta <username>ftp-bugs</username> se traduce en un envío para + tres carpetas locales diferentes: <username>joe</username>, + <username>eric</username> y <username>paul</username>. + Es importante señalar que + también se pueden especificar carpetas remotas mediante la forma + <literal>usuario@ejemplo.com</literal>. El siguiente ejemplo muestra + la escritura del correo a un fichero, en este caso en <filename> + /dev/null</filename>. El último ejemplo muestra el + envió de correo a un programa; en este caso el mensaje de + correo se escribe en la entrada estándar del programa + <filename>/usr/local/bin/procmail</filename> utilizando una + tubería (o <quote> pipe</quote>) de &unix;.</para> + + <para>Cuando se actualiza este fichero se debe ejecutar + <command>make</command> dentro de <filename>/etc/mail/</filename> + para actualizar la base de datos.</para> + </sect2> + <sect2> + <title><filename>/etc/mail/local-host-names</filename></title> + + <para>Este archivo es una lista de nombres de máquinas que + &man.sendmail.8; acepta como nombres locales. + Se suele utilizar para escribir aquellos dominios o máquinas + de los cuales <application>sendmail</application> va a recibir correo. + Por ejemplo, si nuestro servidor de correo + va a aceptar correo proveniente del dominio <hostid + role="domainname">ejemplo.com</hostid> y también de la + máquina <hostid role="fqdn">mail.ejemplo.com</hostid> nuestro + <filename>local-host-names</filename> + debería ser algo así:</para> + + <programlisting>ejemplo.com +mail.ejemplo.com</programlisting> + + <para>Cuando se actualiza este fichero &man.sendmail.8; necesita ser + reiniciado para que tenga en cuenta los cambios.</para> + + </sect2> + + <sect2> + <title><filename>/etc/mail/sendmail.cf</filename></title> + + <para>Archivo de configuración principal de <application> + sendmail</application>, controla el comportamiento global de + <application>sendmail</application>, incluyendo cualquier tarea + desde la reescritura de direcciones de correo electrónico + hasta la devolución de mensajes de error a los servidores + de correo remotos. Es evidente que con un abanico tan diverso el + fichero de configuración + acaba por ser bastante complejo y sus detalles quedan fuera de los + objetivos de esta sección. Afortunadamente este + fichero raras veces necesita ser modificado, al menos en lo que + respecta a servidores de correo estándar. + </para> + + <para>El fichero de configuración principal de <application> + sendmail</application> se puede construir a partir de + &man.m4.1;, es decir, macros que se utilizan para definir + características y comportamientos específicos + de <application>sendmail</application>. Se ruega al lector consultar + <filename>/usr/src/contrib/sendmail/cf/README</filename> para obtener + más detalles acerca de las distintas macros que + se pueden utilizar.</para> + + <para>Cuando se realizan cambios a este fichero + <application>sendmail</application> debe ser reiniciado para que los + cambios surtan efecto.</para> + + </sect2> + <sect2> + <title><filename>/etc/mail/virtusertable</filename></title> + + <para>El fichero <filename>virtusertable</filename> asocia direcciones de + correo pertenecientes a dominios y carpetas virtuales con carpetas + reales. Estas carpetas pueden ser locales, remotas, alias + definidos en <filename>/etc/mail/aliases</filename> o incluso ficheros.</para> + + <example> + <title>Ejemplo de asociación de correo de dominio virtual</title> + + <programlisting>root@ejemplo.com root +postmaster@ejemplo.com postmaster@noc.ejemplo.net +@ejemplo.com joe</programlisting> + </example> + + <para>En el ejemplo superior se observa una asociación para el + dominio <hostid role="domainname">ejemplo.com</hostid>. + Este fichero se procesa de arriba a abajo buscando la primera + coincidencia. La primera entrada asocia <literal> + root@ejemplo.com</literal> con la carpeta de correo local denominada + <username>root</username>. La siguiente entrada asocia + <literal>postmaster@ejemplo.com</literal> con la carpeta + <username>postmaster</username> situada en la máquina + <hostid role="fqdn">noc.ejemplo.net</hostid>. Por último, si + no se ha encontrado ninguna coincidencia para + <hostid role="domainname">ejemplo.com</hostid> se le asigna la + última asociación, la cual asocia cualquier mensaje + de correo proveniente de <hostid role="domainname"> + ejemplo.com</hostid> con la carpeta de + correo local denominada <username>joe</username>.</para> + + </sect2> + </sect1> + + <sect1 id="mail-changingmta"> + <sect1info> + <authorgroup> + <author> + <firstname>Andrew</firstname> + <surname>Boothman</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Gregory</firstname> + <surname>Neil Shapiro</surname> + <contrib>Información obtenida de correos escritos por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Sustitución del Agente de Transferencia de Correo</title> + <indexterm> + <primary>email</primary> + <secondary>cambio de mta</secondary> + </indexterm> + + <para>Como ya se ha comentado FreeBSD viene con <application> + sendmail</application> ya instalado como agente de transferencia de + correo por defecto. De esta forma <application>sendmail</application> + se encarga de gestionar el correo entrante y saliente.</para> + + <para>No obstante, debido a distintas razones algunos administradores de + sistemas prefieren utilizar otro MTA. + Estas razones varían desde simplemente querer probar otros + programas de transferencia de correo, hasta la necesidad + de utilizar un determinado programa que hace uso de una función + específica de un agente determinado. Por suerte + cualesquiera que sean estas razones FreeBSD posee un sencillo + procedimiento para sustituir a + <application>sendmail</application>.</para> + + <sect2> + <title>Instalación de un nuevo MTA</title> + + <para>Existen una amplia gama de MTA alternativos a <application> + sendmail</application>. Un buen punto de partida es el <link + linkend="ports">Sistema de Ports de FreeBSD</link>, + donde se pueden localizar varios. Por supuesto el usuario tiene + libertad para utilizar cualquier MTA, siempre y cuando se pueda + ejecutar en FreeBSD sin problemas.</para> + + <para>Lo primero es instalar el nuevo MTA. Una vez que está + instalado normalmente se tiene la oportunidad para decidir si + realmente cubre las necesidades y también se tiene la + oportunidad de configurar el nuevo software antes de sustituir a + <application>sendmail</application>. El usuario debe tener en cuenta + que el nuevo MTA puede sobreescribir algunos binarios del sistema como + por ejemplo <filename>/usr/bin/sendmail</filename>. + En cualquier caso el nuevo software de correo + suele entrar en funcionamiento con una configuración + por defecto.</para> + + <para>Por favor, recuerde que se recomienda leer la documentación + del MTA seleccionado para obtener más + información.</para> + + </sect2> + + <sect2> + <title>Desactivación de la aplicación <application> + sendmail</application></title> + + <para>El procedimiento utilizado para ejecutar + <application>sendmail</application> cambió significativamente + entre las releases 4.5-RELEASE y 4.6-RELEASE. + De esta forma el procedimiento utilizado para la desactivación + hoy en día es + sutílmente distinto al utilizado en dichas distribuciones.</para> + + <sect3> + <title>FreeBSD 4.5-STABLE antes de 2002/4/4 y anteriores + (Incluyendo 4.5-RELEASE y anteriores)</title> + + <para>Introducir:</para> + + <programlisting>sendmail_enable="NO"</programlisting> + + <para>dentro de <filename>/etc/rc.conf</filename>. Esta variable + desactiva el servicio de recepción de correo de + <application>sendmail</application>, + pero salvo que se modifique (ver más adelante) el + fichero <filename>/etc/mail/mailer.conf</filename> + <application>sendmail</application> todavía será + la aplicación elegida para enviar correo + electrónico.</para> + </sect3> + + <sect3> + <title>FreeBSD 4.5-STABLE desde de 2002/4/4 + (Incluyendo 4.6-RELEASE y posteriores)</title> + + <para>Para poder desactivar completamente + <application>sendmail</application> haga lo siguiente:</para> + + <programlisting>sendmail_enable="NONE"</programlisting> + + <para>dentro del fichero <filename>/etc/rc.conf.</filename></para> + + <warning> + <para> Se desactiva el servicio de correo de salida de + <application>sendmail</application>. + Es importanque que se reemplace con un sistema de entrega de + correo alternativo que sea totalmente funcional. + En caso contrario funciones del sistema FreeBSD tales como + &man.periodic.8; no podrán entregar sus resultados por + correo eletrónico tal y como normalmente hacen. + Varias partes del sistema FreeBSD esperan disponer de un sistema + de correo funcional compatible con + sendmail. Si las aplicaciones continúan utilizando los + binarios de <application>sendmail</application> + para realizar envíos de correo después de su + desactivación el correo podría ser almacenado en una + cola inactiva de <application>sendmail</application>, en cuyo caso + nunca se entregaría.</para> + </warning> + + <para>Si sólo se quiere desactivar el servicio de correo de + entrada de <application>sendmail</application>, basta con establecer + la variable:</para> + + <programlisting>sendmail_enable="NO"</programlisting> + + <para>dentro de <filename>/etc/rc.conf</filename>. + En &man.rc.sendmail.8; tiene más información sobre + las opciones de arranque de <application> + sendmail</application>.</para> + </sect3> + </sect2> + + <sect2> + <title>Ejecución del nuevo MTA en el arranque</title> + + <para>Existen dos métodos alternativos para ejecutar el nuevo + MTA en el arranque, dependiendo + de la versión de FreeBSD que se esté ejecutando.</para> + + <sect3> + <title>FreeBSD 4.5-STABLE antes de 2002/4/11 + (Incluyendo 4.5-RELEASE y anteriores)</title> + + <para>Se debe añadir un script en + <filename>/usr/local/etc/rc.d/</filename> cuyo nombre termine en + <filename>.sh</filename> y que sea ejecutable por + <username>root</username>. El script debe aceptar los + parámetros <literal>start</literal> y + <literal>stop</literal>. Cuando el sistema &os; se está + inicializando, los scripts de arranque + ejecutarán el siguiente comando:</para> + + <programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting> + + <para>La misma orden se puede utilizar también para ejecutar + el servidor de forma manual. + Cuando el sistema se está reiniciando los scripts del sistema + ejecutan los ficheros ubicados en + <filename>/usr/local/etc/rc.d/</filename> utilizando la opción + <literal>stop</literal>, en nuestro caso:</para> + + <programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting> + + <para>Dicho comando tambíen se puede utilizar para detener el + servidor de correo de forma manual cuando el + sistema FreeBSD se ejecuta con normalidad.</para> + + </sect3> + + <sect3> + <title>FreeBSD 4.5-STABLE después de 2002/4/11 + (Incluyendo 4.6-RELEASE y posteriores)</title> + + <para>Con las últimas versiones de FreeBSD se puede utilizar el + método anterior pero también se puede + especificar</para> + + <programlisting>mta_start_script="nombre_de_fichero"</programlisting> + + <para>dentro de <filename>/etc/rc.conf</filename>, donde + <replaceable>nombre_de_fichero</replaceable> es el nombre de + algún script que se ejecuta en tiempo de arranque + para inicializar el nuevo MTA.</para> + </sect3> + + </sect2> + + <sect2> + <title>Sustitución de <application>sendmail</application> como el + agente de transporte de correo predeterminado.</title> + + <para>El programa <application>sendmail</application> es tan + imprescindible y es utilizado por tal multitud de programas en + los sistemas &unix; que algunos programas simplemente asumen que + <application>sendmail</application> se encuentra instalado y + configurado dentro del sistema. + Por esta razón varios MTAs alternativos proporcionan su propia + implementación de la interfaz de línea de comandos que + posée <application>sendmail</application>; esto facilita que se + puedan utilizar como sustitutos de <application>sendmail</application> + sin mayores dificultades.</para> + + <para>Por lo tanto si desea utilizar un agente de transporte de correo + alternativo debe asegurarse de que todo software que intente ejecutar + binario de <application>sendmail</application> estándar, + <filename>/usr/bin/sendmail</filename>, realmente ejecute el nuevo MTA + en su lugar. Por fortuna FreeBSD proporciona un sistema llamado + &man.mailwrapper.8; que realiza precisamente esta tarea.</para> + + <para>Cuando <application>sendmail</application> está funcionando + se debe localizar algo como lo siguiente dentro del fichero + <filename>/etc/mail/mailer.conf</filename>:</para> + +<programlisting>sendmail /usr/libexec/sendmail/sendmail +send-mail /usr/libexec/sendmail/sendmail +mailq /usr/libexec/sendmail/sendmail +newaliases /usr/libexec/sendmail/sendmail +hoststat /usr/libexec/sendmail/sendmail +purgestat /usr/libexec/sendmail/sendmail</programlisting> + + <para>Esto significa que cuando cualquiera de estos comandos + (por ejemplo <filename>sendmail</filename> mísmamente) + se ejecutan el sistema ejecutará en su lugar una copia del + el sistema ejecuta en su lugar una copia del <quote> + mailwrapper</quote> denominada <filename>sendmail</filename> + que chequea el fichero <filename>mailer.conf</filename> y ejecuta + <filename>/usr/libexec/sendmail/sendmail</filename>. + Este sistema permite cambiar de una forma sencilla los binarios que + se ejecutan realmente cuando se invocan las funciones de + <filename>sendmail</filename>.</para> + + <para>Si se quiere que ejecutar + <filename>/usr/local/supermailer/bin/sendmail-compat</filename> + en lugar de <application>sendmail</application> se puede cambiar el + fichero <filename>/etc/mail/mailer.conf</filename> para que contenga + lo siguiente:</para> + +<programlisting>sendmail /usr/local/supermailer/bin/sendmail-compat +send-mail /usr/local/supermailer/bin/sendmail-compat +mailq /usr/local/supermailer/bin/mailq-compat +newaliases /usr/local/supermailer/bin/newaliases-compat +hoststat /usr/local/supermailer/bin/hoststat-compat +purgestat /usr/local/supermailer/bin/purgestat-compat</programlisting> + + </sect2> + + <sect2> + <title>Últimos Pasos</title> + + <para>Una vez que todo estáconfigurado a su gusto + hay que matar los procesos de <application>sendmail</application> + que ya no se necesitan y ejecutar los procesos pertenecientes al + nuevo software de MTA, o utilizar la opción más + sencilla: reiniciar la máquina. Reinicar la máquina + nos brinda la oportunidad de comprobar que se ha configurado + correctamente el arranque del sistema para que ejecute de forma + automática el nuevo MTA.</para> + </sect2> + </sect1> + + <sect1 id="mail-trouble"> + <title>Depuración de Problemas</title> + <indexterm> + <primary>email</primary> + <secondary>Depuración de problemas</secondary> + </indexterm> + + <qandaset> + <qandaentry> + <question> + <para>¿Por qué tengo que utilizar el FQDN para las + máquinas de mi organización?</para> + </question> + + <answer> + <para>Probablemente se deba a que la máquina de correo se + encuentra en un dominio diferente; si por ejemplo la + máquina de correo se encuentra en <hostid + role="fqdn">foo.bar.edu</hostid> + y se desea alcanzar una máquina llamada + <hostid>mumble</hostid> en el dominio + <hostid role="domainname">bar.edu</hostid> se tiene que referir a + ella mediante un nombre de dominio completo + (<quote>fully-quailified domain name</quote> o FQDN), en éste + caso <hostid role="fqdn">mumble.bar.edu</hostid> en lugar de + referirse a ella simplemente como <hostid>mumble</hostid>.</para> + + <indexterm><primary>BIND</primary></indexterm> + <para>Tradicionalmente, la referencia incompleta era posible + utilizando <quote>resolvers</quote> de BSD BIND. + No obstante la versión de <application>BIND</application> + que en la actualidad se ofrece con FreeBSD ya no permite por defecto + el uso de dichas abreviaturas salvo para aquellas máquinas + que pertenecen al dominio al que su sistema pertenezca. + Una máquina como <hostid>mumble</hostid> será buscada + como <hostid role="fqdn">mumble.foo.bar.edu</hostid> o la + búsqueda será redireccionada al servidor de dominio + raíz del DNS.</para> + + <para>Esto es distinto a lo que ocurría en versiones anteriores + de BIND, donde la búsqueda se producía a través + de <hostid role="domainname">mumble.bar.edu</hostid> y de + <hostid role="domainname">mumble.edu</hostid>. Se recomienda + consultar a la RFC 1535 para conocer el motivo que se considerara + una práctica errónea o incluso un agujero de + seguridad.</para> + + <para>Una buena solución a este problema puede ser + incluír la siguiente línea + + <programlisting>search foo.bar.edu bar.edu</programlisting> + + en lugar de + + <programlisting>domain foo.bar.edu</programlisting> + + dentro del fichero <filename>/etc/resolv.conf</filename>. + No obstante se debe asegurar de que el orden de + búsqueda no se expande más allá del + <quote>límite entre la administración local y la administración pública</quote>, + tal y como se le denomina en la RFC 1535.</para> + </answer> + </qandaentry> + + <indexterm> + <primary>MX record</primary> + </indexterm> + + <qandaentry> + <question> + <para><application>sendmail</application> dice <errorname>mail + loops back to myself</errorname> (el correo vuelve a mis manos)</para> + </question> + + <answer> + <para>Esta pregunta se responde en las FAQ de + <application>sendmail</application> de la siguiente forma:</para> + + <programlisting>Estoy obteniendo los siguientes mensajes de error: + +553 MX list for domain.net points back to relay.domain.net +554 <user@domain.net>... Local configuration error + +¿Cómo puedo solucionar esto? + +Usted ha especificado que el correo para el dominio (por ejemplo, +para el dominio dominio.net) sea reenviado a una máquina determinada +(en este caso relay.dominio.net), para lo que se utiliza un registro +de DNS de tipo MX, pero la máquina que actúa de relay no se +reconoce a sí misma como perteneciente al dominio dominio.net. +Se debe añadir dominio.net al fichero /etc/mail/local-host-names, +que recibe el nombre de /etc/sendmail.cw en versiones de sendmail previas +a la 8.10. Se puede utilizar la macro FEATURE(use_cw_file) para indicar +dónde se encuentra el fichero local-host-names; también se +puede añadir <quote>Cw dominio.net</quote> directamente +al fichero <filename>/etc/mail/sendmail.cf</filename> + </programlisting> + + <para>Las FAQ de <application>sendmail</application> se pueden + encontrar en <ulink + url="http://www.sendmail.org/faq/"></ulink> y son de lectura + obligada si se quiere depurar el comportamiento y la + configuración de <application>sendmail</application>. + </para> + </answer> + </qandaentry> + + <indexterm><primary>PPP</primary></indexterm> + <qandaentry> + <question> + <para>¿Cómo puedo ejecutar un servidor de correo + utilizando una máquina que se conecta a internet + mediante modem analógico (dial-up) ?</para> + </question> + + <answer> + <para>Se quiere conectar una máquina FreeBSD dentro de una LAN a + Internet. La máquina FreeBSD será una pasarela de + correo para dicha LAN. La conexión mediante PPP no es + dedicada.</para> + + <indexterm><primary>UUCP</primary></indexterm> + <indexterm> + <primary>MX record</primary> + </indexterm> + + <para>Existen al menos dos formas distintas de hacerlo. Una de ellas + consiste en utilizar UUCP.</para> + + <para>Otra forma consiste en hacerse con un servidor de internet a + tiempo completo para proporcionar servicios de agente de transporte + secundario para nuestro dominio. Si por ejemplo el dominio de + nuestra compañía es <hostid + role="domainname">ejemplo.com</hostid>, nuestro proveedor de acceso + a internet puede instalar lo siguiente en el DNS:</para> + + <programlisting>ejemplo.com. MX 10 ejemplo.com. + MX 20 ejemplo.net.</programlisting> + + <para>Nótese que el agente de correo primario es nuestro + dominio, ejemplo.com, y además se encuentra configurado + un agente de transporte secundario en la máquina + ejemplo.net. En este caso sólamente se debe especificar + una máquina como receptor final de correo + (añadiendo <literal>Cw ejemplo.com</literal>) al fichero + <filename>/etc/mail/sendmail.cf</filename> de la máquina + <hostid role="domainname">example.com</hostid>)</para> + + <para>Cuando el <command>sendmail</command> que está enviando + el correo trata de entregar dicho correo primero intentará + conectarse con nosotros (<hostid + role="domainname">ejemplo.com</hostid>) utilizando el enlace de + modem. Lo más probable es que la operación termine + después de un tiempo de espera debido a que el enlace modem + esté caído. + La aplicación <application>sendmail</application> + automáticamente entregará el correo al servidor + especificado como agente de transporte de correo secundario + (segundo registro MX), es decir, entregará el correo a + nuestro proveedor de servicios de internet (<hostid + role="domainname">ejemplo.net</hostid>). El sitio MX secundario + tratará de conectarse con nuestra máquina de una forma + periódica con el objeto de entregar el correo a la + máquina que actúa como agente servidor de correo + primario (<hostid role="domainname">ejemplo.com</hostid>).</para> + + <para>Puede ser de mucha utilidad un script de <quote>login</quote> + como el que se muestra a continuación:</para> + + <programlisting>#!/bin/sh +# Ponme en /usr/local/bin/pppmiconexion +( sleep 60 ; /usr/sbin/sendmail -q ) & +/usr/sbin/ppp -direct pppmiconexion</programlisting> + + <para>Si vamos a crear un script de <quote>login</quote> separado para + un usuario determinado se puede utilizar + <command>sendmail -qRejemplo.com</command> en lugar del script + anterior. Esto obliga a que se procesen + de forma inmediata todos los correos que se encuentren en la cola de + <hostid role="domainname">ejemplo.com</hostid>.</para> + + <para>Vamos a dar una vuelta más de tuerca a la + situación:</para> + + <para>Mensaje robado a la &a.isp;.</para> + + <programlisting> +> Nosotros proporcionamos servicio de MX secundario a un cliente nuestro. +> El cliente se conecta a nuestro servidor varias veces al día +> de forma automática para recoger sus correos para almacenarlos en +> su servidor MX primario (nosotros no llamamos a su organización +> justo cuando nos llega un correo suyo). +> Nuestro sendmail envía la cola de correos cada 30 minutos. En +> estos momentos nuestro cliente tiene que estar al menos 30 minutos +> conectado para asegurarnos de que todo su correo ha sido enviado al +> servidor MX primario. +> +> ¿Existe algún comando que permita indicar a sendmail que +> envíe todos los correos de la cola cuando quiera el cliente? +> El cliente no tiene permisos de superusuario en la máquina que +> alberga nuestro agente de transporte, por supuesto. + +En la sección de <quote>privacy flags</quote> del fichero sendmail.cf +existe una definición como ésta: +Opgoaway,restrictqrun + +Basta con eliminar restrictqrun para permitir que usuarios sin permisos de +superusuario arranquen el procesamiento de la cola. +Sería conveniente además que reordenaran los registros MX. +Nosotros somos el primer MX para nuestros clientes. +Además de esto hay que especificar: + +# Si somos el mejor MX para una determinada máquina, intenta +# utilizarnos directamente en vez de generar un error de +# configuración local. +OwTrue + +en el archivo de configuración de <application>sendmail</application>. +Mediante la configuración anterior, +una organización remota entregará sus correos directamente a +usted, sin necesidad de intentar conectarse primero a través de +la conexión del cliente. La etiqueta "OwTrue" se necesita para evitar +que <application>sendmail</application> genere un mensaje de error. +A continuación ustedes se encargan de entregar el +correo a su(s) respectivo(s) cliente(s) tal como vienen haciendo. + +Esta configuración sólo funciona para +<quote>máquinas individuales</quote>, +de tal forma que se necesita que el cliente especifique su servidor de correo +mediante entradas de tipo A en el DNS. En concreto se necesita una entrada de +tipo A en el DNS para el dominio del cliente (<quote>cliente.com</quote>). +</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>¿Por qué me siguen saliendo mensajes de error + del tipo <errorname>Relaying Denied</errorname> cuando se trata + de enviar correo proveniente de otras máquinas?</para> + </question> + + <answer> + <para>En las instalaciones del sistema FreeBSD por defecto + <application>sendmail</application> se configura para enviar + correo sólamente desde la máquina en la cual + se está ejecutando. Por ejemplo si un servidor + <acronym>POP</acronym> está disponible los usuarios + serán capaces de consultar su correo desde la universidad, + el trabajo u otras localizaciones remotas, pero dichos usuarios + podrán enviar correo desde dichas ubicaciones. + Es habitual que unos instantes después del envío + del correo dichos usuarios reciban un mensaje proveniente del + <application>MAILER-DAEMON</application> con un error como + <errorname>5.7 Relaying Denied</errorname>.</para> + + <para>Existen varias formas de solventar este problema. La + más sencilla consiste en escribir la dirección + IP de su proveedor de servicios dentro del fichero + <filename>/etc/mail/relay-domains</filename>. Una forma + rápida de hacerlo sería: + </para> + + <screen>&prompt.root; <userinput>echo "un.isp.ficticio.com" > /etc/mail/relay-domains</userinput></screen> + + <para>Después de crear o editar dicho fichero se debe + reiniciar <application>sendmail</application>. Esto funciona + perfectamente si usted es el administrador del servidor y no + desea enviar correo localmente o si prefiere utilizar un cliente + de correo o cualquier otro sistema en otra máquina distinta + a la que alberga el servidor de correo. Es muy útil sobre + todo cuando sólamente se tienen una o dos direcciones de + correo eletrónico. Si hay en liza un gran número de + direcciones de correo, edite el fichero anterior con su editor de + texto favorito y añada uno a uno los correspondientes + dominios.</para> + + <programlisting>un.isp.ficticio.com +otro.isp.ficticio.net +y.otro.isp.ficticio.org +www.ejemplo.org</programlisting> + + <para>Ahora, cualquier correo enviado a través de su sistema + por cualquier máquina que se encuentre en este fichero + (siempre y cuando el usuario tenga una cuenta en nuestro sistema) + podrá ser enviado con éxito. + Es una manera elegante de permitir a los usuarios enviar + correo eletrónico desde nuestro servidor de correo sin + permitir al resto del mundo que haga lo mismo (lo que se conoce + como SPAM).</para> + </answer> + </qandaentry> + </qandaset> + </sect1> + + <sect1 id="mail-advanced"> + <title>Conceptos Avanzados</title> + + <para>La siguiente sección trata conceptos más + específicos relacionados con la configuración del correo + y la implantación del servicio de correo en una + organización.</para> + + <sect2 id="mail-config"> + <title>Configuración Básica</title> + <indexterm> + <primary>email</primary> + <secondary>configuration</secondary> + </indexterm> + + <para>Por defecto debemos ser capaces de enviar correo a máquinas + externas, siempre y cuando tengamos nuestro <filename> + /etc/resolv.conf</filename> bien configurado o ejecutemos nuestro + propio servidor de nombres. Si queremos que el correo para nuestra + máquina se nos entregue en nuestra propia máquina, + es decir, a nuestro propio <application>sendmail</application>, + en lugar de tener que ir a recogerlo al servidor de correo de + nuestra organización, podemos usar dos métodos:</para> + + <itemizedlist> + <listitem> + <para>Ejecutar nuestro propio servidor de nombres y comprar nuestro + propio dominio. Por ejemplo <hostid + role="domainname">FreeBSD.org</hostid></para> + </listitem> + + <listitem> + <para>Conseguir la entrega de correo directa hacia nuestra + máquina. Esto se logra entregando el correo a la + dirección IP que se asocia al nombre de DNS de nuestra + máquina. Por ejemplo <hostid + role="fqdn">ejemplo.FreeBSD.org</hostid>.</para> + </listitem> + </itemizedlist> + + <indexterm><primary>SMTP</primary></indexterm> + <para>Independientemente de la opción elegida para tener entrega + directa en nuestra máquina debemos poseer una dirección + IP estática (a diferencia de las direcciones dinámicas, + que son utilizadas en configuraciones donde se utiliza el protocolo + PPP). Si nos encontramos detrás de un cortafuegos se debe + permitir el tráfico SMTP (puerto 25) hacia nuestra + máquina. Si además queremos recibir correo directamente + en nuestra máquina se deben cumplir los siguientes + requisitos:</para> + + <itemizedlist> + <indexterm><primary>MX record</primary></indexterm> + <listitem> + <para>Asegurar que el registro MX de menor numeración de + nuestro DNS apunta a la dirección IP de nuestra + máquina.</para> + </listitem> + + <listitem> + <para>Asegurar que no existe ninguna entrada MX en nuestro DNS para + nuestra máquina. Es decir, mientras que el registro MX del + punto anterior hace referencia al dominio administrativo que + gestionamos con nuestro servidor de nombres, en este apartado se + quiere destacar que no debe existir ningún registro MX + específico para el nombre concreto de nuestra + máquina.</para> + </listitem> + </itemizedlist> + + <para>Cumpliendo las dos puntualizaciones anteriores podemos recibir + correo electrónico mediante entrega directa en nuestra + máquina.</para> + + <para>Por ejemplo:</para> + + <screen>&prompt.root; <userinput>hostname</userinput> +ejemplo.FreeBSD.org +&prompt.root; <userinput>host ejemplo.FreeBSD.org</userinput> +ejemplo.FreeBSD.org has address 204.216.27.XX</screen> + + <para>Si se observa esta configuración la entrega directa de + correo para <email>su_login@ejemplo.FreeBSD.org</email> debería + funcionar sin problemas (suponiendo que <application> + sendmail</application> se está ejecutando correctamente en + <hostid role="fqdn">ejemplo.FreeBSD.org</hostid>).</para> + + <para>Si en lugar de lo anterior ve algo como esto:</para> + + <screen>&prompt.root; <userinput>host ejemplo.FreeBSD.org</userinput> +ejemplo.FreeBSD.org has address 204.216.27.XX +ejemplo.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen> + + <para>Todos los correos enviados a nuestro host (<hostid + role="fqdn">ejemplo.FreeBSD.org</hostid>) serán recogidos por + <hostid>hub</hostid> bajo el mismo nombre de usuario en lugar de ser + enviados directamente a nuestra máquina.</para> + + <para>La información anterior se gestiona utilizando el servidor + de DNS. El registro de DNS que transporta la información + de encaminamiento de correo eletrónico es el + registro <emphasis>M</emphasis>ail e<emphasis>X</emphasis>change. + Si no existe ningún registro MX el correo se entregará + a la dirección IP que se obtenga de resolver el nombre + de dominio que se encuentre a continuación del nombre de + usuario en la dirección de correo de destino (esto es, + (después de la @).</para> + + <para>En un cierto momento la entrada MX para <hostid + role="fqdn">freefall.FreeBSD.org</hostid> tenía este + aspecto:</para> + + <programlisting>freefall MX 30 mail.crl.net +freefall MX 40 agora.rdrop.com +freefall MX 10 freefall.FreeBSD.org +freefall MX 20 who.cdrom.com</programlisting> + + <para>Como se puede observar, <hostid>freefall</hostid> tenía + varias entradas MX. El número de MX más bajo es la + máquina que recibe correo directamente si se encuentra + disponible; si dicha máquina no está accesible por + algún motivo las otras máquinas (llamadas también + <quote>MXs de backup</quote>) aceptarán los mensajes + temporalmente, y los transmitirán de nuevo cuando alguna + máquina perteneciente a alguna entrada MX de numeración + más baja se encuentre disponible y el proceso se + repetirá hasta que se alcance la máquina que tenga + el registro MX más bajo.</para> + + <para>Las organizaciones donde residen los servidores (MX) de backup + deberían poseer acceso a internet de una forma independiente + para minimizar el riesgo de pérdida de conectividad. Nuestro + ISP o cualquier otra organización independiente debería + poder proporcionarnos este servicio sin problemas.</para> + </sect2> + + <sect2 id="mail-domain"> + <title>Correo para Nuestro Dominio</title> + + <para>Para establecer un <quote>mailhost</quote> (servidor de correo) + en nuestra organización debemos ser capaces de redirigir el + correo destinado a cualquier máquina de nuestra + organización hacia nuestro servidor de correo. + Básicamente queremos <quote>reclamar</quote> como nuestro + cualquier correo destinado a cualquier máquina de nuestro + dominio (en este caso <hostid + role="fqdn">*.FreeBSD.org</hostid>) y desviarlo a nuestro servidor + de tal forma que los usuario lean su correo + utilizando nuestra máquina servidora.</para> + + <indexterm><primary>DNS</primary></indexterm> + <para>Para hacer las cosas lo más sencillas posible se debe crear + una cuenta de usuario (con el mismo <emphasis> + nombre de usuario</emphasis>) tanto en el servidor de correo como en + la máquina del usuario o destinatario final del correo. + &man.adduser.8; puede usarse para ello.</para> + + <para>El servidor de correo debe funcionar como el agente de transporte + predeterminado para todas las máquinas de nuestra + organización. Esto se realiza mediante la siguiente + configuración del DNS:</para> + + <programlisting>ejemplo.FreeBSD.org A 204.216.27.XX ; Workstation + MX 10 hub.FreeBSD.org ; Mailhost</programlisting> + + <para>Esta configuración redirigirá el correo para + cualquier estación de trabajo hacia nuestro servidor de correo + sin que tengan importancia las direcciones IP asignadas mediante + el registro de tipo A. Recordemos que el correo siempre + se encamina utilizando primero los registros de tipo MX.</para> + + <para>Normalmente no podremos realizar esta configuración salvo + que estemos ejecutando nuestro propio servidor de DNS + para nuestro dominio. Si no es el caso y no es posible ejecutar + nuestro propio servidor de DNS debemos comunicarnos con nuestro + proveedor de servicios o con quien pueda proporcionarnos servicio de + DNS y solicitarle una modificación como la anterior.</para> + + <para>Si además ofrecemos servicios de alojamiento virtual de + correo la siguiente información puede resultar útil. + Asumiremos que tenemos un cliente con su propio dominio, por ejemplo + <hostid role="domainname">cliente1.org</hostid> y queremos que todo el + correo enviado a <hostid + role="domainname">cliente1.org</hostid> sea redirigido hasta nuestro + servidor de correo, <hostid + role="fqdn">mail.nuestroservidor.com</hostid>. La entrada necesaria + en el DNS debería ser la siguiente:</para> + + <programlisting>cliente1.org MX 10 mail.nuestroservidor.com</programlisting> + + <para>No necesitamos <emphasis>ningún</emphasis> registro de tipo + A para <hostid + role="domainname">cliente1.org</hostid> si sólamente queremos + gestionar el correo para ese dominio. + </para> + + <note> + <para>Tenga en cuenta que un ping a <hostid + role="domainname">cliente1.org</hostid> no funcionará a menos + que exista un registro de tipo A para dicha máquina. + </para> + </note> + + <para>La última cosa que debemos realizar en nuestro servidor de + correo es comunicar a <application>sendmail</application> para + qué dominios y/o máquinas debe aceptar correo. Existen + varias formas en las que se puede realizar esta tarea. + Cualquiera de las siguiente funcionará:</para> + + <itemizedlist> + <listitem> + <para>Añadir las máquinas deseadas al fichero + <filename>/etc/mail/local-host-names</filename> si se está + utlizando la macro + <literal>FEATURE(use_cw_file)</literal>. Si se está + utilizando una versión de <application> + sendmail</application> anterior a la 8.10 el fichero que se debe + utilizar es <filename>/etc/sendmail.cw</filename>.</para> + </listitem> + + <listitem> + <para>Añadir la línea <literal> + Cwsu.servidor.com</literal> al fichero + <filename>/etc/sendmail.cf</filename> o + <filename>/etc/mail/sendmail.cf</filename> si se está + utilizando una versión de <application> + sendmail</application> posterior a la versión 8.10.</para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="SMTP-UUCP"> + <title>SMTP con UUCP</title> + + <para>La configuración de <application>sendmail</application> que + se proporciona con la distribución de FreeBSD está + diseñada para organizaciones que se conectan directamente a + internet. Las organizaciones que deseén enviar y recibir + sus correos utilizando UUCP deben instalar otro fichero de + configuración para <application> + sendmail</application>.</para> + + <para>El ajuste de forma manual del archivo <filename> + /etc/mail/sendmail.cf</filename> es un tema para expertos. + La versión 8 de <application>sendmail</application> genera + ficheros de configuración mediante el preprocesador + &man.m4.1;, gracias al que las opciones de configuración se + pueden escribir utilizando un nivel de abstracción mayor. + Los archivos de configuración de &man.m4.1; se pueden encontrar + en <filename>/usr/src/usr.sbin/sendmail/cf</filename>.</para> + + <para>Si no se instaló el sistema base con todas las fuentes el + conjunto de ficheros de configuración de <application> + sendmail</application> se puede obtener a partir de un paquete de + fuentes determinado. Suponiendo que tengamos el CDROM con el + código fuente de FreeBSD montado se puede ejecutar:</para> + + <screen>&prompt.root; <userinput>cd /cdrom/src</userinput> +&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmail</userinput></screen> + + <para>Este comando extrae sólamente unos pocos cientos de + kilobytes. El fichero <filename>README</filename> que hay en + el directorio <filename>cf</filename> puede servirle como + una introducción básica a la configuración + mediante &man.m4.1;.</para> + + <para>La mejor forma de soportar la entrega de correo mediante UUCP es + utilizando la característica <literal>mailertable</literal>. + Esta característica crea una base de datos que + <application>sendmail</application> utiliza para tomar decisiones de + encaminamiento.</para> + + <para>En primer lugar creamon el fichero <filename>.mc</filename>. + El directorio <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename> + alberga varios ejemplos del mismo. Suponiendo que nuestro fichero + configuración se llama + <filename>foo.mc</filename> para convertir dicho archivo en un fichero + <filename>sendmail.cf</filename> válido basta con ejecutar lo + siguiente:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput> +&prompt.root; <userinput>make foo.cf</userinput> +&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen> + + <para>Un fichero <filename>.mc</filename> suele tener este aspecto:</para> + + <programlisting>VERSIONID(`<replaceable>Su número de versión</replaceable>') OSTYPE(bsd4.4) + +FEATURE(accept_unresolvable_domains) +FEATURE(nocanonify) +FEATURE(mailertable, `hash -o /etc/mail/mailertable') + +define(`UUCP_RELAY', <replaceable>su.relay.uucp</replaceable>) +define(`UUCP_MAX_SIZE', 200000) +define(`confDONT_PROBE_INTERFACES') + +MAILER(local) +MAILER(smtp) +MAILER(uucp) + +Cw <replaceable>alias.de.su.servidor</replaceable> +Cw <replaceable>nombredesunodouucp.UUCP</replaceable></programlisting> + + <para>Las líneas que contienen + <literal>accept_unresolvable_domains</literal>, + <literal>nocanonify</literal>, y + <literal>confDONT_PROBE_INTERFACES</literal> prohíben la + utilización del DNS durante la entrega de correo. + La cláusula <literal>UUCP_RELAY</literal> es necesaria + para soportar entrega mediante UUCP. Lo único que hay que hacer + es escribir un nombre de máquina en ese punto. + Dicha máquina debe ser capaz de gestionar las direcciones del + pseudo-dominio .UUCP; en la mayoría de los casos se escribe en + este punto el nombre de la máquina perteneciente al proveedor de + servicios que hace de relay.</para> + + <para>Una vez que tenemos esto configurado se necesita un fichero + <filename>/etc/mail/mailertable</filename>. Si solamente tenemos un + enlace con el exterior, que usamos para todos nuestro correos, + basta una configuración como la que se muestra a + continuación:</para> + + <programlisting># +# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable +. uucp-dom:<replaceable>su.relay.uucp</replaceable></programlisting> + + <para>Un ejemplo más complejo puede parecerse al siguiente:</para> + + <programlisting># +# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable +# +horus.interface-business.de uucp-dom:horus +.interface-business.de uucp-dom:if-bus +interface-business.de uucp-dom:if-bus +.heep.sax.de smtp8:%1 +horus.UUCP uucp-dom:horus +if-bus.UUCP uucp-dom:if-bus +. uucp-dom:</programlisting> + + + <para>Las primeras tres líneas se encargan de manejar casos + especiales en los que el correo dirigido directamente al dominio no se + envía a la ruta por defecto sino a algún vecino UUCP para + acortar el número de saltos involucrados en la entrega de dichos + correos. + La siguiente línea gestiona el correo para el dominio ethernet + local, el cual puede ser entregado utilizando SMTP. Finalmente los + vecinos UUCP se mencionan en la notación de pseudo-dominio + .UUCP para permitir que un + <literal><replaceable>vecino UUCP receptor</replaceable></literal> + de correo pueda sobreescribir las reglas por defecto. La última + línea siempre es un punto; se asocia con cualquier otra cosa que + no ha sido tratada en reglas anteriores y donde se realiza entrega UUCP + a un vecino UUCP que sirve como pasarela de correo universal para todo + el mundo. Todos los nombres de máquinas bajo la clave + <literal>uucp-dom:</literal> deben ser vecinos UUCP válidos, lo + cual se puede verificar utilizando el comando <literal> + uuname</literal>.</para> + + <para>Recuerde que este fichero debe convertirse en una base de datos DBM + antes de que usarse. El comando que se utiliza para realizar esta tarea + se suele especificar como un comentario al principio del fichero + <filename>mailertable</filename>. Cada vez que se modifique el fichero + <filename>mailertable</filename> se debe ejecutar dicho comando.</para> + + <para>Un consejo final: si dudamos sobre una determinada ruta de + encaminamiento de correo se puede ejecutar <application> + sendmail</application> con el parámetro <option>-bt</option>. + Este parámetro ejecuta <application>sendmail</application> + en <emphasis>modo prueba de direcciones</emphasis>; + simplemente basta con escribir <literal>3,0</literal> seguido por la + dirección de correo de la que queremos comprobar su correcto + encaminamiento. La última línea nos dice el agente de + correo interno que se utiliza, la máquina de destino con que el + agente será invocado y la dirección (posiblemente + traducida) de correo. Se puede abandonar este modo de funcionamiento + escribiendo <keycombo action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>.</para> + + <screen>&prompt.user; <userinput>sendmail -bt</userinput> +ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) +Enter <ruleset> <address> +<prompt>></prompt> <userinput>3,0 prueba@ejemplo.com</userinput> +canonify input: foo @ example . com +... +parse returns: $# uucp-dom $@ <replaceable>su.relay.uucp</replaceable> $: prueba < @ ejemplo . com . > +<prompt>></prompt> <userinput>^D</userinput></screen> + </sect1> + + <sect1 id="outgoing-only"> + <sect1info> + <authorgroup> + <author> + <firstname>Bill</firstname> + <surname>Moran</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + + <title>Configuración para sólamente enviar correo</title> + + <para>Existen multitud de casos en los que puede bastarnos con enviar + nuestro correo a través de una pasarela o relay. He aquí + algunos de ellos:</para> + + <itemizedlist> + <listitem> + <para>Nuestra computadora es una máquina de escritorio, pero + queremos ser capaces de utilizar programas como &man.send-pr.1;. + Para ello se debería utilizar el relay de nuestro ISP.</para> + </listitem> + + <listitem> + <para>Nuestra computadora es un servidor que no gestiona correo de + forma local, si no que necesita pasar todos los correos recibidos + una pasarela que se encarga de su procesamiento y entrega + final.</para> + </listitem> + </itemizedlist> + + <para>Casi cualquier <acronym>MTA</acronym> es capaz de actuar como + pasarela o relay. Por desgracia configurar un MTA para que sólo + gestione correo saliente puede ser muy complicado. Programas del estilo + de <application>sendmail</application> y <application> + postfix</application> son demasiado pesados para realizar + sólamente esta tarea.</para> + + <para>Si además estamos utilizando un servicio de acceso a internet + típico nuestro contrato puede prohibir explícitamente + la ejecución de un servidor de correo (o los puertos pueden estar + filtrados).</para> + + <para>La forma más sencilla de utilizar un servicio de pasarela es + mediante la instalación del port + <filename role="package">mail/ssmtp</filename>. Basta con ejecutar el + siguiente comando como <username>root</username>:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput> +&prompt.root; <userinput>make install replace clean</userinput></screen> + + <para>Una vez que ha sido instalado <filename + role="package">mail/ssmtp</filename> podemos configurarlo + mediante un fichero de sólo cuatro líneas ubicado en + <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>:</para> + + <programlisting>root=sudireccionrealdecorreo@ejemplo.com +mailhub=mail.ejemplo.com +rewriteDomain=ejemplo.com +hostname=_HOSTNAME_</programlisting> + + <para>Debemos asegurarnos de que se utiliza una dirección de correo + real para <username>root</username>. Se debe introducir nuestra + pasarela de correo en lugar de <hostid role="fqdn"> + mail.ejemplo.com</hostid> (algunos ISP llaman a la pasarela + <quote>servidor de correo saliente</quote> o simplemente + <quote>servidor SMTP</quote>).</para> + + <para>Debemos asegurarnos de que se desactiva + <application>sendmail</application> mediante + <literal>sendmail_enable="NONE"</literal> + en <filename>/etc/rc.conf</filename>.</para> + + <para><filename role="package">mail/ssmtp</filename> acepta algunas otras + opciones. Consulte el fichero de ejemplo que encontrará en + <filename>/usr/local/etc/ssmtp</filename>; consulte también + la página de manual de <application>ssmtp</application>, + en la que hay más ejemplos e información al respecto. + </para> + + <para>Ejecutar <application>ssmtp</application> de esta forma permite que + cualquier software de nuestra computadora que necesite enviar correo + funcione sin problemas y a la vez poder cumplir con las normas + estipuladas en el contrato con nuestro ISP. Al mismo tiempo evitamos el + uso de nuestro servidor de correo por parte de <quote> + spammers</quote>.</para> + </sect1> + + <sect1 id="SMTP-dialup"> + <title>Utilización del correo con una conexión mediante módem analógico (dial-up)</title> + + <para>Si se dispone de una dirección IP privada no es necesario + realizar ningún ajuste a partir de la configuración por + defecto. Basta con asignar como nombre de nuestra máquina el + nombre que tenemos registrado en el DNS y <application> + sendmail</application> se encargará del resto.</para> + + <para>Por otra parte si utilizamos una conexión temporal a internet + mediante PPP y se nos asigna una dirección IP + de forma dinámica, lo más normal es tener nuestras + carpetas de correo alojadas en el servidor de correo de + nuestro proveedor de servicios. Supongamos que el dominio de nuestro + ISP es <hostid + role="domainname">ejemplo.net</hostid> y que nuestro nombre de usuario + es <username>usuario</username>; además hemos llamado a nuestra + <username>user</username>, además, hemos llamado a nuestra + máquina <hostid + role="fqdn">bsd.home</hostid>, y nuestro ISP nos ha comunicado que + debemos utilizar como pasarela la máquina <hostid + role="fqdn">relay.ejemplo.net</hostid>.</para> + + <para>Para recuperar correo de nuestra carpeta de correo se debe instalar + un agente de recuperación automática de correo. + <application>fetchmail</application> es una buena elección puesto + que permite utilizar varios protocolos. Este programa está + disponible como un paquete y también desde la colección de + ports (<filename + role="package">mail/fetchmail</filename>). Normalmente nuestro + <acronym>ISP</acronym> proporciona <acronym>POP</acronym> + <acronym>POP</acronym>. Si utilizamos <acronym>ppp</acronym> a nivel de + usuario se puede recuperar automáticamente el correo cuando se + establece la conexión <acronym>ppp</acronym> utilizando + el fichero <filename>/etc/ppp/ppp.linkup</filename>:</para> + + <programlisting>MYADDR: +!bg su user -c fetchmail</programlisting> + + <para>Si utilizamos <application>sendmail</application> (como se muestra + más adelante) para entregar correo a cuentas remotas + probablemente queramos que <application>sendmail</application> + procese nuestras colas de correo tan pronto como nuestra conexión + de internet se establezca. Para ello escriba el siguiente comando tras + el comando de <command>fetchmail</command> que hemos escrito antes en + el fichero <filename>/etc/ppp/ppp.linkup</filename>:</para> + + <programlisting> !bg su user -c "sendmail -q"</programlisting> + + <para>Asumiendo que tenemos una cuenta para el usuario + <username>usuario</username> en <hostid + role="fqdn">bsd.home</hostid>. En el directorio <quote>home</quote> + del usuario <username>usuario</username> en la máquina + <hostid role="fqdn">bsd.home</hostid> debemos crear un fichero + <filename>.fetchmailrc</filename> con el siguiente contenido:</para> + + <programlisting>poll ejemplo.net protocol pop3 fetchall pass Secr3To</programlisting> + + <para>Este fichero debe tener permisos de lectura sólo para el + propio dueño ya que contiene la contraseña de acceso + a nuestra cuenta de POP en nuestro ISP (<literal> + Secr3To</literal>).</para> + + <para>Para poder enviar correo con la cabecera <literal>from:</literal> + correcta, debemos decir a + <application>sendmail</application> que utilice + <literal>usuario@ejemplo.net</literal> en vez de + <literal>usuario@bsd.home</literal>. Siguiendo con nuestro ejemplo + es necesario decirle a <application>sendmail</application> que + envíe todo el correo a través de la pasarela + <hostid role="fqdn">relay.ejemplo.net</hostid>.</para> + + <para>El siguiente fichero de configuración + <filename>.mc</filename> debe ser suficiente para cumplir + con las anteriores tareas:</para> + + <programlisting>VERSIONID(`bsd.home.mc version 1.0') +OSTYPE(bsd4.4)dnl +FEATURE(nouucp)dnl +MAILER(local)dnl +MAILER(smtp)dnl +Cwlocalhost +Cwbsd.home +MASQUERADE_AS(`ejemplo.net')dnl +FEATURE(allmasquerade)dnl +FEATURE(masquerade_envelope)dnl +FEATURE(nocanonify)dnl +FEATURE(nodns)dnl +define(`SMART_HOST', `relay.ejemplo.net') +Dmbsd.home +define(`confDOMAIN_NAME',`bsd.home')dnl +define(`confDELIVERY_MODE',`deferred')dnl</programlisting> + + <para>En la sección anterior se explica cómo convertir este + fichero <filename>.mc</filename> en un fichero de + configuración para <application>sendmail</application>, + <filename>sendmail.cf</filename>. No debemos olvidar + reiniciar <application>sendmail</application> + después de mofidificar el fichero <filename> + sendmail.cf</filename>.</para> + </sect1> + + <sect1 id="SMTP-Auth"> + <sect1info> + <authorgroup> + <author> + <firstname>James</firstname> + <surname>Gorham</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + + <title>Autentificación utilizando SMTP</title> + + <para>La autentificación mediante SMTP puede proporcionarnos + diversas ventajas. Añade una capa adicional de seguridad a + a <application>sendmail</application> y además proporciona a los + usuarios móviles (usuarios que cambian de máquina) + la posibilidad de mantener el mismo servidor de correo sin necesidad de + reconfigurar sus agentes de usuario de correo cada vez que se + trasladan.</para> + + <procedure> + <step> + <para>Instalar <filename role="package">security/cyrus-sasl</filename> + desde los ports. Se puede encontrar dicho port en + <filename role="package">security/cyrus-sasl</filename>. + <filename role="package">security/cyrus-sasl</filename> posée + varias opciones en tiempo de compilación pero para el + método en particular que se va a explicar en esta + sección basta con asegurarse de seleccionar + la opción <option>pwcheck</option>.</para> + </step> + + + <step> + <para>Después de instalar <filename + role="package">security/cyrus-sasl</filename>, + edite <filename>/usr/local/lib/sasl/Sendmail.conf</filename> + (o créelo si no existe) y añada la siguiente + línea:</para> + + <programlisting>pwcheck_method: passwd</programlisting> + + <para>Este método activa la autentificación de + <application>sendmail</application> contra nuestra base de + datos de FreeBSD, <filename>passwd</filename>. + Esto nos evita el problema de tener que crear un nuevo conjunto de + usuarios y contraseñas para cada usuario que necesite + validarse mediante SMTP y además nos permite mantener el + mismo <quote>login</quote> y contraseña que los usuarios + utilizan para acceder a sus cuentas para el acceso al correo + electrónico.</para> + </step> + + <step> + <para>Editar<filename>/etc/make.conf</filename> y añadir las + siguientes líneas:</para> + + <programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL +SENDMAIL_LDFLAGS=-L/usr/local/lib +SENDMAIL_LDADD=-lsasl</programlisting> + + <para>Estas líneas proporcionan a <application> + sendmail</application> las opciones de configuración necesarias + para enlazar con <filename role="package">cyrus-sasl</filename> en + tiempo de compilación. Debemos asegurarnos de que <filename + role="package">cyrus-sasl</filename> ha sido instalado correctamente + recompilar <application>sendmail</application>.</para> + </step> + + <step> + <para>Recompile <application>sendmail</application> utilizando el + siguiente comando:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput> +&prompt.root; <userinput>make cleandir</userinput> +&prompt.root; <userinput>make obj</userinput> +&prompt.root; <userinput>make</userinput> +&prompt.root; <userinput>make install</userinput></screen> + + <para>La compilación de <application>sendmail</application> no + debería dar problemas siempre y cuando + <filename>/usr/src</filename> no haya cambiado sustancialmente y + siempre y cuando las bibliotecas compartidas + necesarias se encuentren disponibles.</para> + </step> + + <step> + <para>Una vez que <application>sendmail</application> se ha compilado + y reinstalado con correctamente debemos editar el fichero + <filename>/etc/mail/freebsd.mc</filename> (o el fichero que se + utilice como <filename>.mc</filename> de referencia. Hay + administradores que escogen utilizar la salida de &man.hostname.1; + como el nombre del fichero <filename>.mc</filename> que se utiliza + para la configuración de sendmail por motivos de + uniformidad ). Añada las siguientes líneas a dicho + fichero:</para> + + <programlisting>dnl set SASL options +TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl +define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl +define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl</programlisting> + + <para>Estas opciones configuran los distintos métodos + de que dispone <application>sendmail</application> para validar a + los usuarios de correo. Si se desea utilizar otro método + distinto a <application>pwcheck</application> por favor consulte + la documentación.</para> + </step> + + <step> + <para>Para terminar ejecutamos &man.make.1; mientras nos encontramos + dentro de <filename>/etc/mail</filename>. + Este comando trata el fichero <filename>.mc</filename> y crea el + fichero <filename>.cf</filename> correspondiente + (con el mismo nombre que el anterior pero terminado en .cf). + A continuación se utiliza el comando <command> + make install restart</command>, el cual copia el fichero .cf + recién generado al fichero <filename> + sendmail.cf</filename> y a continuación reinicia + <application>sendmail</application>. + Para más información sobre este proceso puede + consultarse el contenido de + <filename>/etc/mail/Makefile</filename>.</para> + </step> + </procedure> + + <para>Si todo lo anteriormente comentado ha funcionado correctamente + deberíamos ser capaces de introducir la información de + nuestro <quote>login</quote> en nuestro cliente de correo y enviar un + mensaje de prueba. Para investigar más a fondo estos temas se + puede habilitar la opción <option>LogLevel</option> de + <application>sendmail</application> al valor 13 y observar detenidamente + el archivo <filename>/var/log/maillog</filename> en busca de posibles + mensajes de error.</para> + + <para>Puede ser necesario añadir las siguientes líneas al + fichero <filename>/etc/rc.conf</filename> de modo que el servicio + explicado en esta sección se encuentre disponible + automáticamente desde el arranque:</para> + + <programlisting>sasl_pwcheck_enable="YES" +sasl_pwcheck_program="/usr/local/sbin/pwcheck"</programlisting> + + <para>Esto permite que la inicialización de <acronym>SMTP_AUTH</acronym> se produzca durante el arranque del sistema.</para> + + <para>Para más información por favor visite la página + <ulink url="http://www.sendmail.org/~ca/email/auth.html"> + autentificación <acronym>SMTP</acronym></ulink> + de <application>sendmail</application>·</para> + + </sect1> + + <sect1 id="mail-agents"> + <sect1info> + <authorgroup> + <author> + <firstname>Marc</firstname> + <surname>Silver</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Agente de Correo de Usuario</title> + + <indexterm> + <primary>Agentes de Correo de Usuario</primary> + </indexterm> + + <para>Un agente de correo de usuario (<acronym>MUA</acronym> en + inglés Mail User Agent) es una aplicación + que se utiliza para enviar y recibir correo. Coomo el correo + electrónico está en constante evolución + y cada vez se vuelve más complejo y con más opciones, + los MUAs son cada vez más complejos y potentes. + Esto permite a los usuarios disponer de mayor flexibilidad y + funcionalidad. &os; admite para muchísimos + agentes de correo de usuario, todos los cuales pueden instalarse + desde los + <link linkend="ports">Ports</link>. Los usuarios pueden elegir entre + lientes de correo con interfaz gráfica como + <application>evolution</application> o <application>balsa</application> + o entre clientes basados en consola como + <application>mutt</application>, <application>pine</application> + o <command>mail</command>, e incluso utilizar interfaces web.</para> + + <sect2 id="mail-command"> + <title>mail</title> + + <para>&man.mail.1; es el agente de correo de usuario + (<acronym>MUA</acronym>) que viene por defecto con &os;. Es un MUA de + consola que ofrece toda la funcionalidad básica + necesaria para enviar y recibir correos, aunque resulta limitado + limitado en su capacidad para manejar adjuntos y sólamente + soporta carpetas de correo locales.</para> + + <para>Aunque <command>mail</command> no soporta de forma nativa la + interacción con servidores de correo mediante + <acronym>POP</acronym> o + <acronym>IMAP</acronym> estas carpetas de correo remotas pueden + descargarse a un fichero + <filename>mbox</filename> local utilizando una aplicación de + descarga como <application>fetchmail</application>, que se describe + en este mismo capítulo en (<xref + linkend="mail-fetchmail">).</para> + + <para>Para enviar y recibir correo eletrónico basta con + ejecutar el comando + <command>mail</command>. Veamos un ejemplo:</para> + + <screen>&prompt.user; <userinput>mail</userinput></screen> + + <para>El contenido de la carpeta de usuario en el directorio + <filename role="directory">/var/mail</filename> se leen + automáticamente. + Si la carpeta se encuentra vacía la aplicación termina + su ejecución con un mensaje que indica que no ha podido + encontrar correo. Una vez que la carpeta ha sido + leída la interfaz de la aplicación entra en + funcionamiento y se muestra por pantalla un listado de los + mensajes recuperados. Los mensajes se numeran + automáticamente y pueden leerse como se observa en el + siguiente ejemplo:</para> + + <screen>Mail version 8.1 6/6/93. Type ? for help. +"/var/mail/marcs": 3 messages 3 new +>N 1 root@localhost Mon Mar 8 14:05 14/510 "test" + N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" + N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen> + + <para>Los mensajes se pueden leer utilizando el comando <keycap> + t</keycap> de <command>mail</command> escribiendo a continuación + el número del mensaje que queremos leer. + En este ejemplo vamos a leer el primer correo:</para> + + <screen>& <userinput>t 1</userinput> +Message 1: +From root@localhost Mon Mar 8 14:05:52 2004 +X-Original-To: marcs@localhost +Delivered-To: marcs@localhost +To: marcs@localhost +Subject: test +Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST) +From: root@localhost (Charlie Root) + +This is a test message, please reply if you receive it.</screen> + + <para>Como podemos observar en el ejemplo anterior el comando + <keycap>t</keycap> muestra el contenido del correo + eletrónico con todas sus cabeceras. Para mostrar el + listado con todos los correos de nuevo, se debe utilizar la tecla + <keycap>h</keycap>.</para> + + <para>Si el correo eletrónico requiere una contestación + se puede utilizar la aplicación + <command>mail</command> para responder utilizando la tecla + <keycap>R</keycap> o <keycap>r</keycap>. La tecla + <keycap>R</keycap> indica a + <command>mail</command> que conteste sólo al origen (remitente) + del correo, mientras que la tecla <keycap>r</keycap> tanto + al remitente a los otros usuarios receptores del mensaje original. + Además ambos comandos se pueden ejecutar escribiendo a + continuación el número que identifica al mensaje que + se quiere responder. Tras esto la respuesta puede redactarse + , y se debe indicar el final del mensaje mediante un punto + (<keycap>.</keycap>) a continuación de un salto de + línea. Veamos un ejemplo:</para> + + <screen>& <userinput>R 1</userinput> +To: root@localhost +Subject: Re: test + +<userinput>Thank you, I did get your email. +.</userinput> +EOT</screen> + + <para>Para enviar nuevos correos eletrónicos se debe utilizar + la tecla <keycap>m</keycap> seguida de la dirección de + de correo del destinatario. Se pueden especificar varios + destinatarios de correo separando cada dirección de correo + con una coma ( <keycap>,</keycap> ). + El asunto del mensaje de correo se puede escribir a + continuación seguido por el cuerpo del mensaje. El final del + mensaje se especifica como en el caso anterior, utilizando un + <keycap>.</keycap> tras un saldo de línea y pulsando la + tecla <quote>enter</quote>.</para> + + <screen>& <userinput>mail root@localhost</userinput> +Subject: <userinput>I mastered mail + +Now I can send and receive email using mail ... :) +.</userinput> +EOT</screen> + + <para>Mientras nos encontremos dentro de la <command>mail</command> + el comando <keycap>?</keycap> puede utilizarse para mostrar la + ayuda en línea aunque la principal fuente de información + detallda sobre esta aplicación es la página man + &man.mail.1;.</para> + + <note> + <para>Tal y como se ha dicho ya la aplicación &man.mail.1; + no fue diseñada originalmente para gestionar adjuntos, por + lo que su forma de gestionarlos resulta ser extremadamente mala. + <acronym>MUA</acronym> más modernos como <application> + mutt</application> gestionan los adjuntos de correo + de una forma mucho más inteligente. Si se desea utilizar el + comando <command>mail</command> el port <filename + role="package">converters/mpack</filename> le puede resultar + bastante útil.</para> + </note> + </sect2> + + <sect2 id="mutt-command"> + <title>mutt</title> + + <para><application>mutt</application> es un agente de correo de usuario + pequeño pero muy potente, funcional y con excelentes + características; veamos algunas:</para> + + <itemizedlist> + <listitem> + <para>La habilidad de agrupar mensajes en hilos.</para> + </listitem> + + <listitem> + <para>Soporte de PGP para cifradon y firma digital de correos + eletrónicos.</para> + </listitem> + + <listitem> + <para>Soporte de tipos MIME.</para> + </listitem> + + <listitem> + <para>Soporte de gestión de correo en formato Maildir.</para> + </listitem> + + <listitem> + <para>Altamente configurable por el usuario.</para> + </listitem> + </itemizedlist> + + <para>Toda estas características hacen de + <application>mutt</application> uno de los agentes de correo + más avanzados del momento. + Consulte <ulink url="http://www.mutt.org"></ulink> para más + información sobre <application>mutt</application>.</para> + + <para>La versión estable de <application>mutt</application> se + puede instalar usando el port <filename + role="package">mail/mutt</filename> mientras que la versión de + desarrollo está en <filename + role="package">mail/mutt-devel</filename>. Una vez que se ha + instalado el port, <application>mutt</application> puede ejecutarse + mediante el siguiente comando:</para> + + <screen>&prompt.user; <userinput>mutt</userinput></screen> + + <para><application>mutt</application> lee automáticamente el + contenido de la carpeta de correo del usuario dentro del directorio + <filename role="directory">/var/mail</filename> y muestra por pantalla + su contenido. Si el directorio está vacío + <application>mutt</application> + quedará a la espera de los comandos que pueda pasarle el + usuario. En el ejemplo que se muestra a continuación + puede verse cómo <application>mutt</application> facilita + la lista de mensajes al usuario:</para> + + + <mediaobject> + <imageobject> + <imagedata fileref="mail/mutt1" format="PNG"> + </imageobject> + </mediaobject> + + <para>Para leer un correo basta con seleccionarlo usando las teclas de cursor, y + presionando la tecla <keycap>Enter</keycap>. Veamos cómo + muestra <application>mutt</application> un correo + electrónico:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/mutt2" format="PNG"> + </imageobject> + </mediaobject> + + <para>Al igual que ocurre con &man.mail.1; + <application>mutt</application> permite que los usuarios contesten al + remitente de cualquier mensaje así como a los demás + receptores. Para responder sólo al remitente se puede utilizar + la tecla <keycap>r</keycap>. Para responder a un grupo, es decir a + todos los receptores y al remitente del correo + eletrónico pulse <keycap>g</keycap>.</para> + + <note> + <para><application>mutt</application> tiene &man.vi.1; + como editor por defecto para crear y responder a los mensajes de + correo eletrónico. Si prefiere emplear otro editor + modifique el valor de la variable <literal>editor</literal> en + <filename>.muttrc</filename>.</para> + </note> + + <para>Para escribir un mensaje de correo presione la tecla + <keycap>m</keycap>. Después de escribir el asunto + <application>mutt</application> ejecuta &man.vi.1; y el cuerpo del + mensaje puede escribirse. Una vez escrito el correo + salga de <command>vi</command> y <application>mutt</application> se + ejecutará de nuevo mostrando por pantalla un resumen del + correo que está a punto de ser enviado. Para enviar ese + correo hay que pulsar <keycap>y</keycap>. Este es un ejemplo de + uno de esos resúmenes:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/mutt3" format="PNG"> + </imageobject> + </mediaobject> + + <para><application>mutt</application> también contiene una amplia + ayuda a la que se accede desde la mayoría de los + menús pulsando la tecla <keycap>?</keycap>. La primera + lína de la pantalla también muestra las teclas de + método abreviado cuando es posible utilizarlas.</para> + </sect2> + + <sect2 id="pine-command"> + <title>pine</title> + + <para><application>pine</application> es una aplicación de correo + enfocada a los usuarios principiantes o inexpertos pero + también incluye algunas características avanzadas.</para> + + <warning> + <para>Se han descubierto en <application>pine</application> varias + vulnerabilidades que pueden explotarse de forma remota. + Esas vulnerabilidades permiten que atacantes remotos puedan ejecutar + código como si fueran usuarios locales del sistema + mediante el envío de correos con un formato determinado. + Todos los problemas <emphasis>conocidos</emphasis> se han + resuelto pero el código de <application> + pine</application> está escrito de una forma insegura y el + <quote>Security Officer</quote> de &os; opina que es probable que + existan todavía vulnerabilidades sin descubrir. Si decide + instalar <application>pine</application> + debe asumir los riesgos que ello puede implicar.</para> + </warning> + + <para>La versión actual de <application>pine</application> se + puede instalar utilizando el port <filename + role="package">mail/pine4</filename>. Una vez que se ha instalado + <application>pine</application> se puede ejecutar mediante el siguiente comando:</para> + + <screen>&prompt.user; <userinput>pine</userinput></screen> + + <para>La primera vez que se ejecuta <application>pine</application> se + muestra un mensaje de bienvenida con una pequeña + introducción a la herramienta junto con una petición del + equipo de desarrollo de <application>pine</application> en la que se + solicita que se envíe un correo de forma anónima + un correo de forma anónima para que puedan hacerse una idea s + de cuántos usuarios están utilizando + la herramienta. Para enviar dicho correo hay que presionar la tecla + <keycap>Enter</keycap>, o bien puede pulsar + la tecla <keycap>E</keycap> para salir de la ventana de bienvenida + sin enviar dicho correo. A continuación se muestra un ejemplo + de la página de bienvenida:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine1" format="PNG"> + </imageobject> + </mediaobject> + + <para>Los usuarios disponen de un menú principal, que puede + navegarse utilizando las flechas. Este menú proporciona + atajos para la composición de nuevos correos, para navegar a + través de las carpetas de correo, e incluso para + la administración de la libreta de direcciones. Justo debajo + del menú principal, se muestran las teclas de método + abreviado (atajos) que pueden utilizarse en cada momento.</para> + + <para>El directorio por defecto que <application>pine</application> + intenta abrir es <filename + role="directory">inbox</filename>. Para ver el índice de + todos los mensajes recibidos pulse la tecla + <keycap>I</keycap> o seleccione la opción de menú + denominada + <guimenuitem>MESSAGE INDEX</guimenuitem> como se muestra a + continuación:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine2" format="PNG"> + </imageobject> + </mediaobject> + + <para>El índice muestra los mensajes en el directorio actual y + puede navegarse en él utilizando las teclas + del cursor. El mensaje seleccionado se puede leer presionando la + tecla <keycap>Enter</keycap>.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine3" format="PNG"> + </imageobject> + </mediaobject> + + <para>En la captura de pantalla que se muestra a continuación se + muestra un mensaje de ejemplo. Las teclas de atajo se muestran + como referencia en la parte baja de la pantalla. Un ejemplo de dichas + teclas de método abreviado es la tecla <keycap>r</keycap> que + permite responder al mensaje que se muestra en dicho momento.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine4" format="PNG"> + </imageobject> + </mediaobject> + + <para>La contestación a un mensaje de correo eletrónico + en <application>pine</application> se realiza mediante el editor + <application>pico</application>, que se instala por defecto junto con + <application>pine</application>. <application>pico</application> + permite navegar de forma sencilla por los distintos mensajes de + correo y es ligeramente más sencilla de manejar + que &man.vi.1;, sobre todo para los usuarios noveles. Una vez que se + ha escrito la réplica al correo se envía pulsando + la tecla + <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap> + </keycombo>. <application>pine</application> pedirá + confirmación antes de enviarlo.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine5" format="PNG"> + </imageobject> + </mediaobject> + + <para><application>pine</application> puede configurarse utilizando la + entrada <guimenuitem>SETUP</guimenuitem> del menú principal. + Se ruega consultar <ulink + url="http://www.washington.edu/pine/"></ulink> + para obtener más información.</para> + + </sect2> + </sect1> + + <sect1 id="mail-fetchmail"> + <sect1info> + <authorgroup> + <author> + <firstname>Marc</firstname> + <surname>Silver</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Manejo de fetchmail</title> + + <indexterm> + <primary>Uso de fetchmail</primary> + </indexterm> + + <para><application>fetchmail</application> es un cliente de + <acronym>IMAP</acronym> y <acronym>POP</acronym> que permite a + los usuarios descargar automáticamente el correo de cuentas + remotas en servidores + <acronym>IMAP</acronym> y <acronym>POP</acronym> y almacenarlos + en carpetas de correo locales; una vez en local, se puede acceder a los + correos de una forma más sencilla y utilizando multitud de + programas cliente. + <application>fetchmail</application> se puede instalar a partir del port + <filename role="package">mail/fetchmail</filename>. Veamos algunas de + sus características más útiles:</para> + + <itemizedlist> + <listitem> + <para>Suporte de <acronym>POP3</acronym>, + <acronym>APOP</acronym>, <acronym>KPOP</acronym>, + <acronym>IMAP</acronym>, <acronym>ETRN</acronym> y + <acronym>ODMR</acronym>.</para> + </listitem> + + <listitem> + <para>Puede reenviar correo utilizando <acronym>SMTP</acronym> lo que + permite que las reglas de filtrado, reenvío y + <quote>aliasing</quote> funcionen correctamente.</para> + </listitem> + + <listitem> + <para>Se puede ejecutar en modo dæmon comprobar + periódicamente el correo entrante.</para> + </listitem> + + <listitem> + <para>Puede recuperar correo de múltiples carpetas y reenviarlos, en función de la configuración establecida, + a varios usuarios locales.</para> + </listitem> + </itemizedlist> + + <para>Queda fuera del objetivo de este documento explicar todas las + características de + <application>fetchmail</application> pero algunas de ellas se exponen a + ontinuación. + <application>fetchmail</application> usa un fichero de + configuración denominado + <filename>.fetchmailrc</filename>. Este fichero incluye + información sobre el servidor de correo remoto y los datos + necesarios para poder hacer login en él. Debido a la naturaleza + sensible de la información que se almacena en dicho fichero + se recomienda modificar los permisos para que sea de sólo + sea legible por su propietario. Lo conseguirá mediante el + siguiente comando:</para> + + <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen> + + <para>El siguiente ejemplo muestra un fichero de configuración + <filename>.fetchmailrc</filename>. + Este ejemplo sirve para automatizar la descarga del correo de un + determinado usuario mediante <acronym>POP</acronym>. El fichero de + configuración hace que + <application>fetchmail</application> se conecte a <hostid + role="fqdn">ejemplo.com</hostid> utilizando como nombre de usuario + <username>joesoap</username> y como contraseña + <literal>XXX</literal>. En el ejemplo se asume que el usuario + <username>joesoap</username> también es un usuario válido + en el sistema local.</para> + + <programlisting>poll ejemplo.com protocol pop3 username "joesoap" password "XXX"</programlisting> + + <para>El siguiente ejemplo permite a <application>fetchmail</application> + conectarse a múltiples servidores + <acronym>POP</acronym> e <acronym>IMAP</acronym> y redirige los correos + a diferentes usuarios locales en función + de la configuración establecida:</para> + + <programlisting>poll ejemplo.com proto pop3: +user "joesoap", with password "XXX", is "jsoap" here; +user "andrea", with password "XXXX"; +poll ejemplo.net proto imap: +user "john", with password "XXXXX", is "myth" here;</programlisting> + + <para><application>fetchmail</application> se puede ejecutar en modo + dæmon mediante el parámetro <option>-d</option> seguido + seguido por un intervalo de tiempo (expresado en segundos) + que indica cada cuánto tiempo debe + <application>fetchmail</application> interrogar a los distintos + servidores listados en <filename>.fetchmailrc</filename>. + El siguiente ejemplo hace que + <application>fetchmail</application> interroge cada 60 segundos:</para> + + <screen>&prompt.user; <userinput>fetchmail -d 60</userinput></screen> + + <para>Se puede encontrar más información sobre + <application>fetchmail</application> en <ulink + url="http://www.catb.org/~esr/fetchmail/"></ulink>.</para> + </sect1> + + <sect1 id="mail-procmail"> + <sect1info> + <authorgroup> + <author> + <firstname>Marc</firstname> + <surname>Silver</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Uso de procmail</title> + + <indexterm> + <primary>Uso de procmail</primary> + </indexterm> + + <para><application>procmail</application> es una aplicación + increíblemente potente que se utiliza para filtrar el correo de + entrada. + Permite a los usuarios definir <quote>reglas</quote> que se asocian + con correos entrantes y que realizan funciones concretas, como + reencaminar el correo a carpetas o direciones alternativas. + <application>procmail</application> se puede instalar utilizando el port + <filename role="package">mail/procmail</filename>. Una vez instalado, + se puede integrar directamente en la mayoría de los + <acronym>MTA</acronym>s; por favor, consulte + la documentación del <acronym>MTA</acronym> que utilice para + saber más sobre la integración entre ambos. + Por otro lado <application>procmail</application> se puede integrar + con el <acronym>MTA</acronym> que prefiera de una forma sencilla + añadiendo la siguiente línea al + fichero <filename>.forward</filename> dentro del directorio home del + usuario que desée usar <application> + procmail</application>:</para> + + <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting> + + <para>La siguiente sección muestra algunas reglas básicas de + <application>procmail</application>, junto con una breve + descripción de las acciones que realizan. + Estas reglas, y muchas otras se deben insertar dentro del fichero + <filename>.procmailrc</filename> ubicado en el directorio home del + usuario.</para> + + + <para>En la página man de <quote>procmailex</quote> se explica + la mayoría de estas reglas.</para> + + <para>Reenvío de todo el correo proveniente de + <literal>usuario@ejemplo.com</literal> hacia la + dirección externa <literal>correodefiar@ejemplo.com</literal>:</para> + + <programlisting>:0 +* ^From.*usuario@ejemplo.com +! correodefiar@ejemplo.com</programlisting> + + <para>Reenvío de todos los correos que ocupen menos de 1000 bytes + a la dirección <literal>corredefiar@ejemplo2.com</literal>:</para> + + <programlisting>:0 +* < 1000 +! correodefiar@ejemplo2.com</programlisting> + + <para>Envío de todos los correos dirigidos a + <literal>opcional@ejemplo.com</literal> + hacia una carpeta de correo llamada <filename>opcional</filename>:</para> + + <programlisting>:0 +* ^TOopcional@ejemplo.com +opcional</programlisting> + + <para>Envío de todos los correos con un asunto que contenga la + palabra <quote>Spam</quote> al + dispositivo <filename>/dev/null</filename>:</para> + + <programlisting>:0 +^Subject:.*Spam +/dev/null</programlisting> + + <para>Una útil receta para examinar mensajes de correo provenientes + de listas de distribución de + <hostid role="domainname">&os;.org</hostid> y poner cada mensaje en + el directorio apropiado en función del origen del mensaje:</para> + + <programlisting>:0 +* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG +{ + LISTNAME=${MATCH} + :0 + * LISTNAME??^\/[^@]+ + FreeBSD-${MATCH} +}</programlisting> + </sect1> + </chapter> <!-- @@ -107,6 +2575,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml b/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml index c4db5d5a2e..e52f455ae8 100755 --- a/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml,v 1.2 2004/08/25 18:38:41 carvay Exp $ --> @@ -24,6 +25,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml index 474ff0c135..2f57d9d77e 100755 --- a/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml,v 1.2 2004/10/08 19:17:35 jesusr Exp $ --> @@ -511,7 +512,7 @@ vvlVQ0UbcR0N2+5F6Mb5GqrXZpIesn7jFJpkQKPU sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml b/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml index ea62afaefb..117dc39471 100755 --- a/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.2 2004/10/08 21:26:03 jesusr Exp $ --> <chapter id="ports"> diff --git a/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml b/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml index 663003ebee..c63a2ac5cc 100755 --- a/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml,v 1.2 2004/10/08 19:17:35 jesusr Exp $ --> <chapter id="quotas"> @@ -237,7 +238,7 @@ Disk quotas for user test (uid 1002): sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/security/chapter.sgml b/es_ES.ISO8859-1/books/handbook/security/chapter.sgml index b9a23516a9..ce65008d95 100755 --- a/es_ES.ISO8859-1/books/handbook/security/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/security/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/security/chapter.sgml,v 1.3 2004/08/25 18:46:11 carvay Exp $ --> <chapter id="security"> @@ -206,6 +207,31 @@ <link linkend="security-intro"> sección anterior</link> a este capítulo.</para> + <sect2 id="security-ssh-tunneling"> + <title>Encapsulado SSH</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>encapsulado</secondary> + </indexterm> + <para> </para> + </sect2> + + <sect2 id="firewalls"> + <title>Cortafuegos</title> + <indexterm> + <primary>Firewalls</primary> + </indexterm> + <para> </para> + </sect2> + + <sect2 id="ipsec"> + <title>IPsec</title> + <indexterm> + <primary>IPsec</primary> + </indexterm> + <para> </para> + </sect2> + <sect2 id="seuring-root-and-staff"> <title>Asegurando la cuenta <username>root</username> y las cuentas de staff</title> @@ -320,6 +346,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml index 790525b797..f1b3ff04fd 100755 --- a/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml @@ -2,14 +2,87 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.4 2004/10/08 19:06:36 jesusr Exp $ --> <chapter id="serialcomms"> <title>Comunicaciones Serie</title> - <para>Comunicaciones Serie</para> + <para>Pendiente de Traducción</para> + + <sect1 id="serial"> + <title>Introducción</title> + + <sect2 id="serial-terminology"> + <title>Terminología</title> + + <para>Pendiente de Traducción</para> + + </sect2> + + <sect2 id="serial-cables-ports"> + <title>Cables y Puertos</title> + + <para>Pendiente de Traducción</para> + + + <sect3 id="term-cables"> + <title>Cables</title> + + <sect4 id="term-cables-null"> + <title>Cables <quote>null-modem</quote></title> + + <indexterm> + <primary>cable <quote>null-modem</quote></primary> + </indexterm> + <para>Pendiente de Traducción</para> + </sect4> + </sect3> + </sect2> + </sect1> + + + <sect1 id="term"> + <sect1info> + <authorgroup> + <author> + <firstname>Sean</firstname> + <surname>Kelly</surname> + <contrib>Escrito por </contrib> + </author> + <!-- 28 July 1996 --> + </authorgroup> + </sect1info> + <title>Terminales</title> + + <indexterm><primary>terminales</primary></indexterm> + + <para>Pendiente de Traducción</para> + + <sect2 id="term-config"> + <title>Configuración de Terminales</title> + <indexterm> + <primary>Configuración de Terminales</primary> + </indexterm> + <para>Pendiente de Traducción</para> + <sect3 id="term-hup"> + <title>Cómo Forzar <command>init</command> a que Lea + de Nuevo <filename>/etc/ttys</filename></title> + + <para>Pendiente de Traducción</para> + </sect3> + + <sect3 id="term-etcttys"> + <title>Cómo Añadir una entrada a + <filename>/etc/ttys</filename></title> + + <para>Pendiente de Traducción</para> + </sect3> + </sect2> + + </sect1> </chapter> <!-- @@ -19,6 +92,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml b/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml index ef959663eb..fa86fccf24 100755 --- a/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml @@ -2,6 +2,7 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml,v 1.2 2004/10/08 19:17:35 jesusr Exp $ --> @@ -796,7 +797,7 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> diff --git a/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml b/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml index 79b7f589e3..47118f4ab0 100755 --- a/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml @@ -2,13 +2,1868 @@ The FreeBSD Documentation Project $FreeBSD$ + $FreeBSDes: doc/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml,v 1.4 2004/10/08 19:11:21 jesusr Exp $ --> - +<!-- version en ingles traducida: 1.150 --> <chapter id="x11"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Ken</firstname> + <surname>Tom</surname> + <contrib>Actualizado al servidor X11 de X.Org por </contrib> + </author> + <author> + <firstname>Marc</firstname> + <surname>Fonvieille</surname> + </author> + </authorgroup> + </chapterinfo> + <title>El sistema X Window</title> - <para>El sistema X Window</para> + <sect1 id="x11-synopsis"> + <title>Sinopsis</title> + + <para>FreeBSD usa X11 para proporcionar una potente interfaz + gráfica. X11 es una implementación de código + abierto del sistema X Window que incluye + <application>&xorg;</application> y + <application>&xfree86;</application>. En las versiones de &os; + hasta &os; 4.10-RELEASE y &os; 5.3-RELEASE el sistema + X window que se instalará por defecto es + <application>&xfree86;</application>, el servidor X11 + distribuido por el proyecto &xfree86;. Despues de &os; 5.3-RELEASE + el sistema X Window ha cambiado a <application>&xorg;</application>, + el servidor X11 distribuido por la fundación X.Org.</para> + + <para>Este capítulo cubre la instalación y + configuración de X11 poniendo énfasis en + <application>&xorg;</application>.</para> + + <para>Para mas información del hardware de vídeo + que X11 soporta consulte la página web de <ulink + url="http://www.x.org/">&xorg;</ulink> o <ulink + url="http://www.XFree86.org/">&xfree86;</ulink>.</para> + + + <para>Después de leer este capítulo usted + sabrá:</para> + + <itemizedlist> + <listitem> + <para>Los diferentes componentes del sistema X Window y como + interoperan.</para> + </listitem> + + <listitem> + <para>Cómo instalar y configurar X11.</para> + </listitem> + + <listitem> + <para>Cómo instalar y usar diferentes gestores de ventanas.</para> + </listitem> + + <listitem> + <para>Cómo usar fonts (tipos de letra) &truetype; en X11.</para> + </listitem> + + <listitem> + <para>Como preparar su sistema para iniciar la sesión de forma + gráfica (<application>XDM</application>).</para> + </listitem> + </itemizedlist> + + <para>Antes de leer este capítulo debería:</para> + + <itemizedlist> + <listitem> + <para>Saber cómo instalar software de terceros + (<xref linkend="ports">).</para> + </listitem> + </itemizedlist> + + <note> + <para>Este capítulo cubre la instalación y + configuración de los servidores X11 + <application>&xorg;</application> y + <application>&xfree86;</application>. La mayoría, + ficheros de configuración, comandos y sintaxis son + idénticos. En los casos en que haya diferencias se + mostrará la sintaxis de + <application>&xorg;</application> y + <application>&xfree86;</application>.</para> + </note> + + </sect1> + + <sect1 id="x-understanding"> + <title>Entender X</title> + + <para>Usar X por primera vez puede resultar chocante para alguien + familiarizado con otros entornos gráficos, como µsoft.windows; + o &macos;.</para> + + <para>No es necesario entender todos los detalles de los diferentes + componentes de X y como interaccionan, un conocimiento básico + hace posible obtener mayor provecho de la potencia de + X.</para> + + <sect2> + <title>¿Por qué X?</title> + + <para>X no es el primer sistema de ventanas escrito para &unix; + pero es el más popular de ellos. El equipo original que + desarrolló X trabajó en otro sistema de ventanas + antes de escribir X. Ese sistema se llamó <quote>W</quote> + (de <quote>Window</quote> que significa ventana en inglós). + X era solo la siguiente letra en el alfabeto Romano.</para> + + <para>X se puede llamar <quote>X</quote> + <quote>X Window System</quote>, <quote>X11</quote> y de otras + formas. También es posible usar el termino + <quote>X Windows</quote> para describir X11 si lo que quiere es + ofender a algunas personas; si quiere saber más sobre esto + consulte &man.X.7;.</para> + </sect2> + + <sect2> + <title>El modelo cliente/servidor de X</title> + + <para>X fue diseñado desde el principio pensando en redes + y adoptó un modelo <quote>cliente-servidor</quote>.</para> + + <para>En el modelo de X el <quote>servidor X</quote> se ejecuta sobre el + ordenador que tiene el teclado, monitor y ratón. El servidor + es responsable de manejar la pantalla, la entrada de datos a + través del teclado, el ratón, etc. Cada + aplicación X (como una <application>XTerm</application> o + <application>&netscape;</application>) es un + <quote>cliente</quote>. Un cliente manda mensajes al servidor como + <quote>Por favor dibuja una ventana en estas coordenadas</quote> y el + servidor devuelve mensajes como <quote>El usuario ha pulsado el + botón OK</quote>.</para> + + <para>Sí solo hay un ordenador involucrado, como en una + casa o una pequeńa oficina, el servidor X y los clientes + X seguramente correran en el mismo ordenador. Sin embargo, es + perfectamente posible correr el servidor X en un ordenador de + escritorio menos potente, y correr las aplicaciones X (los + clientes) en, por ejemplo, la potente y cara máquina que sirve + la oficina. En este panorama la comunicación entre el + cliente X y el servidor tiene lugar a través de la red.</para> + + <para>Esto confunde a algunas personas, porque la terminología es + exactamente opuesta a lo que ellos esperan. Ellos esperan que el + <quote>servidor X</quote> sea la máquina grande que hay en el + sótano y que el <quote>cliente X</quote> sea la máquina + de su mesa.</para> + + <para>Es importante que recuerde que el servidor X es la + máquina con el monitor y el teclado y que los clientes + X son los programas que muestran las ventanas.</para> + + <para>No hay nada en el protocolo que obligue a que el cliente y el + servidor tengan que usar el mismo sistema operativo o incluso que + estén en el mismo ordenador. Es posible ejecutar un servidor X + en µsoft.windows; o en el &macos; de Apple; de hecho hay varias + aplicaciones libres y comerciales que hacen exactamente eso.</para> + + <para>A partir de &os; 5.3-RELEASE, el servidor X que se instala + con &os; es <application>&xorg;</application> que es libre y + se distribuye bajo una licencia muy similar a la de &os;. + También hay servidores X comerciales para &os;.</para> + </sect2> + + <sect2> + <title>El gestor de ventanas</title> + + <para>La filosofía de diseño de X es más parecida + a la de &unix;: <quote>herramientas, no política</quote>. Esto + significa que X no impone cómo una tarea debe hacerse. En + lugar de eso proporciona herramientas al usuario y es responsabilidad + suya decidir qué hacer con ellas.</para> + + <para>Esta filosofía se extiende a X; no impone como deben verse + las ventanas en la pantalla, cómo moverlas con el ratón, + que teclas deberían usarse para moverse entre ventanas + (por ejemplo <keycombo action="simul"> + <keycap>Alt</keycap> + <keycap>Tab</keycap> + </keycombo>, en µsoft.windows;), cómo deben ser las + barras de título en cada ventana, si tienen o no botón + de cierre, etc.</para> + + <para>En lugar de eso X delega esta responsabilidad en una + aplicación llamada <quote>gestor de ventanas</quote>. Hay + docenas de gestores de ventanas disponibles para X: + <application>AfterStep</application>, + <application>Blackbox</application>, <application>ctwm</application>, + <application>Enlightenment</application>, + <application>fvwm</application>, <application>Sawfish</application>, + <application>twm</application>,<application>Window Maker</application>, + etc. Cada uno de estos gestores de ventanas tiene un aspecto + diferente; algunos soportan <quote>escritorios virtuales</quote>; + otros permiten personalizar las teclas para manejar el escritorio; + otros tienen un botón de <quote>Inicio</quote> o algo similar; + otros tienen <quote>diseńos modificables</quote>, permitiendo + un cambio completo del aspecto mediante un nuevo + diseńo. Estos gestores de ventanas, y muchos otros, + están disponibles en la categoría + <filename>x11-wm</filename> de los ports.</para> + + <para>Además, los entornos de escritorio + <application>KDE</application> y <application>GNOME</application> + tienen sus propios gestores de ventanas integrados con el + escritorio.</para> + + <para>Cada gestor de ventanas tiene diferentes mecanismos de + configuración; en algunos debe escribir el fichero de + configuración a mano, otros tienen herramientas gráficas + para la mayor parte de la configuración; y al menos uno + (<application>Sawfish</application>) tiene un fichero de + configuración escrito en el lenguaje Lisp.</para> + + <note> + <title>Política de foco</title> + + <para>Otra responsabilidad del gestor de ventanas es la + <quote>política de foco</quote> del ratón. Todos los + sistemas de ventanas necesitan algo para elegir una ventana activa + que recibirá los eventos y también debieran indicar + visiblemente que ventana esta activa. + </para> + + <para>Una política familiar podría ser + <quote>clic-para-foco</quote>. Este es el modelo utilizado por + µsoft.windows;, en el que una ventana se convierte en activa + al recibir un clic del ratón. + </para> + + <para>X no tiene ninguna política de foco. En lugar de eso el + gestor de ventanas controla qué ventana tiene el foco en todo + momento. Los diferentes gestores de ventanas tienen diferentes + políticas de foco. Todos soportan la política + <quote>clic-para-foco</quote> y la mayoría de ellos + también soportan otros métodos.</para> + + <para>Las políticas de foco más populares son:</para> + + <variablelist> + <varlistentry> + <term>el-foco-sigue-al-ratón</term> + + <listitem> + <para>La ventana que esta bajo el puntero del ratón es + la ventana que tiene el foco. No es necesario que la ventana + esté encima de las demás ventanas. El foco se + cambia al apuntar a otra ventana, aunque no es necesario hacer + clic en ella.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>foco-descuidado</term> + + <listitem> + <para>Esta política es una pequeńa + extensión de + <quote>el-foco-sigue-al-ratón</quote>. Con + <quote>el-foco-sigue-al-ratón</quote>, si el + ratón se mueve sobre la ventana raíz (o fondo) + entonces ninguna ventana tiene el foco y las pulsaciones del + teclado se perderán. Con la política + <quote>foco-descuidado</quote> el foco sólo cambia + cuando el cursor entra en una nueva ventana y no cuando + sale de la ventana actual.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>click-para-foco</term> + + <listitem> + <para>La ventana activa se selecciona con un clic del + ratón. La ventana se puede <quote>levantar</quote> + y aparecer delante de las demás ventanas. Todas las + pulsaciones de teclado serán redirigidas a esa ventana + aunque el cursor se mueva a otra ventana.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Muchos gestores de ventanas soportan otras políticas o + variaciones de estas. Consulte la documentación del propio + gestor de ventanas.</para> + </note> + </sect2> + + <sect2> + <title>Widgets</title> + + <para>La idea de X es hacer herramientas en vez de política + y se extiende a los <quote>widgets</quote> que se ven en la pantalla + de cada aplicación.</para> + + <para><quote>Widget</quote> es un término para todos los objetos + en el interfaz de usuario que pueden ser pulsados con el ratón + o manipulados de alguna forma: botones, <quote>check boxes</quote>, + iconos, listas, etc. µsoft.windows; los llama + <quote>controles</quote>.</para> + + <para>µsoft.windows; y &macos; de Apple tienen una política + de <quote>widgets</quote> muy rígida. Se supone que los + desarrolladores de aplicaciones comparten el aspecto. En X no se + consideró imponer un estilo gráfico o un conjunto de + <quote>widgets</quote> al que adherirse.</para> + + <para>Como resultado no se puede esperar que las aplicaciones de X + tengan un aspecto común. Hay varios conjuntos de + <quote>widgets</quote> y variaciones muy populares como el + <quote>widget</quote> Athena creado en el MIT, + <application>&motif;</application> (donde los <quote>widgets</quote> de + µsoft.windows; fueron modelados, con todos los bordes biselados y + tres tonos de gris), <application>OpenLook</application>, y + otros.</para> + + <para>Las aplicaciones más modernas de X hoy en día usan un + conjunto de <quote>widgets</quote> con mejor aspecto, o Qt, usado por + <application>KDE</application>, o GTK+, usado + por el proyecto <application>GNOME</application>. Se intenta que el + aspecto del escritorio de &unix; sea parecido, lo que hace la vida + más fácil al usuario novato.</para> + </sect2> + </sect1> + + <sect1 id="x-install"> + <title>Instalar X11</title> + + <para>Se puede instalar <application>&xorg;</application> o + <application>&xfree86;</application> en + &os;. A partir de &os; 5.3-RELEASE + <application>&xorg;</application> es la implementación X11 por + defecto para &os;. <application>&xorg;</application> es el + servidor X11 de la distribución X11R6.7 lanzado por la + fundación X.Org. X11R6.7 esta basado en el código + de <application>&xfree86; 4.4RC2</application> y + X11R6.6. La fundación X.Org lanzó X11R6.7 en + abril de 2004.</para> + + <para>Para compilar e instalar <application>&xorg;</application> + desde la colección de ports:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <note> + <para>Para compilar e instalar <application>&xorg;</application> + completamente, asegúrese de tener como mínimo + 2GB de espacio disponible.<para> + </note> + + <para>Para compilar e instalar + <application>&xfree86; 4.X</application> desde la + colección de ports:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/XFree86-4</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>También, X11 se puede instalar directamente + desde paquetes. También existen paquetes + binarios para usar con la herramienta &man.pkg.add.1;. Cuando + se usa la opción de bajar binarios de &man.pkg.add.1; la + versión del paquete no se tiene que + especificar. &man.pkg.add.1; descargará automáticamente + la última versión de la aplicación.</para> + + <para>Así que para descargar e instalar el paquete de + <application>&xorg;</application> simplemente escriba:</para> + + <screen>&prompt.root; <userinput>pkg-add -r XFree86</userinput></screen> + + <note><para>Los ejemplos anteriores instalará la distribución + completa de X11 incluyendo servidores, clientes, <quote>fonts</quote>, + etc. También hay paquetes separados y ports para + las diferentes partes de X11.</para></note> + + <para>El resto de este capítulo explicará cómo + configurar X11 y cómo instalar un entorno de escritorio + productivo.</para> + +<!-- La forma mas sencilla es desde sysinstall para XFree86 4.X --> + <sect2 id="x-to-xorg"> + <title>Cómo Sustituír <application>&xfree86;</application> + por <application>&xorg;</application></title> + + <para>Como con cualquier port debería usted consultar el + fichero <filename>/usr/ports/UPDATING</filename> para ver los + cambios. En este fichero se incluyen instrucciones para + convertir su sistema de <application>&xfree86;</application> a + <application>&xorg;</application>.</para> + + <para>Use <application>CVSup</application> para actualizar su + árbol de ports antes de intentar cualquier migración + de este estilo. También necesitará instalar + <filename role="package">sysutils/portupgrade</filename>.</para> + + <para>Ańada en su <filename>/etc/make.conf</filename> la + variable <literal>X_WINDOW_SYSTEM=xorg</literal>. Esto asegura + que su sistema sepa que sistema X window se esta usando. La antigua + variable <literal>XFREE86_VERSION</literal> esta obsoleta y se ha + reemplazado con la variable <literal>X_WINDOW_SYSTEM</literal>.</para> + + <para>Hecho esto use los siguientes comandos:</para> + +<screen>&prompt.root; <userinput>pkg_delete -f /var/db/pkg/imake-4* /var/db/pkg/XFree86-*</userinput> +&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput> +&prompt.root; <userinput>make install clean</userinput> +&prompt.root; <userinput>pkgdb -F</userinput></screen> + + <para>El comando &man.pkgdb.1; es parte del software + <application>portupgrade</application> y actualizará + varias dependencias del paquete.</para> + <note> + <para>Si desea compilar <application>&xorg;</application> + al completo asegúrese de tener como mínimo + 2GB de espacio disponible.<para> + </note> + </sect2> + </sect1> + + <sect1 id="x-config"> + <sect1info> + <authorgroup> + <author> + <firstname>Christopher</firstname> + <surname>Shumway</surname> + <contrib>Escrito por </contrib> + <!-- Julio 2001 --> + </author> + </authorgroup> + </sect1info> + <title>Configuración de X11</title> + + + <indexterm><primary>&xfree86; 4.X</primary></indexterm> + <indexterm><primary>&xfree86;</primary></indexterm> + <indexterm><primary>&xorg;</primary></indexterm> + <indexterm><primary>X11</primary></indexterm> + + <sect2> + <title>Antes de empezar</title> + + <para>Antes de configurar X11 necesitará la siguiente + información sobre el sistema:</para> + + <itemizedlist> + <listitem><para>Especificaciones del monitor</para></listitem> + <listitem><para>Chipset de la tarjeta de vídeo</para></listitem> + <listitem><para>Memoria de la tarjeta de vídeo</para></listitem> + </itemizedlist> + + <indexterm><primary>horizontal scan rate</primary></indexterm> + <indexterm><primary>vertical scan rate</primary></indexterm> + + <para>X11 usa las especificaciones del + monitor para determinar la resolución y la frecuencia de + refresco a la que funcionará. Estas especificaciones se + pueden obtener de la documentación que viene con el monitor o + de la web del creador. Se necesitan dos rangos de números: la + frecuencia de refresco horizontal y vertical.</para> + + <para>El chipset de la tarjeta de vídeo define que controlador + utilizará X11 para hablar con el hardware + gráfico. Con la mayoría de chipsets es posible + detectarlo automáticamente pero es útil saberlo en + caso de que la detección automática no funcione de forma + correcta.</para> + + <para>La memoria de la tarjeta gráfica determina la + resolución y la profundidad de color a la que el sistema + funcionará. Es importante saberlo, así el usuario + conoce las limitaciones del sistema.</para> + + </sect2> + + <sect2> + <title>Configurar X11</title> + + <para>La configuración de X11 + es un proceso de varios pasos. El primer paso es + generar una configuración inicial. Como super usuario + simplemente ejecute:</para> + + <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen> + + <para>En el caso de <application>&xfree86;</application> escriba:</para> + + <screen>&prompt.root; <userinput>XFree86 -configure</userinput></screen> + + <para>Esto generará el esqueleto del fichero de + configuración de X11 en el + directorio <filename>/root</filename> con el nombre + <filename>xorg.conf.new</filename> (si usted usó + &man.su.1; o hizo un login directo afecta a la variable + <envar>$HOME</envar>). En <application>&xfree86;</application> + este fichero de configuración se llama + <filename>XF86Config.new</filename>. El programa X11 + intentará encontrar el hardware gráfico del sistema + y escribirá el fichero de configuración que + cargará los controladores adecuados que se han + detectado.</para> + + <para>El siguiente paso es probar la configuración para + verificar que <application>&xorg;</application> puede trabajar con + el hardware gráfico del sistema. Escriba:</para> + + <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen> + + <para>Los usuarios de <application>&xfree86;</application> + deben escribir:</para> + + <screen>&prompt.root; <userinput>XFree86 -xf86config XF86Config.new</userinput></screen> + + <para>Si aparece una rejilla negra y gris junto con el cursor del + ratón de X la configuración ha tenido + éxito. Para salir de la prueba pulse + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>Retroceso</keycap> + </keycombo> a la vez.</para> + + <note><para>Si el ratón no funciona tendrá que + configurarlo antes de continuar. Consulte <xref linkend="mouse"> + en el capítulo de instalación de &os;.</para></note> + + <indexterm><primary>X11 Tuning</primary></indexterm> + + <para>Después, modifique + <filename>xorg.conf.new</filename> (o + <filename>XF86Config.new</filename> si está utilizando + <application>&xfree86;</application>) a su + gusto. Abra el fichero con un editor de texto como &man.emacs.1; o + &man.ee.1;. Primero ańada las frecuencias del monitor. Estas + suelen estar expresadas en frecuencia de refresco horizontal y + vertical. Estos valores se ańaden al fichero + <filename>xorg.conf.new</filename> en la sección + <literal>"Monitor"</literal>:</para> + + <programlisting>Section "Monitor" + Identifier "Monitor0" + VendorName "Monitor Vendor" + ModelName "Monitor Model" + HorizSync 30-107 + VertRefresh 48-120 +EndSection</programlisting> + + <para>Las palabras <literal>HorizSync</literal> y + <literal>VertRefresh</literal> podrían no existir en el + fichero de configuración. Si no existen es necesario + ańadirlas con la frecuencia horizontal correcta puesta + después de la palabra <literal>HorizSync</literal> y la + frecuencia vertical correcta después de la palabra + <literal>VertRefresh</literal>. En el ejemplo anterior se pusieron + las frecuencias del monitor.</para> + + <para>X permite usar las características DPMS (Energy Star) + con los monitores que lo soportan. El programa &man.xset.1; controla + el <quote>timeout</quote>, y puede forzar los modos + <quote>standby</quote>, suspendido, o apagado. Si desea habilitar las + características DPMS para su monitor tendrá que + ańadir la siguiente línea en la sección + <literal>monitor</literal>:</para> + + <programlisting> + Option "DPMS"</programlisting> + + <indexterm> + <primary><filename>xorg.conf</filename></primary> + </indexterm> + <indexterm> + <primary><filename>XF86Config</filename></primary> + </indexterm> + + <para>Mientras el fichero de configuración + <filename>xorg.conf.new</filename> (o + <filename>XF86Config.new</filename>) sigue abierto en el editor + seleccione la resolución por defecto y la profundidad de color + deseada. Esto se define en la sección + <literal>"Screen"</literal>:</para> + + <programlisting>Section "Screen" + Identifier "Screen0" + Device "Card0" + Monitor "Monitor0" + DefaultDepth 24 + SubSection "Display" + Viewport 0 0 + Depth 24 + Modes "1024x768" + EndSubSection +EndSection</programlisting> + <para>La palabra <literal>DefaultDepth</literal> describe la profundidad + de color a la que arrancará por defecto. Esto puede + sobrescribirse con el argumento <command>-bpp</command> de &man.Xorg.1; + (o &man.XFree86.1;). La + palabra <literal>Modes</literal> describe la resolución a la + que funcionará para esa profundidad de color. Observe que solo + los modos estándar VESA están soportados por el hardware + gráfico. En el ejemplo anterior la profundidad de color es + 24 bits por pixel. En esta profundidad de color la resolución + aceptada es 1024 por 768 pixels.</para> + + <para>Para acabar guarde el fichero de configuración y + pruébelo usando el modo de prueba descrito anteriormente.</para> + + <note> + <para>Una de las herramientas disponibles para ayudarle con el + proceso de solución de problemas es el fichero de + <quote>logs</quote>, que contiene información de cada + dispositivo al que el servidor X11 se conecta. Los + <quote>logs</quote> (o bitácoras) de + <application>&xorg;</application> se pueden encontrar en + <filename>/var/log/Xorg.0.log</filename> + (los <quote>logs</quote> de <application>&xfree86;</application> + se pueden encontrar en <filename>XFree86.0.Log</filename>). + El nombre exacto del fichero de <quote>log</quote> puede variar + entre <filename>Xorg.0.log</filename> y + <filename>Xorg.8.log</filename> y así + sucesivamente.</para> + </note> + + <para>Si todo es correcto el fichero de configuración tiene que + instalarse en un lugar donde &man.Xorg.1; (o &man.XFree86.1;) lo + encuentre. Este lugar es normalmente + <filename>/etc/X11/xorg.conf</filename> o + <filename>/usr/X11R6/etc/X11/xorg.conf</filename> (para + <application>&xfree86;</application> es + <filename>/etc/X11/XF86Config</filename> o + <filename>/usr/X11R6/etc/X11/XF86Config</filename>).</para> + + <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen> + + <para>Para <application>&xfree86;</application>:</para> + + <screen>&prompt.root; <userinput>cp XF86Config.new /etc/X11/XF86Config</userinput></screen> + + <para>El proceso de configuración de X11 ahora está + completo. Para arrancar <application>&xfree86; 4.X</application> + con &man.startx.1;, instale el port + <filename role="package">x11/wrapper</filename>. + <application>&xorg;</application> incluye el c´digo del + <quote>wrapper</quote> y no necesita que se instale el port del + <quote>wrapper</quote>. El servidor X11 también se puede + arrancar mediante &man.xdm.1;.</para> + + <note><para>También hay una herramienta gráfica para + configurar &man.xorgcfg.1; (&man.xf86cfg.1; para + <application>&xfree86;</application>) que viene con la + distribución X11. Permite definir la + configuración de forma interactiva y elegir los controladores + y las opciones adecuadas. Este programa también se puede usar + desde consola con el comando + <command>xorgcfg -textmode</command>. Para mas información + consulte las páginas del manual &man.xorgcfg.1; y + &man.xf86cfg.1;.</para> + + <para>También existe una herramienta llamada + &man.xorgconfig.1; (&man.xf86config.1; para + <application>&xfree86;</application>). Este programa es una + utilidad de consola que es menos atractiva para el usuario pero + que puede funcionar en situaciones donde las otras herramientas + no sirven.<para></note> + + </sect2> + + <sect2> + <title>Configuración avanzada</title> + + <sect3> + <title>Configuración de chipsets gráficos &intel; + i810</title> + + <indexterm><primary>Intel i810 graphic chipset</primary></indexterm> + + <para>Para configurar los chipsets integrados &intel; i810 es + necesario el interfaz de programación AGP + <devicename>agpart</devicename> para que + X11 pueda usarla. El controlador + &man.agp.4; viene con el kernel <filename>GENERIC</filename> desde + 4.8-RELEASE y 5.0-RELEASE. En las versiones anteriores es necesario + ańadir la siguiente línea:</para> + + <programlisting>device agp</programlisting> + + <para>en el fichero de configuración de su kernel y + recompilarlo. Aunque quizá prefiera cargar el módulo + del kernel <filename>agp.ko</filename> automáticamente con + &man.loader.8; al arrancar. Si es su caso simplemente ańada + la siguiente línea a + <filename>/boot/loader.conf</filename>:</para> + + <programlisting>agp_load="YES"</programlisting> + + <para>Si usted usa FreeBSD 4.X o alguna versión anterior + es necesario crear el fichero de dispositivo para el + interfaz de programación. Para crear el fichero de + dispositivo AGP ejecute &man.MAKEDEV.8; en el directorio + <filename>/dev</filename>:</para> + + <screen>&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV agpart</userinput></screen> + + <note> + <para>En FreeBSD 5.X o posterior no necesita ejecutar este comando + debido a que &man.devfs.5; lo hace + automáticamente.</para> + </note> + + <para>Esto permitirá la configuración del hardware como + si fuese cualquier otra tarjeta. Tenga en cuenta que en sistemas + sin el controlador &man.agp.4; compilado intentar cargarlo con + &man.kldload.8; no funcionará. Este controlador tiene que + estar compilado en el kernel o cargarse en el arranque mediante + <filename>/boot/loader.conf</filename>.</para> + + <para>Si esta usando <application>&xfree86; 4.1.0</application> (o + superior) y obtiene mensajes sobre símbolos sin resolver como + <literal>fbPictureInit</literal>, pruebe añadiendo la + siguiente línea después de + <literal>Driver "i810"</literal> en el fichero de + configuración de X11:</para> + <programlisting>Option "NoDDC"</programlisting> + </sect3> + </sect2> + </sect1> + <sect1 id="x-fonts"> + <sect1info> + <authorgroup> + <author> + <firstname>Murray</firstname> + <surname>Stokely</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>Uso de <quote>fonts</quote> en X11</title> + + <sect2 id="type1"> + <title>Fonts Type1</title> + + <para>Las <quote>fonts</quote> que vienen por defecto con + X11 no son ideales para las + aplicaciones típicas. Las <quote>fonts</quote> largas para + presentaciones aparecen dentadas y con un aspecto poco profesional + y las <quote>fonts</quote> pequeñas en + <application>&netscape;</application> son prácticamente + ilegibles. Sin embargo hay varias <quote>fonts</quote> libres + Type1 de alta calidad (&postscript;) que se pueden usar con + X11. Por ejemplo las <quote>fonts</quote> URW + (<filename role="package">x11-fonts/urwfonts</filename>) incluyen + una versión de alta calidad de las fonts estándar Type1 + (<trademark class="registered">Times Roman</trademark>, + (<trademark class="registered">Helvetica</trademark>, + (<trademark class="registered">Palatino</trademark>, y muchas otras). + Las Freefonts (<filename role="package">x11-fonts/freefonts</filename>) + incluyen muchas más pero la mayoría están + pensadas para usarse con software gráfico como el + <application>Gimp</application> y no son lo bastante completas para + usarse como <quote>fonts</quote> de pantalla. Además X11 se + puede configurar para usar <quote>fonts</quote> &truetype; con un + esfuerzo mínimo. Para más detalles sobre esto consulte + la página del manual &man.X.7; o la + <link + linkend="truetype">sección de fonts &truetype;</link>.</para> + + <para>Para instalar las anteriores <quote>fonts</quote> Type1 desde los + ports ejecute los siguientes comandos:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Proceda del mismo modo con las FreeFonts o cualesquiera otras. + Para que el servidor X las detecte ańada la siguiente + línea al fichero de configuración de las X en + <filename>/etc/X11/</filename> (<filename>xorg.conf</filename> para + <application>&xorg;</application> y + <filename>XF86Config</filename> para + <application>&xfree86;</application>):</para> + + <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/URW/"</programlisting> + + <para>o bien desde la interfaz de comandos en una sesión + X:</para> + + <screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/URW</userinput> +&prompt.user; <userinput>xset fp rehash</userinput></screen> + + <para>Esto funcionará hasta que la sesión X se cierre a + menos que lo ańada a su fichero de inicio + (<filename>~/.xinitrc</filename> para una sesión + <command>startx</command> normal o <filename>~/.xsession</filename> + si hace login desde un gestor gráfico como + <application>XDM</application>). Una tercera forma sería + usando el nuevo fichero + <filename>/usr/X11R6/etc/fonts/local.conf</filename>: + mire la sección de <link + linkend="antialias">anti-aliasing</link>. + </para> + </sect2> + + <sect2 id="truetype"> + <title>Fonts &truetype;</title> + + <indexterm><primary>TrueType Fonts</primary></indexterm> + <indexterm><primary>fonts</primary> + <secondary>TrueType</secondary> + </indexterm> + + <para>Tanto <application>&xfree86; 4.X</application> como + <application>&xorg;</application> se diseñaron + para soportar <quote>fonts</quote> &truetype;. Hay dos módulos + diferentes que pueden habilitar esta opción. El módulo + freetype se usa en en este ejemplo porque es más consistente + con el resto de <quote>back-ends</quote> de representación. + Para habilitar el módulo + freetype solo ańada la siguiente línea a la + sección <literal>"Module"</literal> del fichero + <filename>/etc/X11/xorg.conf</filename> o + <filename>/etc/X11/XF86Config</filename>.</para> + + <programlisting>Load "freetype"</programlisting> + + <para>Para <application>&xfree86; 3.3.X</application> hace falta un + servidor de <quote>fonts</quote> &truetype; separado. Normalmente se + usa <application>Xfstt</application> para este propósito. Para + instalar <application>Xfstt</application>, simplemente instale el port + <filename role="package">x11-server/Xfstt</filename>.</para> + + <para>Ahora haga un directorio para las fonts &truetype; (por ejemplo + <filename>/usr/X11R6/lib/X11/fonts/TrueType</filename>) y copie todas + las fonts &truetype; en este directorio. Recuerde que las + <quote>fonts</quote> &truetype; no se pueden coger directamente de + un &macintosh;; tienen que estar en formato &unix;/&ms-dos;/&windows; + para usarlas con X11. Una vez que los ficheros + se hayan copiado en este directorio use + <application>ttmkfdir</application> para crear un fichero + <filename>fonts.dir</filename>, para que el representador de fuentes + de X sepa que se han instalado estos ficheros + nuevos. <command>ttmkfdir</command> esta disponible desde los ports + de &os; como <filename role="package">x11-fonts/ttmkfdir</filename>. + </para> + +<screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/TrueType</userinput> +&prompt.root; <userinput>ttmkfdir > fonts.dir</userinput></screen> + + <para>Ahora ańada el directorio &truetype; a la ruta de + <quote>fonts</quote>. Esto es igual que lo anteriormente descrito + las <quote>fonts</quote> <link linkend="type1">Type1</link>: + ejecute:</para> + +<screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/TrueType</userinput> +&prompt.user; <userinput>xset fp rehash</userinput></screen> + + + <para>o ańada una línea <literal>FontPath</literal> al + fichero <filename>xorg.conf</filename> + (o <filename>XF86Config</filename>).</para> + + <para>Esto es todo. Ahora <application>&netscape;</application>, + <application>Gimp</application>, + <application>&staroffice;</application> y el resto de aplicaciones X + debieran reconocer las <quote>fonts</quote> &truetype; instaladas. + Las fonts muy pequeńas (como el texto en una pantalla con alta + resolución viendo una página web) y las + <quote>fonts</quote> muy grandes (Dentro de + <application>&staroffice;</application>) se verán + muchísimo mejor ahora.</para> + </sect2> + + <sect2 id="antialias"> + <sect2info> + <authorgroup> + <author> + <firstname>Joe Marcus</firstname> + <surname>Clarke</surname> + <contrib>Actualizado por </contrib> + <!-- Mayo 2003 --> + </author> + </authorgroup> + </sect2info> + <title>Fonts Anti-Aliased</title> + + <indexterm><primary>anti-aliased fonts</primary></indexterm> + <indexterm><primary>fonts</primary> + <secondary>anti-aliased</secondary></indexterm> + + <para>Las <quote>fonts anti-aliasing</quote> han estado disponibles en + X11 desde + <application>&xfree86;</application> 4.0.2. Aunque la + configuración de las <quote>fonts</quote> era incómoda + antes de + <application>&xfree86;</application> 4.3.0. A partir de + <application>&xfree86;</application> 4.3.0 todas las + <quote>fonts</quote> de X11 que se encuentren en + <filename>/usr/X11R6/lib/X11/fonts/</filename> y + <filename>~/.fonts/</filename> están disponibles + automáticamente para aplicaciones que soporten Xft. No todas + las aplicaciones soportan Xft pero muchas ya tienen soporte + Xft. Ejemplos de aplicaciones que lo soportan son Qt 2.3 o superior + (el <quote>toolkit</quote> del escritorio + <application>KDE</application>), GTK+ 2.0 o superior (el + <quote>toolkit</quote> del escritorio <application>GNOME</application>) + y <application>Mozilla</application> 1.2 o superior. + </para> + + <para>Para controlar qué <quote>fonts</quote> son + <quote>anti-aliasing</quote> o configurar las propiedades + <quote>anti-aliasing</quote> crée (o edite, si ya existe) + el fichero + <filename>/usr/X11R6/etc/fonts/local.conf</filename>. Se pueden + modificar diversas opciones avanzadas del sistema de fonts Xft usando + este fichero; esta sección describe solo algunas posibilidades + simples. Para más detalles consulte &man.fonts-conf.5;.</para> + + <indexterm><primary>XML</primary></indexterm> + + <para>Este fichero tiene que estar en formato XML. Preste especial + atención a las mayúsculas y minúsculas y + asegúrese de que las etiquetas están cerradas + correctamente. El fichero empieza con la típica cabecera XML + seguida de una definición DOCTYPE y después la etiqueta + <literal><fontconfig></literal>:</para> + + <programlisting> + <?xml version="1.0"?> + <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> + <fontconfig> + </programlisting> + + <para>Como se ha dicho antes todas las fonts en + <filename>/usr/X11R6/lib/X11/fonts/</filename> y en + <filename>~/.fonts/</filename> están ya disponibles para las + aplicaciones que soporten Xft. Si usted desea ańadir otro + directorio además de estos dos árboles de directorios + ańada una línea similar a esta en el fichero + <filename>/usr/X11R6/etc/fonts/local.conf</filename>:</para> + + <programlisting><dir>/path/to/my/fonts</dir></programlisting> + + <para>Después de ańadir las nuevas <quote>fonts</quote>, + y en especial los nuevos directorios de <quote>fonts</quote>, + debería usted ejecutar el siguiente comando para + reconstruir la caché de <quote>fonts</quote>:</para> + + <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen> + + <para>Las <quote>fonts anti-aliasing</quote> hacen los bordes + ligeramente borrosos, lo que hace que el texto muy + pequeńo sea más legible y elimina los escalones del + texto grande pero puede causar fatiga visual aplicada al texto + normal. Para excluir las <quote>fonts</quote> de menos de 14 + puntos del <quote>anti-aliasing</quote> incluya las siguientes + líneas:</para> + + <programlisting> <match target="font"> + <test name="size" compare="less"> + <double>14</double> + </test> + <edit name="antialias" mode="assign"> + <bool>false</bool> + </edit> + </match> + <match target="font"> + <test name="pixelsize" compare="less" qual="any"> + <double>14</double> + </test> + <edit mode="assign" name="antialias"> + <bool>false</bool> + </edit> + </match></programlisting> + + <indexterm><primary>fonts</primary> + <secondary>spacing</secondary></indexterm> + + <para>El espacio entre algunas <quote>fonts</quote> también + podría ser inapropiado con <quote>anti-aliasing</quote>. Esto + parece un problema con <application>KDE</application> en particular. + Una posible solución para esto es forzando que el espacio entre + las <quote>fonts</quote> sea 100. Ańada las siguientes + líneas:</para> + + <programlisting> <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>fixed</string> + </test> + <edit name="family" mode="assign"> + <string>mono</string> + </edit> + </match> + <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>console</string> + </test> + <edit name="family" mode="assign"> + <string>mono</string> + </edit> + </match></programlisting> + + <para>(Esto selecciona los otros nombres comunes para + <quote>fonts fixed</quote> como <literal>"mono"</literal>) y + después ańada:</para> + + <programlisting> <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>mono</string> + </test> + <edit name="spacing" mode="assign"> + <int>100</int> + </edit> + </match> </programlisting> + + <para>Algunas <quote>fonts</quote>, como Helvetica, podrían tener + problemas con <quote>anti-aliasing</quote>. Normalmente esto se + manifiesta como una <quote>font</quote> que parece cortada + verticalmente por la mitad. En el peor de los casos podría + causar que el funcionamiento de aplicaciones como + <application>Mozilla</application> se interrumpiese. Para evitar + esto considere ańadir lo siguiente a + <filename>local.conf</filename>: + </para> + + <programlisting> <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>Helvetica</string> + </test> + <edit name="family" mode="assign"> + <string>sans-serif</string> + </edit> + </match> </programlisting> + + <para>Una vez que haya terminado de editar + <filename>local.conf</filename> asegúrese de que el fichero + termina con la etiqueta <literal></fontconfig></literal>. No + hacer esto causará que sus cambios sean ignorados.</para> + + <para>Las <quote>fonts</quote> por defecto que vienen con + X11 no son las ideales para <quote>anti-aliasing</quote>. + Unas mucho mejores pueden encontrarse en el port + <filename role="package">x11-fonts/bitstream-vera</filename>. Este + port instalará el fichero + <filename>/usr/X11R6/etc/fonts/local.conf</filename> si aun no se ha + creado. Si el fichero existe el port creara el fichero + <filename>/usr/X11R6/etc/fonts/local.conf-vera</filename>. Combine + el contenido de este fichero con + <filename>/usr/X11R6/etc/fonts/local.conf</filename> y las fonts + Bitstream reemplazarán automáticamente las + <quote>fonts</quote> por defecto con X11 Serif, Sans Serif y + Monospaced.</para> + + <para>Por si esto fuera poco los usuarios pueden ańadir sus + propios ajustes mediante sus ficheros personales + <filename>.fonts.conf</filename>. Los usuarios que deseen hacerlo + deberán crear un fichero <filename>~/.fonts.conf</filename>. + Este fichero tiene que estar también en formato XML.</para> + + <indexterm><primary>LCD screen</primary></indexterm> + <indexterm><primary>Fonts</primary> + <secondary>LCD screen</secondary></indexterm> + + <para>Un último punto: con una pantalla LCD sería + deseable un muestreo de subpixel. Esto básicamente trata los + componentes (separados horizontalmente) rojo, verde y azul para + mejorar la resolución horizontal; los resultados pueden ser + impresionantes. Para habilitar esto ańada la siguiente + línea al fichero + <filename>local.conf</filename>:</para> + + <programlisting> + <match target="font"> + <test qual="all" name="rgba"> + <const>unknown</const> + </test> + <edit name="rgba" mode="assign"> + <const>rgb</const> + </edit> + </match> + </programlisting> + + <note><para>Dependiendo del tipo de pantalla <literal>rgb</literal> + podría ser <literal>bgr</literal> o <literal>vrgb</literal> o + <literal>vbgr</literal>: experimente y elija cual funciona + mejor.</para></note> + + <indexterm><primary>Mozilla</primary></indexterm> + <indexterm><primary>web browsers</primary> + <secondary>Mozilla</secondary> + <see>Mozilla</see></indexterm> + + <para>Una vez concluido el proceso <quote>anti-aliasing</quote> se + debería activar la próxima vez que arranque X, aunque + los programas necesitan saber como utilizarlo. En + este momento el <quote>toolkit</quote> Qt sabe, así que + <application>KDE</application> entero puede usar + <quote>fonts anti-aliasing</quote> (consulte + <xref linkend="x11-wm-kde-antialias"> en + <application>KDE</application> para más detalle). GTK+ y + <application>GNOME</application> también pueden usar + <quote>fonts anti-aliasing</quote> mediante <quote>Font</quote> + (consulte <xref + linkend="x11-wm-gnome-antialias"> para más detalle). Por + defecto <application>Mozilla</application> + 1.2 o superior usará automáticamente + <quote>fonts anti-aliasing</quote>. Para deshabilitarlas + recompile <application>Mozilla</application> usando el + parámetro <makevar>-DWITHOUT_XFT</makevar>.</para> + </sect2> + </sect1> + + <sect1 id="x-xdm"> + <sect1info> + <authorgroup> + <author> + <firstname>Seth</firstname> + <surname>Kingsley</surname> + <contrib>Escrito por </contrib> + </author> + </authorgroup> + </sect1info> + <title>El gestor de pantalla X</title> + <sect2> + <title>Descripción</title> + + <indexterm><primary>X Display Manager</primary></indexterm> + <para>El gestor de pantalla X (<application>XDM</application>) es una + parte opcional del sistema X Window que se usa para el manejo de + sesiones. Esto es útil para diferentes situaciones tales como + <quote>Terminales X</quote> con escritorios mínimos y grandes + servidores de red. Como X Window System es independiente + del protocolo y de la red hay muchas posibles configuraciones para + ejecutar clientes y servidores X en diferentes equipos conectados a + una red. <application>XDM</application> da un interfaz + gráfico para elegir a qué pantalla se quiere + conectar y pedir la información de autenticación como + el nombre de usuario y le contraseńa.</para> + + <para>Piense en <application>XDM</application> como proveedor de la + misma funcionalidad que la utilidad &man.getty.8; (consulte + <xref linkend="term-config"> para más detalles). Esto quiere + decir que se encarga de los ingresos del sistema en la pantalla a la + que está conectado y arranca el gestor de sesiones para el + usuario (normalmente un gestor de ventanas + X). <application>XDM</application> entonces espera a que este programa + termine, seńalando que el usuario ha terminado y que + se debería desconectar de la pantalla. En este punto + <application>XDM</application> puede mostrar las pantallas de entrada + al sistema y de selección de pantalla para que el siguiente + usuario intente acceder al sistema.</para> + </sect2> + + <sect2> + <title>Uso de XDM</title> + + <para>El dæmon <application>XDM</application> se encuentra en + <filename>/usr/X11R6/bin/xdm</filename>. Este programa se puede + arrancar en cualquier momento como <username>root</username> y + empezará a gestionar la pantalla X en la máquina + local. Si se quiere que <application>XDM</application> arranque cada + vez que la máquina se encienda puede hacerlo añadiendo + una entrada a <filename>/etc/ttys</filename>. Para más + información sobre el formato y uso de este fichero consulte <xref + linkend="term-etcttys">. Hay una línea en el fichero + <filename>/etc/ttys</filename> por defecto para arrancar el dæmon + <application>XDM</application> en una terminal virtual:</para> + + <screen>ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</screen> + + <para>Por defecto esta entrada esta deshabilitada; para habilitarla + cambie el campo 5 de <literal>off</literal> a <literal>on</literal> y + reinicie &man.init.8; usando los pasos descritos en <xref + linkend="term-hup">. El primer campo es el nombre de la terminal que + este programa manejará: <literal>ttyv8</literal>. Esto + significa que <application>XDM</application> empezará a + ejecutarse en la terminal virtual número 9.</para> + </sect2> + + <sect2> + <title>Configurar XDM</title> + + <para>El directorio de configuración de + <application>XDM</application> esta en + <filename>/usr/X11R6/lib/X11/xdm</filename>. En este directorio hay + varios ficheros usados para cambiar el comportamiento y la apariencia + de <application>XDM</application>. Normalmente encontrará + estos ficheros:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Fichero</entry> + <entry>Descripción</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename>Xaccess</filename></entry> + <entry>Reglas de acceso para clientes.</entry> + </row> + + <row> + <entry><filename>Xresources</filename></entry> + <entry>Recursos de X por defecto.</entry> + </row> + + <row> + <entry><filename>Xservers</filename></entry> + <entry>Lista de pantallas locales y remotas a gestionar.</entry> + </row> + + <row> + <entry><filename>Xsession</filename></entry> + <entry><quote>script</quote> por defecto para el acceso al + sistema.</entry> + </row> + + <row> + <entry><filename>Xsetup_</filename>*</entry> + <entry><quote>script</quote> para lanzar aplicaciones antes del + acceso al sistema.</entry> + </row> + + <row> + <entry><filename>xdm-config</filename></entry> + <entry>Configuración de todas las pantallas de + este equipo.</entry> + </row> + + <row> + <entry><filename>xdm-errors</filename></entry> + <entry>Errores generados por el programa servidor.</entry> + </row> + + <row> + <entry><filename>xdm-pid</filename></entry> + <entry>El ID de proceso del XDM que está + funcionando.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>En este directorio también hay unos cuantos programas y + <quote>scripts</quote> usados para arrancar el escritorio cuando + <application>XDM</application> se está ejecutando. + El objetivo de cada uno de estos ficheros será descrito + brevemente. La sintaxis exacta y el uso de todos estos ficheros + se describe en &man.xdm.1;.</para> + + <para>La configuración por defecto es una simple ventana + rectangular de acceso al sistema con el nombre de la máquina + en la parte superior en un tipo de letra grande y + <quote>Login:</quote> y <quote>Password:</quote> debajo. Este es un + buen punto para aprender a cambiar el aspecto de las pantallas + de <application>XDM</application>.</para> + + <sect3> + <title>Xaccess</title> + + <para>El protocolo para conectar con las pantallas controlada por + <application>XDM</application> se llama X Display Manager Connection + Protocol (XDMCP). Este fichero es un conjunto de reglas para + controlar las conexiones XDMCP desde otros equipos. Por defecto + permite a cualquier cliente conectar pero eso no importa a menos + que <filename>xdm-config</filename> se cambie para escuchar + conexiones remotas.</para> + </sect3> + + <sect3> + <title>Xresources</title> + + <para>Este es el fichero de opciones por defecto para el selector de + pantalla y acceso al sistema. Aquí es donde se puede + modificar la apariencia del programa de <quote>login</quote>. + El formato es idéntico al fichero de opciones por defecto + descrito en la documentación de X11.</para> + </sect3> + + <sect3> + <title>Xsession</title> + + <para>Este es el <quote>script</quote> de sesión que por defecto + <application>XDM</application> arrancará después de + que el usuario acceda al sistema. Normalmente cada usuario + tendrá una versión personalizada del + <quote>script</quote> de sesión en + <filename>~/.xsession</filename> que sobreescribe el + <quote>script</quote> por defecto.</para> + </sect3> + + <sect3> + <title>Xsetup_*</title> + + <para>Estos se arrancarán automáticamente antes de que se + muestre el interfaz de selección o de acceso al sistema. + Hay un <quote>script</quote> por cada gestor de ventanas disponible + llamados <filename>Xsetup_</filename> seguido por el + número de pantalla local (por ejemplo + <filename>Xsetup_0</filename>). Normalmente estos + <quote>scripts</quote> arrancan uno o dos programas en segundo plano, + por ejemplo <command>xconsole</command>.</para> + </sect3> + + <sect3> + <title>xdm-config</title> + + <para>Este fichero contiene las opciones por defecto aplicables a + todas las pantallas que gestiona esta instalación.</para> + </sect3> + + <sect3> + <title>xdm-errors</title> + <para>Este fichero contiene la salida de los servidores X que + <application>XDM</application> intente arrancar. Si alguna pantalla + que <application>XDM</application> intente arrancar se cuelga por + alguna razón este es un buen sitio para buscar los mensajes + de error. Estos mensajes también se escriben en el fichero + <filename>~/.xsession-errors</filename> del usuario en cada + sesión.</para> + </sect3> + </sect2> + + <sect2> + <title>Ejecutar un servidor de pantalla a través de la red</title> + + <para>Para que otros clientes puedan conectar al servidor de pantalla + edite las reglas de acceso y habilite la escucha en la + conexión. Por defecto tiene valores restrictivos. Para + hacer que <application>XDM</application> escuche conexiones + primero comente una línea en el fichero + <filename>xdm-config</filename>:</para> + + <screen>! SECURITY: do not listen for XDMCP or Chooser requests +! Comment out this line if you want to manage X terminals with xdm +DisplayManager.requestPort: 0</screen> + + <para>y después reinicie <application>XDM</application>. Recuerde + que los comentarios en los ficheros de opciones por defecto + comienzan con el carácter<quote>!</quote> en + vez del típico <quote>#</quote>. Sería deseable usar + accesos de control mas restrictivos. Mire las opciones de ejemplo en + <filename>Xaccess</filename>, y la página del manual + &man.xdm.1;.</para> + </sect2> + + <sect2> + <title>Alternativas a XDM</title> + + <para>Hay algunas alternativas al programa por defecto + <application>XDM</application>. Una de ellas, + <application>kdm</application>, (que se incluye con + <application>KDE</application>) se describe después en este + capítulo. <application>kdm</application> ofrece muchas ventajas + visuales y funcionalidad para permitir a los usuarios elegir su + gestor de ventanas en el momento del acceso al sistema.</para> + </sect2> + </sect1> + + <sect1 id="x11-wm"> + <sect1info> + <authorgroup> + <author> + <firstname>Valentino</firstname> + <surname>Vaschetto</surname> + <contrib>Escrito por </contrib> + </author> + <!-- Junio 2001 --> + </authorgroup> + </sect1info> + + <title>Entornos de escritorio</title> + + <para>Está sección describe los diferentes entornos de + escritorio disponibles para X en &os;. Un <quote>entorno de + escritorio</quote> puede ser cualquier cosa que vaya desde un simple + gestor de ventanas hasta una completa <quote>suite</quote> de + aplicaciones de escritorio tales como <application>KDE</application> o + <application>GNOME</application>.</para> + + <sect2 id="x11-wm-gnome"> + <title>GNOME</title> + + <sect3 id="x11-wm-gnome-about"> + <title>Sobre GNOME</title> + <indexterm><primary>GNOME</primary></indexterm> + <para><application>GNOME</application> es un entorno de escritorio + amigable que permite a los usuarios una configuración + fácil de sus sistemas. <application>GNOME</application> + incluye un panel (para iniciar las aplicaciones y mostrar su + estado), un escritorio (donde pueden colocarse los datos y las + aplicaciones), un conjunto de herramientas y aplicaciones de + escritorio estándar y un conjunto de convenciones para + facilitar la creación de aplicaciones que sean consistentes y + colaboren unas con otras. Los usuarios de otros sistemas operativos + o entornos pueden sentirse como en casa utilizando el poderoso + entorno gráfico + <application>GNOME</application>. Encontrará más + información sobre <application>GNOME</application> en &os; + en la página <ulink url="http://www.FreeBSD.org/gnome">del + Proyecto FreeBSD GNOME</ulink>.</para> + </sect3> + + <sect3 id="x11-wm-gnome-install"> + <title>Instación de GNOME</title> + + <para>La manera más sencilla de instalar + <application>GNOME</application> es escogerlo en el menú + <quote>Desktop Configuration</quote> durante el proceso de + instalación de &os; tal y como se describe en <xref + linkend="default-desktop"> del capítulo 2. También + puede instalarse fácilmente desde paquetes + pre-compilados o desde la colección de ports:</para> + + <para>Para instalar el paquete de <application>GNOME</application> + desde la red, simplemente teclee:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen> + + <para>Para compilar <application>GNOME</application> a partir del + código fuente utilice el árbol de ports:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Una vez <application>GNOME</application> esté instalado + debe indicarle al servidor X como iniciar + <application>GNOME</application> para convertirlo en el gestor de + ventanas predeterminado. Sí dispone ya de un archivo + <filename>.xinitrc</filename> personalizado simplemente sustituya + la línea que inicia su actual gestor de ventanas por + <application>/usr/X11R6/bin/gnome-session</application>. + Si entonces no pasa nada extrańo con su fichero de + configuración basta con que teclee:</para> + +<screen>&prompt.user; <userinput>echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrc</userinput></screen> + + <para>Después teclee <command>startx</command> y debería + iniciarse el entorno de escritorio + <application>GNOME</application>.</para> + + <note><para>Sí está utilizando un gestor de pantalla como + <application>XDM</application> lo anterior no funcionará. + Cree un archivo ejecutable + <filename>.xsession</filename> con el mismo comando en + él. Para hacerlo edite el archivo y sustituya el comando + para iniciar su actual gestor de ventanas por + <application>/usr/X11R6/bin/gnome-session</application>: + </para></note> + + <screen>&prompt.user; <userinput>echo "#!/bin/sh" > ~/.xsession</userinput> +&prompt.user; <userinput>echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession</userinput> +&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen> + + <para>Otra opción es configurar el gestor de pantalla para que + permita seleccionar el gestor de ventanas durante el acceso; + la sección de <link + linkend="x11-wm-kde-details">detalles de KDE</link> explica como + hacerlo para <application>kdm</application>, el gestor de pantalla + de <application>KDE</application>.</para> + </sect3> + + + <sect3 id="x11-wm-gnome-antialias"> + <title><quote>Fonts Anti-aliased</quote> en GNOME</title> + + <indexterm><primary>GNOME</primary> + <secondary>anti-aliased fonts</secondary></indexterm> + <para>X11 soporta <quote>anti-aliasing</quote> a + través de la extensión <quote>RENDER</quote>. Gtk+ 2.0 + y superiores (el <quote>toolkit</quote> utilizado por + <application>GNOME</application>) disponen de esta funcionalidad. La + configuración del <quote>anti-aliasing</quote> se describe en + <xref linkend="antialias">. Una vez configurado el software es + posible utilizar <quote>anti-aliasing</quote> en el entorno de + escritorio <application>GNOME</application>. Sólamente vaya a + <menuchoice> + <guimenu>Applications</guimenu> + <guisubmenu>Desktop Preferences</guisubmenu> + <guimenuitem>Font</guimenuitem></menuchoice>, + y seleccione entre + <guibutton>Best shapes</guibutton>, + <guibutton>Best contrast</guibutton>, o + <guibutton>Subpixel smoothing (LCDs)</guibutton>. Para una + aplicación Gtk+ que no forme parte del escritorio + <application>GNOME</application>, establece la variable de entorno + <varname>GDK_USE_XFT</varname> a <literal>1</literal> antes de iniciar + el programa.</para> + </sect3> + </sect2> + + <sect2 id="x11-wm-kde"> + <title>KDE</title> + + <indexterm><primary>KDE</primary></indexterm> + <sect3 id="x11-wm-kde-about"> + <title>Sobre KDE</title> + + <para><application>KDE</application> es un entorno de escritorio + contemporáneo y fácil de usar. Alguna de las cosas que + <application>KDE</application> brinda al usuario son:</para> + + <itemizedlist> + <listitem> + <para>Un bello escritorio contemporáneo</para> + </listitem> + + <listitem> + <para>Un escritorio completamente transparente en red</para> + </listitem> + + <listitem> + <para>Un sistema de ayuda integrado que facilita un adecuado y + consistente acceso a la ayuda durante el uso del escritorio + <application>KDE</application> y sus aplicaciones</para> + </listitem> + + <listitem> + <para>Un aspecto consistente de todas las aplicaciones + <application>KDE</application></para> + </listitem> + + <listitem> + <para>Menús y barras de herramientas estándar, teclas + programables, esquemas de color, etc.</para> + </listitem> + + <listitem> + <para>Internacionalización: <application>KDE</application> + está disponible en más de 40 idiomas</para> + </listitem> + + <listitem> + <para>Un diálogo de configuración del escritorio + centralizado y consistente</para> + </listitem> + + <listitem> + <para>Un gran número de aplicaciones + <application>KDE</application> útiles.</para> + </listitem> + </itemizedlist> + + <para><application>KDE</application> posee una suite ofimática + basada en la tecnología <application>KDE</application> + <quote>KParts</quote> que consta de una hoja de cálculo, una + aplicación para presentaciones, un organizador, un cliente de + notícias y mucho más. <application>KDE</application> + también viene con un navegador web llamado + <application>Konqueror</application>, un + sólido competidor frente a otros navegadores existentes en los + sistemas &unix;. Puede encontrarse más información + sobre <application>KDE</application> en el <ulink + url="http://www.kde.org/"> sitio web de KDE </ulink>. Para + información específica y recursos de + <application>KDE</application> en &os; consulte el sitio web del + <ulink + url="http://freebsd.kde.org/">equipo FreeBSD-KDE</ulink>.</para> + </sect3> + + <sect3 id="x11-wm-kde-install"> + <title>Instalar KDE</title> + + <para>Igual que con <application>GNOME</application> o cualquier otro + entorno de escritorio la manera más fácil de instalar + <application>KDE</application> es escogerlo en el menú + <quote>Desktop Configuration</quote> durante el proceso de + instalación de &os; tal y como se describe en <xref + linkend="default-desktop"> del capítulo 2. Una vez + más el software puede ser fácilmente instalado desde + un paquete binario o desde la colección de ports:</para> + + <para>Para instalar el paquete binario <application>KDE</application> + desde la red simplemente teclee:</para> + + <screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen> + + <para>&man.pkg.add.1; debería descargar automáticamente + la última versión de la aplicación.</para> + + <para>Si lo que desea es compilar <application>KDE</application> desde + el código fuente utilice el árbol de ports:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Después de haber instalado <application>KDE</application> + debe indicarle al servidor X como iniciar esta aplicación para + que se convierta en el gestor de ventanas por defecto. Esto se + consigue editando el fichero <filename>.xinitrc</filename>:</para> + + <screen>&prompt.user; <userinput>echo "exec startkde" > ~/.xinitrc</userinput></screen> + + <para>A partir de ahora cuando se llame al sistema X Window con + <command>startx</command> el escritorio debería ser + <application>KDE</application>.</para> + + <para>Sí utiliza un gestor de pantalla, como por ejemplo + <application>xdm</application>, la configuración es + ligeramente diferente. En vez de lo antedicho edite el fichero + <filename>.xsession</filename>. Las instrucciones para + <application>kdm</application> se decribirán más + adelante en este capítulo.</para> + </sect3> + </sect2> + + <sect2 id="x11-wm-kde-details"> + <title>Más detalles sobre KDE</title> + + <para>Ahora que <application>KDE</application> está instalado en + el sistema muchas cosas se pueden descubrir mediante las + páginas de ayuda o solamente seńalando y haciendo clic + en los diversos menús. Los usuarios de &windows; o &mac; + deberían sentirse como en casa.</para> + + <para>La mejor referencia para <application>KDE</application> es + la documentación on-line. <application>KDE</application> + viene con su propio navegador, <application>Konqueror</application>, + docenas de aplicaciones útiles y una extensa + documentación. El resto de esta sección trata sobre + cuestiones técnicas que son difíciles de aprender + mediante una exploración al azar.</para> + + <sect3 id="x11-wm-kde-kdm"> + <title>El gestor de pantalla de KDE</title> + + <indexterm><primary>KDE</primary> + <secondary>display manager</secondary></indexterm> + <para>El administrador de un sistema multiusuario puede desear ofrecer + a sus usuarios la bienvenida con una pantalla de acceso + gráfico. Puede utilizarse <link + linkend="x-xdm"><filename>xdm</filename></link> tal y como se ha + descrito anteriormente. Sin embargo <application>KDE</application> + incluye una alternativa, <application>kdm</application>, + diseńada para parecer atractiva e incluye + más opciones durante el acceso. En concreto los usuarios + pueden escoger fácilmente (vía menú) qué + entorno de escritorio (<application>KDE</application>, + <application>GNOME</application>, o cualquier otro) se + ejecutará después de acceder al + sistema.</para> + + <para>Para empezar ejecute el panel de control + <application>KDE</application>, <command>kcontrol</command>, como + <username>root</username>. Generalmente se considera inseguro + ejecutar el entorno X como <username>root</username>, así que + puede ejecutar el gestor de ventanas como un usuario normal, + para después abrir una terminal (por ejemplo + <filename>xterm</filename> o sin ir más lejos + <filename>konsole</filename>, incluido en + <application>KDE</application>). Conviértase en + <username>root</username> con <userinput>su</userinput> + (el usuario debe estar presente en el grupo + <groupname>wheel</groupname> en <filename>/etc/group</filename>) y + entonces teclee <userinput>kcontrol</userinput>.</para> + + <para>Haga clic en el icono de la izquierda con el nombre + <guibutton>System</guibutton>, después en <guibutton>Login + manager</guibutton>. A la derecha hay varias opciones de + configuración que el manual de + <application>KDE</application> explica detalladamente. Haga clic + en <guibutton>sessions</guibutton> a la derecha. Luego haga clic + en <guibutton>New type</guibutton> para + ańadir varios gestores de ventanas y entornos de + escritorio. Esto solo son etiquetas, así que puede poner + <application>KDE</application> y + <application>GNOME</application> en vez de + <application>startkde</application> o + <application>gnome-session</application>. + Incluya una etiqueta <literal>failsafe</literal>.</para> + + <para>Pruebe también con otros menús: son bonitos y se + explican por sí mismos. Cuando haya terminado haga clic en + <guibutton>Apply</guibutton> en la parte inferior y salga del panel + de control.</para> + + <para>Para asegurarse de que <application>kdm</application> entiende + lo que las etiquetas (<application>KDE</application>, + <application>GNOME</application> etc) significan edite los ficheros + utilizados por <link linkend="x-xdm">XDM</link>. + <note><para>En <application>KDE 2.2</application> esto ha cambiado: + <application>kdm</application> ahora usa sus propios ficheros + de configuración. Por favor, consulte la documentación + de <application>KDE 2.2</application> para más + detalles.</para> + </note> + En una terminal, como <username>root</username>, edite el fichero + <filename>/usr/X11R6/lib/X11/xdm/Xsession</filename>. Hay + una sección como esta hacia la parte central:</para> + + <screen>case $# in +1) + case $1 in + failsafe) + exec xterm -geometry 80x24-0-0 + ;; + esac +esac</screen> + + <para>Hay que ańadir unas pocas líneas a esta + sección. Asumiendo que las etiquetas usadas fuesen + <quote>KDE</quote> y <quote>GNOME</quote>, use lo siguiente:</para> + + <screen>case $# in +1) + case $1 in + kde) + exec /usr/local/bin/startkde + ;; + GNOME) + exec /usr/X11R6/bin/gnome-session + ;; + failsafe) + exec xterm -geometry 80x24-0-0 + ;; + esac +esac</screen> + + <para>Para que el fondo de escritorio de <application>KDE</application> + se mantenga a la hora de acceder al sistema los usuarios se debe + ańadir la siguiente línea a + <filename>/usr/X11R6/lib/X11/xdm/Xsetup_0</filename>:</para> + + <screen>/usr/local/bin/kdmdesktop</screen> + + <para>Ahora debe asegurarse de que <application>kdm</application> + esté activado en <filename>/etc/ttys</filename> para que + arranque en el siguiente inicio del sistema. Solo tiene que seguir + las instrucciones de la sección anterior en + <link linkend="x-xdm">XDM</link> y cambie las entradas del + programa <command>/usr/X11R6/bin/xdm</command> por + <command>/usr/local/bin/kdm</command>.</para> + </sect3> + + <sect3 id="x11-wm-kde-antialias"> + <title><quote>Fonts anti-aliased</quote></title> + + <indexterm><primary>KDE</primary> + <secondary>anti-aliased fonts</secondary></indexterm> + <para>X11 soporta <quote>anti-aliasing</quote> mediante + su extensión <quote>RENDER</quote>, y a partir de la + versión 2.3, Qt (el <quote>toolkit</quote> usado por + <application>KDE</application>) soporta esta + extensión. La configuración de esto se describe en la + <xref linkend="antialias"> en + <quote>fonts X11 antialiasing</quote>. Así, + con software al día, es posible usar <quote>fonts + anti-aliasing</quote> en el escritorio + <application>KDE</application>. Solo vaya al menú de KDE y + busque + <menuchoice> + <guimenu>Preferences</guimenu> + <guisubmenu>Look and Feel</guisubmenu> + <guimenuitem>Fonts</guimenuitem></menuchoice> y haga clic en el + <quote>check box</quote> + <guibutton>Use Anti-Aliasing for Fonts and Icons</guibutton>. + Para una aplicación que no forme parte de + <application>KDE</application> es necesario poner la variable + de entorno <varname>QT_XFT</varname> a <literal>true</literal> + antes de arrancar el programa.</para> + + </sect3> + </sect2> + + <sect2 id="x11-wm-xfce"> + <title>XFce</title> + <sect3 id="x11-wm-xfce-about"> + <title>Sobre XFce</title> + + <para><application>XFce</application> es un entorno de escritorio + basado en el <quote>toolkit</quote> GTK utilizado por + <application>GNOME</application> pero es mucho más ligero y + está pensado para aquellos que quieran un escritorio sencillo, + eficiente y fácil de utlizar y configurar. Visualmente es muy + parecido a <application>CDE</application>, que podemos encontrar + en sistemas &unix; comerciales. Alguna de las caracterésticas + de <application>XFce</application> son:</para> + + <itemizedlist> + <listitem> + <para>Un escritorio sencillo y fácil de utilizar</para> + </listitem> + + <listitem> + <para>Completamente configurable vía ratón con + arrastrar y soltar, etc</para> + </listitem> + + <listitem> + <para>Panel principal similar al de + <application>CDE</application>, con menos, + <quote>applets</quote> y accesos directos a las + aplicaciones</para> + </listitem> + + <listitem> + <para>Gestor de ventanas integrado , gestor de ficheros, gestor de + sonido, módulo de compatibilidad con + <application>GNOME</application>, y otras mucho más.</para> + </listitem> + + <listitem> + <para>Aspecto configurable (desde que utiliza GTK)</para> + </listitem> + + <listitem> + <para>Rápido, ligero y eficiente: ideal para + máquinas viejas/lentas o máquinas con limitaciones + de memoria</para> + </listitem> + </itemizedlist> + + <para>Puede encontrarse más información sobre + <application>XFce</application> en el + <ulink url="http://www.xfce.org/"> sitio web de XFce</ulink>.</para> + </sect3> + + <sect3 id="x11-wm-xfce-install"> + <title>Instalar XFce</title> + + <para>En el momento de escribir este texto existe un paquete binario + para <application>XFce</application>. Para instalarlo + simplemente escriba:</para> + + <screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen> + + <para>También puede compilarlo desde el + código usando la colección de ports:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Para indicar al servidor X que use + <application>XFce</application> la próxima vez que arranque + simplemente escriba lo siguiente:</para> + + <screen>&prompt.user; <userinput>echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrc</userinput></screen> + + <para>La próxima vez que arranque X + <application>XFce</application> será el escritorio. + Como antes, si se usa un gestor de pantalla como + <filename>xdm</filename> cree un + <filename>.xsession</filename> tal y como se ha descrito en la + anterior sección en <link + linkend="x11-wm-gnome">GNOME</link>, pero + con el comando <filename>/usr/X11R6/bin/startxfce4</filename>; + Puede configurar el gestor de pantalla para permitir elegir el + escritorio en el momento de acceder al sistema tal y como se ha + explicado en esta sección en + <link linkend="x11-wm-kde-kdm">kdm</link>.</para> + </sect3> + </sect2> + </sect1> </chapter> @@ -19,6 +1874,6 @@ sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") + sgml-parent-document: ("../book.sgml" "part" "chapter") End: --> |