git: b390920df1 - main - [doc-es][hb][advanced-networking]: Translate article

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Thu, 02 Feb 2023 08:27:41 UTC
The branch main has been updated by fernape:

URL: https://cgit.FreeBSD.org/doc/commit/?id=b390920df13271dc8cebac378e66dd1e01d3f4d7

commit b390920df13271dc8cebac378e66dd1e01d3f4d7
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2023-02-02 08:22:38 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2023-02-02 08:22:38 +0000

    [doc-es][hb][advanced-networking]: Translate article
---
 .../books/handbook/advanced-networking/_index.adoc | 5365 +++++-------
 .../books/handbook/advanced-networking/_index.po   | 8598 ++++++++++++++++++++
 2 files changed, 10496 insertions(+), 3467 deletions(-)

diff --git a/documentation/content/es/books/handbook/advanced-networking/_index.adoc b/documentation/content/es/books/handbook/advanced-networking/_index.adoc
index 361443e8b4..d5d864e3fe 100644
--- a/documentation/content/es/books/handbook/advanced-networking/_index.adoc
+++ b/documentation/content/es/books/handbook/advanced-networking/_index.adoc
@@ -1,22 +1,25 @@
 ---
-title: Capítulo 29. Networking avanzado
-part: Parte IV. Comunicaciones en red
-prev: books/handbook/network-servers
+aliases: ["/en/books/handbook/network-routing/","/en/books/handbook/network-wireless/","/en/books/handbook/network-usb-tethering/","/en/books/handbook/network-bluetooth/","/en/books/handbook/network-bridging/","/en/books/handbook/network-aggregation/","/en/books/handbook/network-diskless/","/en/books/handbook/network-ipv6/","/en/books/handbook/carp/","/en/books/handbook/network-vlan/"]
+description: 'Redes Avanzadas en FreeBSD: conceptos básicos de gateways y rutas, CARP, cómo configurar múltiples VLANs en FreeBSD, etc'
 next: books/handbook/partv
-showBookMenu: true
-weight: 34
-path: "/books/handbook/"
+part: 'IV. Comunicación de Red'
+path: /books/handbook/
+prev: books/handbook/firewalls
+showBookMenu: 'true'
+tags: ["Advanced Networking", "Handbook", "gateway", "routes", "wireless", "tethering", "bluetooth", "bridging", "ipv6", "CARP", "VLAN"]
+title: 'Capítulo 33. Redes Avanzadas'
+weight: 38
 ---
 
 [[advanced-networking]]
-= Networking avanzado
+= Redes Avanzadas
 :doctype: book
 :toc: macro
 :toclevels: 1
 :icons: font
 :sectnums:
 :sectnumlevels: 6
-:sectnumoffset: 29
+:sectnumoffset: 33
 :partnums:
 :source-highlighter: rouge
 :experimental:
@@ -47,4325 +50,2753 @@ include::../../../../../shared/asciidoctor.adoc[]
 endif::[]
 
 [[advanced-networking-synopsis]]
-== Resumen
+== Sinopsis
 
-Este capítulo cubre algunos de los servicios de red que se usan con más frecuencia en sistemas UNIX(R). Para ser más concretos este capítulo explica cómo definir, ejecutar, probar y mantener todos los servicios de red que utiliza FreeBSD. Se muestran además ejemplos de ficheros de configuración que podrá utilizar para sus propios quehaceres.
+Este capítulo cubre cierto número de temas avanzados de redes.
 
-Después de leer este capítulo habremos aprendido:
+Después de leer este capítulo, sabrás:
 
-* Los conceptos básicos de pasarelas y "routers".
-* Cómo poner en funcionamiento dispositivos IEEE 802.11 y Bluetooth(R).
-* Cómo configurar FreeBSD para que actúe como un "bridge".
-* Cómo poner en funcionamiento un sistema de ficheros en red con NFS.
-* Cómo realizar un arranque del sistema por red en máquinas sin disco duro.
-* Cómo ejecutar un servidor de información en red para compartir cuentas de usuario mediante NIS.
-* Cómo especificar parámetros de configuración automática de red utilizando DHCP.
-* Cómo ejecutar un servidor de nombres de dominio.
-* Cómo sincronizar la hora y la fecha y ejecutar un servidor horario utilizando el protocolo NTP.
-* Cómo ejecutar un servicio de traducción de direcciones de red.
-* Cómo gestionar el dæmon inetd.
-* Cómo conectar dos computadoras a través de PLIP.
-* Cómo habilitar IPv6 en una máquina FreeBSD.
-* Cómo configurar ATM sobre FreeBSD 5.X.
+* Lo básico acerca de gateways y rutas.
+* Cómo configurar tethering por USB.
+* Cómo configurar dispositivos IEEE(R) 802.11 y Bluetooth(R).
+* Cómo hacer que FreeBSD actúe como un puente.
+* Cómo configurar arranque por red PXE.
+* Cómo configurar IPv6 en una máquina FreeBSD.
+* Cómo habilitar y utilizar las características del Common Address Redundancy Protocol (CARP) en FreeBSD.
+* Cómo configurar múltiples VLANs en FreeBSD.
+* Configurar unos auriculares con micrófono vía bluetooth.
 
-Antes de leer este capítulo debería usted:
+Antes de leer este capítulo, deberías:
 
-* Intentar comprender los conceptos básicos de los scripts de [.filename]#/etc/rc#.
-* Familiarizarse con la terminología básica de redes.
+* Comprender lo básico acerca de los scripts [.filename]#/etc/rc#.
+* Estar familiarizado con la terminología básica de red.
+* Saber cómo configurar e instalar un nuevo kernel de FreeBSD (crossref:kernelconfig[kernelconfig,Configurando el Núcleo de FreeBSD]).
+* Cómo instalar software adicional de terceros (crossref:ports[ports,Instalando Aplicaciones: Paquetes y Ports]).
 
 [[network-routing]]
-== Pasarelas y "routers"
+== Gateways y Rutas
 
-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 _routing_ o _encaminamiento_. Una "ruta" es un par definido de direcciones: una dirección de "destino" y una dirección de "pasarela". Éste par indica que para llegar a dicho _destino_ debe efectuarse una comunicación previa con dicha _pasarela_. Exiten tres tipos distintos de destinos: máquinas individuales, subredes y "por defecto". La "ruta por defecto" 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 "enlaces") y direcciones hardware de ethernet (direcciones MAC).
+_Routing_ es el mecanismo que permite a un sistema encontrar el camino de red a otro sistema. Una _ruta_ es un par de direcciones definido las cuales representan el "destino" y el "gateway". La ruta indica que cuando se trata de llegar a un destino especificado, se deben enviar los paquetes a través del gateway especificado. Hay tres tipos de destinos: hosts individuales, subredes, y "default". La "ruta por defecto" se utiliza si no se puede aplicar ninguna otra ruta. También hay tres tipos de gateways: hosts individuales, interfaces, también llamados enlaces, y direcciones Ethernet (MAC). Las rutas conocidas se almacenan en una tabla de enrutamiento.
 
-=== Ejemplo
+Esta sección proporciona una visión general de aspectos básicos de enrutado. Luego muestra cómo configurar un sistema FreeBSD como un router y proporciona algunas pistas para resolver problemas.
 
-Para ilustrar diferentes aspectos del sistema de encaminamiento veamos el siguiente ejemplo obtenido mediante `netstat`.
+[[network-routing-default]]
+=== Enrutamiento Básico
+
+Para ver la tabla de enrutamiento de un sistema FreeBSD, usa man:netstat[1]:
 
-[source,shell]
+[source, shell]
 ....
 % netstat -r
 Routing tables
 
+Internet:
 Destination      Gateway            Flags     Refs     Use     Netif Expire
-
-default          outside-gw         UGSc       37      418      ppp0
+default          outside-gw         UGS        37      418       em0
 localhost        localhost          UH          0      181       lo0
-test0            0:e0:b5:36:cf:4f   UHLW        5    63288       ed0     77
+test0            0:e0:b5:36:cf:4f   UHLW        5    63288       re0     77
 10.20.30.255     link#1             UHLW        1     2421
-ejemplo.com      link#1             UC          0        0
+example.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
+host2.example.com link#1            UC          0        0
 224              link#1             UC          0        0
 ....
 
-Las primeras dos líneas especifican la ruta por defecto (la cual se comenta en la <<network-routing-default,siguiente sección>>) y la ruta de `máquina local`.
+Las entradas en este ejemplo son como sigue:
 
-La interfaz (columna `Netif`) que especifica esta tabla de rutas para el destino `localhost` se denomina [.filename]#lo0#, y también se conoce como el dispositivo de " loopback" 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ó.
-
-Lo siguiente que podemos observar son las direcciones que comienzan por `0:e0:`. Son direcciones hardware de Ethernet, llamadas también se direcciones MAC. FreeBSD identifica automáticamente cualquier máquina (`test0` 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 [.filename]#ed0#. Existe también un contador (`Expire`) 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.
+Defecto::
+La primera ruta en esta tabla especifica la ruta por defecto (`default`). Cuando el sistema local necesita conectarse a un host remoto, comprueba la tabla de enrutamiento para determinar si existe un camino. Si el host remoto tiene una entrada en la tabla, el sistema comprueba si puede conectar utilizando el interfaz especificado en dicha entrada.
++
+Si el destino no tiene una entrada, o si todos los caminos conocidos fallan, el sistema utiliza la entrada para el enrutamiento por defecto. Para hosts en la red de área local, el campo `Gateway` en la ruta por defecto se establece al sistema que tiene una conexión directa a Internet. Cuando se lee esta entrada, verifica que la columna `Flags` indica que el gateway se puede usar (`UG`).
++
+La ruta por defecto para una máquina que está funcionando como gateway para el mundo exterior será la máquina gateway del Proveedor de Servicio de Internet (ISP).
 
-FreeBSD tambíen utiliza rutas de subred para direccionar la subred local (`10.20.30.255` es la dirección de broadcast para la subred `10.20.30`, y `ejemplo.com` es el nombre de dominio asociado con dicha subred.) La notación `link#1` 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 `Netif`.
+localhost::
+La segunda ruta es `localhost`. El interfaz especificado en la columna `Netif` para `localhost` es [.filename]#lo0#, también conocido como el dispositivo loopback. Esto indica que todo el tráfico para este destino debería ser interno, en lugar de enviarlo a través de la red.
 
-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 routed. Por último estas rutas pueden crearse manualmente de forma explícita; es lo que se conoce con el nombre de rutas estáticas.
+Dirección MAC::
+Las direcciones que comienzan con `0:e0` son direcciones MAC. FreeBSD identificará automáticamente cualquier host, `test0` en el ejemplo, en el Ethernet local y añadirá una ruta para ese host sobre el interfaz Ethernet, [.filename]#re0#. Este tipo de ruta tiene un timeout, mostrado en la columna `Expire`, que es usado si el host no responde en un tiempo determinado. Cuando esto sucede, la ruta a este host será automáticamente borrada. Estos hosts se identifican usando el Routing Information Protocol (RIP), que calcula rutas a los hosts locales basándose en la determinación del camino más corto.
 
-La línea de `host1` 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 ([.filename]#lo0#) en vez de enviar los paquetes a a través de red.
+subred::
+FreeBSD añadirá rutas para la subred local. En este ejemplo, `10.20.30.255` es la dirección de broadcast para la subred `10.20.30` y `example.com` es el nombre de dominio asociado con esa subred. La designación `link#1` hace referencia a la primera tarjeta Ethernet de la máquina.
++
+Hosts en la red local y subredes locales tienen sus rutas configuradas automáticamente por un demonio llamado man:routed[8]. Si no se está ejecutando, sólo existirán las rutas que hayan sido configuradas estáticamente por el administrador.
 
-Las dos líneas que comienzan por `host2` 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 `=>` después de la interfaz [.filename]#lo0# 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 `link#1` para dichas rutas.
+host::
+La línea `host1` hace referencia al host mediante su dirección Ethernet. Puesto que es el host que envía, FreeBSD sabe que tienen que usar el interfaz loopback ([.filename]#lo0#) en lugar del interfaz Ethernet.
++
+Las dos líneas `host2` representan alias que se crean utilizando man:ifconfig[8]. El símbolo `=>` después del interfaz [.filename]#lo0# indica que se ha establecido un alias además de la dirección de loopback. Estas rutas sólo se muestran en el host que suporta el alias y el resto de hosts en la red local tendrán una línea `link#1` para esas rutas.
 
-La última línea (destino de subred `224`) trata sobre encaminamiento multicast, que cubriremos en otra sección.
+224::
+La última línea (subred de destino `224`) tiene que ver con multicasting.
 
-Finalmente, se pueden observar varios atributos relacionados con las rutas en la columna de `Flags`. A continuación se muestra una pequeña tabla con el significado de algunos de esos de los atributos o "flags".
+Se pueden ver varios atributos para cada ruta en la columna `Flags`. <<routeflags>> resume algunos de estos flags y sus significados:
 
-[.informaltable]
-[cols="1,1", frame="none"]
+[[routeflags]]
+.Flags Habituales de la Tabla de Enrutado
+[cols="1,1", frame="none", options="header"]
 |===
+| Comando
+| Propósito
 
 |U
-|Up: La ruta está activa.
+|La ruta está activa (up).
 
 |H
-|Host: El destino de la ruta es una única máquina.
+|La ruta de destino es un único host.
 
 |G
-|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.
+|Envía cualquier cosa a este destino a través de este gateway, que averiguará a dónde enviarlo a continuación.
 
 |S
-|Static: Esta ruta se configuró manualmente, y no se ha generado de forma automática por el sistema.
+|Esta ruta se ha configurado de forma estática.
 
 |C
-|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.
+|Clona una nueva ruta basada en esta ruta para que las máquinas puedan conectarse. Este tipo de ruta se usa normalmente para redes locales.
 
 |W
-|WasCloned: Indica una ruta que se auto-configuró basándose en una ruta de red de área local con etiqueta Clone.
+|La ruta ha sido auto configurada basada en una ruta (clonada) de una red de área local.
 
 |L
-|Link: Esta ruta posée referencias a hardware de Ethernet.
+|La ruta incluye referencias a hardware Ethernet (link).
 |===
 
-[[network-routing-default]]
-=== Rutas por defecto
+En un sistema FreeBSD, la ruta por defecto se puede configurar en [.filename]#/etc/rc.conf# especificando la dirección IP del gateway por defecto:
 
-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.
+[.programlisting]
+....
+defaultrouter="10.20.30.1"
+....
 
-Si todos los caminos conocidos fallan al sistema le queda una única opción: la "ruta por defecto". Esta ruta está constituída por un tipo especial de pasarela (normalmente el único "router" presente en la red área local) y siempre posée el "flag" `c` en el campo de "flags". 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.)
+También es posible añadir la ruta de forma manual usando `route`:
 
-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 "router" que se encuentre en posesión del proveedor de servicios de internet (ISP).
+[source, shell]
+....
+# route add default 10.20.30.1
+....
 
-Vamos a examinar un ejemplo que utiliza rutas por defecto. A continuación se muestra una configuración bastante común:
+Date cuenta de que las rutas añadidas manualmente no persisten entre reinicios. Para más información sobre la manipulación manual de tablas de enrutamiento de red, consulta man:route[8].
 
-image::net-routing.png[]
+[[network-static-routes]]
+=== Configurando un Router con Rutas Estáticas
 
-Las máquinas `Local1` y `Local2` se encuentran en nuestro sitio u organización. `Local1` 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.
+Un sistema FreeBSD se puede configurar como el gateway por defecto, o router, para una red si es un sistema "dual-homed". Un sistema "dual-homed" es una máquina que está en al menos dos redes diferentes. Típicamente cada red se conecta a un interfaz de red separada, aunque se puede usar IP aliasing para enlazar múltiples direcciones, cada una en una subred diferente, a una única interfaz física.
 
-Las rutas por defecto para cada una de las máquinas son las siguientes:
+Para que el sistema pueda reenviar paquetes entre interfaces, FreeBSD debe ser configurado como un router. Los estándares de Internet y las buenas prácticas de ingeniería evitan que el Proyecto FreeBSD active esta característica por defecto, pero se puede configurar en el arranque añadiendo esta línea a [.filename]#/etc/rc.conf#:
 
-[.informaltable]
-[cols="1,1,1", frame="none", options="header"]
-|===
-| Host
-| Default Gateway
-| Interface
+[.programlisting]
+....
+gateway_enable="YES"          # Set to YES if this host will be a gateway
+....
 
-|Local2
-|Local1
-|Ethernet
+Para habilitar el enrutado, establece la variable man:sysctl[8] `net.inet.ip.forwarding` a `1`. Para parar el enrutado, restablece esta variable a `0`.
 
-|Local1
-|T1-GW
-|PPP
-|===
+La tabla de enrutamiento de un router necesita rutas adicionales para saber cómo llegar a otras redes. Las rutas se puede añadir manualmente utilizando rutas estáticas o se pueden aprender automáticamente usando un protocolo de enrutamiento. Las rutas estáticas son apropiadas para redes pequeñas y esta sección describe cómo añadir una ruta estática para una red pequeña.
 
-Una pregunta bastante frecuente es "?Por qué (o cómo) hacer que la máquina `T1-GW` sea el "router" por defecto para `Local1` en vez de que sea el servidor del ISP al cual se está conectando?".
+[NOTE]
+====
+Para redes grandes, las rutas estáticas pronto se vuelven impracticables. FreeBSD incluye el demonio de enrutamiento BSD estándar man:routed[8], que proporciona los protocolos de enrutamiento RIP, versiones 1 y 2, y IRDP. Se puede instalar soporte para los protocolos de enrutado BGP y OSPFS usando el paquete o port package:net/quagga[].
+====
 
-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 `T1-GW`, de tal forma que no se necesita un paso intermedio para enviar tráfico al servidor del ISP.
+Considera la siguiente red:
 
-Es frecuente utilizar la dirección `X.X.X.1` 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 `10.20.30` y nuestro ISP estuviera utilizando `10.9.9` las rutas por defecto serían:
+image::static-routes.png[]
 
-[.informaltable]
-[cols="1,1", frame="none", options="header"]
-|===
-| Host
-| Default Route
+En este escenario, `RouterA` es una máquina FreeBSD que está actuando como un router para el resto de Internet. Tiene una ruta por defecto establecida a `10.0.0.1` que le permite conectarse con el mundo exterior. `RouterB` ya está configurado para utilizar `192.168.1.1` como su gateway por defecto.
 
-|Local2 (10.20.30.2)
-|Local1 (10.20.30.1)
+Antes de añadir ninguna ruta estática, la tabla de enrutamiento de `RouterA` tiene este aspecto:
 
-|Local1 (10.20.30.1, 10.9.9.30)
-|T1-GW (10.9.9.1)
-|===
+[source, shell]
+....
+% netstat -nr
+Routing tables
 
-Se puede especificar fácilmente la entrada de la ruta por defecto utilizando el fichero [.filename]#/etc/rc.conf#. En nuestro ejemplo en la máquina `Local2`, se añadió la siguiente línea en dicho fichero:
+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.0/24        link#1             UC          0        0    xl0
+192.168.1.0/24     link#2             UC          0        0    xl1
+....
+
+Con la tabla de enrutamiento actual, `RouterA` no tiene una ruta a la red `192.168.2.0/24`. El siguiente comando añade la red `Internal Net 2` a la tabla de enrutamiento de `RouterA` usando `192.168.1.2` para el siguiente salto:
+
+[source, shell]
+....
+# route add -net 192.168.2.0/24 192.168.1.2
+....
+
+Ahora, `RouterA` puede alcanzar cualquier host en la red `192.168.2.0/24`. Sin embargo, la información de enrutamiento no persistirá si el sistema FreeBSD se reinicia. Si una ruta estática necesita ser persistente, añádela a [.filename]#/etc/rc.conf#:
 
 [.programlisting]
 ....
-defaultrouter="10.20.30.1"
+# Add Internal Net 2 as a persistent static route
+static_routes="internalnet2"
+route_internalnet2="-net 192.168.2.0/24 192.168.1.2"
 ....
 
-También se puede hacer directamente desde la línea de órdenes mediante man:route[8]:
+La variable de configuración `static_routes` es una lista de cadenas separadas por un espacio, donde cada cadena referencia el nombre de una ruta. La variable `route_internalnet2` contiene la ruta estática para el nombre de esa ruta.
+
+Usar más de una cadena en `static_routes` crea múltiples rutas estáticas. Lo siguiente muestra un ejemplo de cómo añadir rutas estáticas para las redes `192.168.0.0/24` y `192.168.1.0/24`:
 
-[source,shell]
+[.programlisting]
 ....
-# route add default 10.20.30.1
+static_routes="net1 net2"
+route_net1="-net 192.168.0.0/24 192.168.0.1"
+route_net2="-net 192.168.1.0/24 192.168.1.1"
 ....
 
-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].
+[[network-routing-troubleshooting]]
+=== Resolución de problemas
 
-=== Máquinas con doble pertenencia (Dual Homed Hosts)
+Cuando se asigna un espacio de direcciones a una red, el proveedor de servicio configura sus propias tablas de enrutamiento de forma que todo el tráfico para la red se enviará a través del enlace para el sitio. Pero ¿cómo saben los sitios externos que tienen que enviar sus paquetes al ISP de la red?
 
-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.
+Hay un sistema que lleva el control de todos los espacios de direcciones asignados y define sus puntos de conexión a la red principal de Internet, o las líneas troncales que llevan el tráfico por todo el país y alrededor del mundo. Cada máquina troncal tiene una copia de un conjunto maestro de tablas, las cuales dirigen el tráfico para una red particular hacia un portador troncal específico, y de ahí bajando por la cadena de proveedores de servicio hasta que alcanza una red particular.
 
-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 " aliasing" (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
+Es tarea del proveedor de servicio avisar a los sitios troncales de que son el punto de conexión, y por tanto el camino de entrada, para un sitio. Esto se conoce como propagación de ruta.
 
-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 ("inbound route") para la otra subred. Ésta configuración en la que la máquina actúa como "router" entre las dos subredes se usa a menudo cuando queremos implementar filtrado de paquetes o cortafuegos seguridad en un sentido o en ambos.
+A veces, hay algún problema con la propagación de ruta y algunos sitios son incapaces de conectar. Quizás el comando más útil para intentar averiguar dónde se rompe la ruta es `traceroute`. Es útil cuando `ping` falla.
 
-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.
+Cuando uses `traceroute`, incluye la dirección del host remoto al que conectar. La salida mostrará el gateway junto con el camino que sigue el intento, eventualmente alcanzando el destino, o terminando debido a la falta de conexión. Para más información, consulta man:traceroute[8].
 
-[[network-dedicated-router]]
-=== Construcción de un "route"
+[[network-routing-multicast]]
+=== Consideraciones para Multicast
 
-Un "router" de red, también llamado pasarela o "route", 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 `YES` el valor de la siguiente variable en el fichero man:rc.conf[5]:
+FreeBSD soporta de forma nativa tanto aplicaciones multicast como enrutamiento multicast. Las aplicaciones multicast no necesitan ninguna configuración especial para ejecutarse en FreeBSD. El soporte para enrutamiento multicast requiere que la siguiente opción esté incluida en un kernel personalizado:
 
 [.programlisting]
 ....
-gateway_enable=YES          # Set to YES if this host will be a gateway
+options MROUTING
 ....
 
-Esta opción modificará la variable de man:sysctl[8] `net.inet.ip.forwarding` al valor `1`. Si en algún momento se necesita detener el "router" de forma temporal basta con asignar a dicha variable el valor `0`. Consulte man:sysctl[8] para más detalles.
+El demonio de enrutamiento multicast, mrouted se puede instalar usando el paquete o port package:net/mrouted[]. Este demonio implementa el protocolo de enrutamiento multicast DVMRP y se configura editando el fichero [.filename]#/usr/local/etc/mrouted.conf# para configurar los túneles y DVMRP. La instalación de mrouted también instala map-mbone y mrinfo, así como sus páginas de manual. Consúltalas para ver ejemplos de configuración.
 
-Nuestro recién activado "router" 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 package:net/zebra[] 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 GateD(R).
+[NOTE]
+====
+DVMRP ha sido ampliamente sustituido por el protocolo PIM en muchas instalaciones multicast. Consulta man:pim[4] para más información.
+====
 
-Incluso cuando FreeBSD se configura del modo descrito no se cumple completamente con los estándares de Internet respecto a los "routers". Bastará no obstante para poder usarse.
+[[network-wireless]]
+== Redes Inalámbricas
 
-=== Configuración de rutas estáticas
+=== Fundamentos de Redes Inalámbricas
 
-==== Configuración manual
+La mayoría de las redes inalámbricas se basan en los estándares IEEE(R) 802.11. Una red inalámbrica básica consiste en varias estaciones que se comunican con radios que emiten en las bandas de 2.4GHz o 5GHz, aunque esto varía dependiendo del locale y también está cambiando para habilitar la comunicación en los rangos 2.3GHz y 4.9GHz.
 
-Vamos a suponer que tenemos la siguiente topología de red:
+Las redes 802.11 se organizan de dos maneras. En el _modo infraestructura_, una estación actúa como maestro y las demás estaciones se asocian a ella, la red se conoce como un BSS, y la estación maestra se denomina punto de acceso (AP). En un BSS, toda la comunicación pasa a través del AP; incluso cuando una estación se quiere comunicar con otra estación inalámbrica, los mensajes deben ir a través del AP. En el segundo modo de la red, no hay maestro y las estaciones se comunican directamente. Esta forma de red se denomina IBSS y se conoce comúnmente como una _red ad-hoc_.
 
-....
+Las redes 802.11 se desplegaron por primera vez en la banda 2.4GHz usando protocolos definidos por los estándares 802.11 y 802.11b de IEEE(R). Estas especificaciones incluyen las frecuencias de operación y las características de la capa MAC, incluyendo las tasas "framing" y de transmisión, ya que la comunicación puede ocurrir a diferentes velocidades. Posteriormente el estándar 802.11a definió la operación en la banda 5GHz, incluyendo diferentes mecanismos de señalización y tasas de transmisión más elevadas. Algo más tarde, el estándar 802.11g definió el uso de los mecanismos de transmisión y señalización de 802.11a en la banda de 2.4GHz de tal modo que fuera compatible hacia atrás con las redes 802.11b.
 
-    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
-....
+De forma separada de las técnicas de transmisión subyacentes, las redes 802.11 tienen un conjunto de mecanismos de seguridad. Las especificaciones 802.11 originales definían un protocolo de seguridad sencillo denominado WEP. Este protocolo utiliza una clave compartida prefijada y el codificador criptográfico RC4 para codificar los datos transmitidos por la red. Todas las estaciones deben ponerse de acuerdo en la clave fijada para poder comunicarse. Se ha demostrado que este esquema se puede romper fácilmente y actualmente no se usa salvo para desaconsejar a algunos usuarios que se conecten a algunas redes. La práctica de seguridad actual se fija por la especificación IEEE(R) 802.11i que define nuevos codificadores criptográficos y un protocolo adicional para autenticar estaciones contra un punto de acceso e intercambiar claves para realizar la comunicación. Las claves criptográficas se refrescan periódicamente y hay mecanismos para detectar y contrarrestar intentos de int
 rusión. Otra especificación de protocolo de seguridad que se usa en redes inalámbricas habitualmente se denomina WPA, que fue un precursos de 802.11i. WPA especifica un subconjunto de los requisitos que se encuentran en 802.11i y está diseñado para poder se implementado en hardware heredado. Específicamente, WPA sólo requiere el codificador TKIP que se deriva del codificador original WEP. 802.11i permite el uso de TKIP pero también requiere soporte para un codificador más fuerte, AES-CCM, para encriptar los datos. El codificador AES no era necesario en WPA porque se consideraba demasiado costoso computacionalmente como para se implementado en hardware heredado.
 
-En este escenario `RouterA` es nuestra máquina FreeBSD que actúa como pasarela para acceder al resto de internet. Tiene una ruta por defecto que apunta a `10.0.0.1` que le permite conectarse con el mundo exterior. Vamos a suponer también que `RouterB` 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 `RouterB` utilizando `192.168.1.1` como "router".
+El otro estándar que hay que considerar es 802.11e. Define protocolos para desplegar aplicaciones multimedia, como streaming de voz y vídeo sobre IP (VoIP), en una red 802.11. Al igual que 802.11i, 802.11e también tiene una especificación precedente llamada WME (posteriormente renombrada a WMM) que ha sido definida por un grupo industrial como un subconjunto de 802.11e que se puede desplegar actualmente para habilitar aplicaciones multimedia mientras se espera a la ratificación final de 802.11e. Lo más importante que hay que saber acerca de 802.11e y WME/WMM es que habilita la priorización de tráfico sobre redes inalámbricas mediante protocolos de tipo Calidad de Servicio (QoS) y mejora los protocolos de acceso a medios. La implementación adecuada de estos protocolos habilita los picos de datos de alta velocidad y flujos de tráfico priorizados.
 
-Si observamos la tabla de rutas de `RouterA` veremos algo como lo siguiente:
+FreeBSD soporta redes que operan usando 802.11a, 802.11b, y 802.11g. Los protocolos de seguridad WPA y 802.11i también están soportados (junto con cualquiera de 11a, 11b, y 11g) y QoS y la priorización de tráfico necesarios para los protocolos WME/WMM están soportados para un conjunto limitado de dispositivos inalámbricos.
 
-[source,shell]
-....
-% netstat -nr
-Routing tables
+[[network-wireless-quick-start]]
+=== Inicio rápido
 
-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
+Conectar un ordenador a una red inalámbrica existente es una situación muy común. Este procedimiento muestra los pasos necesarios.
+
+[.procedure]
+. Obtén el SSID (Service Set Identifier) y PSK (Pre-Shared Key) para la red inalámbrica a través del administrador de la red.
+. Identifica el adaptador inalámbrico. El kernel [.filename]#GENERIC# de FreeBSD incluye controladores para muchos adaptadores inalámbricos habituales. Si el adaptador inalámbrico es uno de esos modelos aparecerá en la lista de la variable `net.wlan.devices` de man:sysctl[8]:
++
+[source, shell]
+....
+% sysctl net.wlan.devices
+....
++
+Si un adaptador inalámbrico no aparece en la lista, podrían ser necesarios módulos adicionales para el kernel, o podría ser un modelo no soportado por FreeBSD.
++
+Este ejemplo muestra el adaptador inalámbrico Atheros `ath0`.
+. Añade una entrada para esta red en [.filename]#/etc/wpa_supplicant.conf#. Si el fichero no existe, créalo. Sustituye _myssid_ y _mypsk_ con el SSID y el PSK proporcionado por el administrador de red.
++
+[.programlisting]
+....
+network={
+	ssid="myssid"
+	psk="mypsk"
+}
 ....
 
-Con la tabla de rutas actual `RouterA` no es capaz de alcanzar la red interna 2. Esto es así porque no posee ninguna ruta para la red `192.168.2.0/24`. Una forma de mitigar esto es añadir de forma manual la ruta que falta. La siguiente orden añade la red interna 2 a la tabla de rutas de la máquina `RouterA` utilizando `192.168.1.2` como siguiente salto:
+. Añade entradas a [.filename]#/etc/rc.conf# para configurar la red durante el arranque:
++
+[.programlisting]
+....
+wlans_ath0="wlan0"
+ifconfig_wlan0="WPA SYNCDHCP"
+....
 
-[source,shell]
+. Reinicia el ordenador, o reinicia el servicio de red para conectar a la red:
++
+[source, shell]
 ....
-# route add -net 192.168.2.0/24 192.168.1.2
+# service netif restart
 ....
 
-Ahora `RouterA` puede alcanzar cualquier máquina en la red `192.168.2.0/24`.
+[[network-wireless-basic]]
+=== Configuración Básica
+
+==== Configuración del kernel
 
-==== Cómo hacer la configuración persistente
+Para usar redes inalámbricas, se necesita una tarjeta de red inalámbrica y el kernel necesita estar configurado con el soporte de red apropiado para redes inalámbricas. El kernel está separado en múltiples módulos de forma que sólo se necesita configurar el suporte necesario.
 
-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#:
+Los dispositivos inalámbricos más utilizados son aquellos que utilizan partes fabricadas por Atheros. Estos dispositivos están soportados por man:ath[4] y requieren la siguiente línea en [.filename]#/boot/loader.conf#:
 
 [.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"
+if_ath_load="YES"
 ....
 
-La variable de configuración `static_routes` 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 `static_routes`. Esta cadena es _redinterna2_. A continuación se añade otra variable de configuración denominada `route_redinterna2` 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 la siguiente orden:
+El controlador Atheros está separado en tres piezas independientes: el controlador (man:ath[4]), la capa de soporte hardware que maneja funciones específicas del chip (man:ath_hal[4]), y el algoritmo para seleccionar la tasa de transmisión de marcos (frames). Cuando se carga este soporte como módulos del kernel, cualquier dependencia se maneja de forma automática. Para cargar soporte para un tipo de dispositivo inalámbrico distinto, especifica el módulo para dicho dispositivo. Este ejemplo es para dispositivos basados en el controlador Intersil Prism (man:wi[i]):
 
-[source,shell]
+[.programlisting]
 ....
-# route add -net 192.168.2.0/24 192.168.1.2
+if_wi_load="YES"
 ....
 
-De tal forma que la variable debería contener `"-net 192.168.2.0/24 192.168.1.2"`.
+[NOTE]
+====
+Los ejemplos en esta sección utilizan un dispositivo man:ath[4] y el nombre del dispositivo en los ejemplos se debe cambiar de acuerdo con la configuración. Se puede encontrar una lista de los controladores inalámbricos disponibles así como los adaptadores soportados en las Notas de Hardware de FreeBSD en la página https://www.FreeBSD.org/releases/[Release Information] del sitio web de FreeBSD. Si no existe un controlador nativo de FreeBSD para el dispositivo inalámbrico, podría ser posible utilizar el controlador de Windows(R) con la ayuda del adaptador de controladores .crossref:config[config-network-ndis,NDIS].
+====
 
-Como ya se ha comentado anteriormente podemos especificar más de una cadena en la variable `static_routes`. 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 `192.168.0.0/24` y `192.168.1.0/24` en un "router"imaginario:
+Además, se tienen que cargar los módulos que implementan el soporte criptográfico para los protocolos de seguridad. Estos están pensados para ser cargados dinámicamente bajo demanda por el módulo man:wlan[4], pero por el momento se deben configurar manualmente. Los siguientes módulos están disponibles: man:wlan_wep[4], man:wlan_ccmp[4], y man:wlan_tkip[4]. Los constroladores man:wlan_ccmp[4] y man:wlan_tkip[4] sólo son necesarios cuando se utilizan protocolos de seguridad WPA o 802.11i. Si la red no soporta encriptación, no se necesita man:wlan_wep[4]. Para cargar estos módulos en el arranque, añade las siguientes líneas a [.filename]#/boot/loader.conf#:
 
 [.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"
+wlan_wep_load="YES"
+wlan_ccmp_load="YES"
+wlan_tkip_load="YES"
 ....
 
-=== Propagación de rutas
+Una vez que se ha añadido esta información a [.filename]#/boot/loader.conf#, reinicia la máquina FreeBSD. De forma alternativa, carga los módulos a mano utilizando man:kldload[8].
 
-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.
-
-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.
+[NOTE]
+====
+Para usuarios que no quieren usar módulos, es posible compilar estos controladores en el kernel añadiendo las siguientes líneas al fichero de configuración de un kernel personalizado:
 
-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?
+[.programlisting]
+....
+device wlan                 # 802.11 support
+device wlan_wep             # 802.11 WEP support
+device wlan_ccmp            # 802.11 CCMP support
+device wlan_tkip            # 802.11 TKIP support
+device wlan_amrr            # AMRR transmit rate control algorithm
+device ath                  # Atheros pci/cardbus NIC's
+device ath_hal              # pci/cardbus chip support
+options AH_SUPPORT_AR5416   # enable AR5416 tx/rx descriptors
+device ath_rate_sample      # SampleRate tx rate control for ath
+....
 
-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 "backbone" de internet. El "backbone" 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 "backbone" 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 "backbone". 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.
+Con esta información en el fichero de configuración del kernel, recompila el kernel y reinicia la máquina FreeBSD.
+====
 
-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 "backbone" 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.
+En los mensajes de arranque debería aparecer información como esta acerca del dispositivo inalámbrico:
 
-=== Solución de problemas
+[source, shell]
+....
+ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 11 at device 0.0 on cardbus1
+ath0: [ITHREAD]
+ath0: AR2413 mac 7.9 RF2413 phy 4.5
+....
 
-En algunas ocasiones surgen problemas con la propagación de las rutas y algunas organizaciones son incapaces de conectarse con nuestra subred. Quizá la orden 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).
+==== Estableciendo la Región Correcta
 
-man:traceroute[8] se ejecuta pasandole como parámetro el nombre de la máquina remota a la que nos queremos conectar. Esta orden 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 "router" intermedio no puede conectarse con el siguiente salto, o lo desconoce.
+Como la situación regulatoria es diferente en varios puntos del mundo, es necesario establecer correctamente los dominios que aplican a tu localización para así tener información correcta sobre los canales que se pueden utilizar.
 
-Si quiere saber más sobre esto consulte la página man de man:traceroute[8].
+Se pueden encontrar las definiciones de las regiones disponibles en [.filename]#/etc/regdomain.xml#. Para establecer datos en tiempo de ejecución, usa `ifconfig`:
 
-=== Rutas multicast
+[source, shell]
+....
+# ifconfig wlan0 regdomain ETSI country AT
+....
 
-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 hacer los cambios persistentes, añádelos a [.filename]#/etc/rc.conf#:
 
-[.programlisting]
+[source, shell]
 ....
-options MROUTING
+# sysrc create_args_wlan0="country AT regdomain ETSI"
 ....
 
-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#. Se pueden encontrar más detalles sobre cómo realizar una configuración de multicast en man:mrouted[8].
+=== Modo Infraestructura
 
-[[network-wireless]]
-== Redes sin cables ("wireless")
+El modo infraestructura (BSS) es el modo que se utiliza habitualmente. En este modo, un número de puntos de acceso inalámbrico se conectan a una red por cable. Cada red inalámbrica tiene su propio nombre, llamado SSID. Los clientes inalámbricos se conectan a los puntos de acceso inalámbricos.
 
-=== Introducción
+==== Clientes FreeBSD
 
-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 "wireless" e incluso como un "punto de acceso".
+===== Cómo Encontrar Puntos de Acceso
 
-=== Modos de operación Wireless
+Para escanear redes disponibles, usa man:ifconfig[8]. Esta petición puede tardar un poco en completarse ya que requiere que el sistema cambie para cada una de las frecuencias inalámbricas disponibles y escanee puntos de acceso disponibles. Sólo el super usuario puede iniciar un escaneo:
 
-Existen dos formas diferentes de configurar dispositivos wireless 802.11: BSS e IBSS.
+[source, shell]
+....
+# ifconfig wlan0 create wlandev ath0
+# ifconfig wlan0 up scan
+SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
+dlinkap         00:13:46:49:41:76   11   54M -90:96   100 EPS  WPA WME
+freebsdap       00:11:95:c3:0d:ac    1   54M -83:96   100 EPS  WPA
+....
 
-==== Modo BSS
+[NOTE]
+====
+El interfaz debe estar levantado (`up`) para poder escanear. Escaneos subsiguientes no necesitan que la interfaz se levante de nuevo.
+====
 
-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 "wireless" posée su propio nombre. Este nombre es el SSID de la red.
+La salida de una petición de escaneo lista cada red BSS/IBSS encontrada. Además de listar el nombre de la red, el `SSID`, la salida también muestra el `BSSID`, que es la dirección MAC del punto de acceso. El campo `CAPS` identifica el tipo de cada red y las capacidades de las estaciones de operación (consulta la definición de `list scan` en man:ifconfig[8] para más detalles).
 
-Los clientes "wireless" 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 "wireless" puede asociarse con una determinada red "wireless" especificando el SSID. Un cliente "wireless" también puede asociarse a cualquier red que se encuentre disponible; basta con no especificar ningún SSID.
+También se puede mostrar la lista actual de redes conocidas con:
 
-==== Modo IBSS
+[source, shell]
+....
+# ifconfig wlan0 list scan
+....
 
-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.
+La información puede ser actualizada automáticamente por el adaptador o de forma manual con una petición `scan`. Los datos antiguos se eliminan automáticamente de la caché, de forma que con el tiempo esta lista se hace más pequeña a menos que se hagan más escaneos.
 
-=== Modo infraestructura
+===== Configuración Básica
 
-==== Puntos de acceso
+Esta sección proporciona un ejemplo sencillo de cómo hacer que un adaptador de red inalámbrico funcione en FreeBSD sin encriptación. Una vez familiarizados con estos conceptos, se recomienda encarecidamente usar <<network-wireless-wpa,WPA>> para configurar la red inalámbrica.
 
-Los puntos de acceso son dispositivos de red "wireless" que funcionan de forma equivalente a los "hubs" o concentradores, permitiendo que varios clientes " wireless" 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.
+Hay tres pasos básicos para configurar una red inalámbrica: seleccionar el punto de acceso, autenticar la estación, y configurar una dirección IP. Las secciones siguientes discuten cada uno de los pasos.
 
-Los puntos de acceso poseen típicamente varias conexiones de red: la tarjeta "wireless" y una o más tarjetas Ethernet que se utilizan para comunicarse con el resto de la red.
+====== Seleccionar un Punto de Acceso
 
-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 "wireless" utilizando un determinado tipo de tarjetas "wireless" que poseen tales capacidades de configuración. Existe una gran cantidad de fabricantes de hardware que distribuyen puntos de acceso y tarjetas de red "wireless", aunque las capacidades de unos y otras varín.
+La mayoría de las veces, es suficiente con dejar al sistema escoger un punto de acceso utilizando las heurísticas integradas. Este es el comportamiento por defecto cuando una interfaz se marca como levantada o si está listada en [.filename]#/etc/rc.conf#:
 
-==== Construcción de un punto de acceso basado en FreeBSD
+[.programlisting]
+....
+wlans_ath0="wlan0"
+ifconfig_wlan0="DHCP"
+....
 
-===== Requisitos
+Si hay varios puntos de acceso, se puede seleccionar uno específico por su SSID:
 
-Para crear nuestro propio punto de acceso con FreeBSD debemos utilizar un determinado tipo de tarjeta "wireless". 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.
+[.programlisting]
+....
+wlans_ath0="wlan0"
+ifconfig_wlan0="ssid your_ssid_here DHCP"
+....
 
-El uso como punto de acceso "wireless" (también denominado _hostap_) funciona mejor con determinadas versiones del " firmware". Las tarjetas con chip Prism2 deben disponer de la versión 1.3.4 (o superior) del " firmware". Los chips Prism2.5 y Prism3 deben disponer de la versión 1.4.9 o superior del "firmware". Las versiones más antíguas de estos " firmwares" pueden no funcionar correctamente. A día de hoy la única forma de actualizar el " firmware" de las tarjetas es usando las herramientas que proporciona el fabricante para Windows(R).
+En entornos donde hay varios puntos de acceso con el mismo SSID, que es algo habitual para simplificar el roaming, podría ser necesario asociar con un dispositivo específico. En este caso, se puede especificar el BSSID del punto de acceso, con o sin el SSID:
 
-===== Puesta en marcha del sistema
+[.programlisting]
+....
+wlans_ath0="wlan0"
+ifconfig_wlan0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP"
+....
 
-Primero debemos asegurarnos de que el sistema reconoce la tarjeta "wireless":
+Hay otras formas de limitar la elección de un punto de acceso, como limitar el conjunto de frecuencias que puede escanear el sistema. Esto podría ser útil para tarjetas inalámbricas multi-banda ya que escanear todos los canales puede llevar mucho tiempo. Para limitar la operación a una banda específica, utiliza el parámetro `mode`:
 
-[source,shell]
+[.programlisting]
 ....
-# ifconfig -a
-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
+wlans_ath0="wlan0"
+ifconfig_wlan0="mode 11g ssid your_ssid_here DHCP"
 ....
 
-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 "wireless" 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.
+Este ejemplo forzará a la tarjeta a operar en 802.11g, que sólo se define para frecuencias de 2.4GHz de forma que no se considerarán los canales de 5GHz. Esto también se puede hacer con el parámetro `channel`, que fija la operación a una frecuencia específica, y el parámetro `chanlist`, para especificar una lista de canales para escanear. Se puede encontrar más información acerca de estos parámetros en man:ifconfig[8].
+
+====== Autenticación
 
-A continuación, para que podamos disponer de un "bridge" deberá cargar el módulo del kernel man:bridge[4] por el sencillo procedimiento de ejecutar la siguiente orden:
+Una vez que se ha seleccionado un punto de acceso, la estación necesita autenticarse antes de que pueda pasar datos. La autenticación se puede hacer de varias maneras. El esquema más común, autenticación abierta, permite a cualquier estación unirse a la red y comunicarse. Esta es la autenticación utilizada para realizar pruebas la primera vez que se configura una red inalámbrica. Otros esquemas requieren que se completen negociaciones criptográficas antes de que los datos puedan fluir, bien utilizando claves o secretos previamente compartidos, o esquemas más completos que involucran servicios de backend como RADIUS. La autenticación abierta es la configuración por defecto. La siguiente configuración más habitual es WPA-PSK, también conocida como WPA Personal, que se describe en <<network-wireless-wpa-wpa-psk>>.
+
+[NOTE]
+====
+Si se usa una estación base Apple(R) AirPort(R) Extreme como punto de acceso, se necesita configurar una clave WEP junto con autenticación de clave compartida. Esto se puede configurar en [.filename]#/etc/rc.conf# o usando man:wpa_supplicant[8]. Para una única estación base AirPort(R), se puede configurar el acceso con:
 
-[source,shell]
+[.programlisting]
 ....
-# kldload bridge
+wlans_ath0="wlan0"
+ifconfig_wlan0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"
 ....
 
-No debería aparecer mensaje de error alguno al ejecutar dicha orden. Si apareciera alguno quizás deba compilar el kernel del sistema con man:bridge[4] incluído. La sección <<network-bridging,Bridging>> de éste manual incluye información abundante para llevar a buen puerto esa tarea.
+En general, se debería evitar utilizar la autenticación de clave compartida porque utiliza la clave WEP de forma muy restringida, haciéndola incluso más fácil de romper. Si se tiene que usar WEP por compatibilidad con dispositivos heredados, es mejor usar WEP con autenticación `open`. Se puede encontrar más información acerca de WEP en <<network-wireless-wep>>.
+====
+
+====== Obteniendo una Dirección IP con DHCP
 
-Una vez que tenemos el soporte de "bridging" cargado debemos indicar a FreeBSD qué interfaces se desean puentear. Para ello emplearemos man:sysctl[8]:
+Una vez que se ha seleccionado un punto de acceso y se han configurado los parámetros de autenticación, se necesita obtener una dirección IP para poder comunicarse. La mayoría de las veces la dirección IP se obtiene mediante DHCP. Para conseguirlo, edita [.filename]#/etc/rc.conf# y añade `DHCP` a la configuración del dispositivo:
 
-[source,shell]
+[.programlisting]
 ....
-# sysctl net.link.ether.bridge=1
-# sysctl net.link.ether.bridge_cfg="wi0,xl0"
-# sysctl net.inet.ip.forwarding=1
+wlans_ath0="wlan0"
+ifconfig_wlan0="DHCP"
 ....
 
-En FreeBSD 5.2-RELEASE y posteriores se deben emplear las siguientes opciones en lugar de las anteriormente expuestas:
+Ahora el interfaz inalámbrico está listo para ser levantado:
 
-[source,shell]
+[source, shell]
 ....
-# sysctl net.link.ether.bridge.enable=1
-# sysctl net.link.ether.bridge.config="wi0,xl0"
-# sysctl net.inet.ip.forwarding=1
+# service netif start
 ....
 
-Ahora es el momento de configurar la tarjeta de red inalámbrica. La siguiente orden convierte la tarjeta en un punto de acceso:
+Una vez que el interfaz se está ejecutando, utiliza man:ifconfig[8] para ver el estado del interfaz [.filename]#ath0#:
 
-[source,shell]
+[source, shell]
 ....
-# ifconfig wi0 ssid mi_red channel 11 media DS/11Mbps mediaopt hostap up stationname "PA FreeBSD"
-
+# ifconfig wlan0
+wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+        ether 00:11:95:d5:43:62
+        inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
+        media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
+        status: associated
+        ssid dlinkap channel 11 (2462 Mhz 11g) bssid 00:13:46:49:41:76
+        country US ecm authmode OPEN privacy OFF txpower 21.5 bmiss 7
+        scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7
+        roam:rate 5 protmode CTS wme burst
 ....
 
-La línea de man:ifconfig[8] levanta el interfaz [.filename]#wi0#, configura el SSID con el valor de _mi_red_ y también el nombre de la estación como _FreeBSD_. La opción `media DS/11Mbps` configura la tarjeta a 11Mbps. Ésto es necesario para que cualquier valor que se necesite asignar a `mediaopt` surta efecto. La opción `mediaopt hostap` sitúa el interfaz en modo punto de acceso. La opción `channel 11` 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.
-
-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.
-
-También le recomemdamos leer la sección sobre cifrado que econtrará más adelante.
+La línea `status:associated` significa que está conectado a la red inalámbrica. `bssid 00:13:46:49:41:76` es la dirección MAC del punto de acceso y `authmode OPEN` indica que la comunicación no está encriptada.
 
-===== Información de estado
+====== Dirección IP Estática
 
-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:
+Si no se puede obtener una dirección IP de un servidor DHCP, establece una dirección IP fija. Reemplaza la palabra clave `DHCP` mostrada arriba con la información de la dirección. Asegúrate de mantener cualquier otro parámetro para seleccionar el punto de acceso:
 
-[source,shell]
+[.programlisting]
 ....
-# wicontrol -l
-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
+wlans_ath0="wlan0"
+ifconfig_wlan0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here"
 ....
 
-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 " firmware" de la tarjeta que se use.
-
-==== Clientes
-
-Un cliente "wireless" es un sistema que se comunica con un punto de acceso o directamente con otro cliente "wireless".
-
-Generalmente los clientes "wireless" sólo poseen un dispositivo de red: la tarjeta de red inalámbrica.
+[[network-wireless-wpa]]
+===== WPA
 
-Existen varias formas de configurar un cliente " wireless" 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.
+Wi-Fi Protected Access (WPA) es un protocolo de seguridad utilizado junto a redes 802.11 para atajar la falta de autenticación adecuada y las debilidades de WEP. WPA utiliza el protocolo de autenticación 802.1X y usa uno o varios encriptadores en lugar de WEP para favorecer la integridad de los datos. El único encriptador requerido por WPA es el Temporary Key Integrity Protocol (TKIP). TKIP es un encriptador que extiende el encriptador básico RC4 usado por WEP y le añade comprobación de integridad, detección de modificaciones, y medidas para responder a las intrusiones detectadas. TKIP está diseñado para funcionar en hardware heredado sólo con modificaciones software. Representa un compromiso que mejora la seguridad pero que todavía no es inmune a ataques. WPA también especifica en encriptador AES-CCMP como alternativa TKIP, y es el preferido si es posible. Para esta especificación, los términos WPA2 o RSN se usan comúnmente.
 
-===== Requisitos
+WPA define protocolos de encriptación y autenticación. La autenticación se hace habitualmente utilizando alguna de estas dos técnicas: usando 802.1X y un servicio de autenticación backend como RADIUS, o mediante una negociación mínima entre la estación y el punto de acceso utilizando un secreto previamente compartido. El primero se suele denominar WPA Enterprise y el segundo se conoce como WPA Personal. Como la mayoría de la gente no configurará un servidor RADIUS como backend para su red inalámbrica, WPA-PSK es de lejos la configuración más habitual para WPA.
 
-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.
+El control de la conexión wireless y la negociación de la clave o la autenticación con un servidor se realiza utilizando man:wpa_supplicant[8]. Este programa requiere un fichero de configuración, [.filename]#/etc/wpa_supplicant.conf#, para ejecutarse. Se puede encontrar más información acerca de este fichero en man:wpa_supplicant.conf[5].
 
-===== Ejecución de un cliente inalámbrico FreeBSD
+[[network-wireless-wpa-wpa-psk]]
+====== WPA-PSK
 
-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 _mi_red_ y queremos hacerlo con el soporte de cifrado desactivado.
+WPA-PSK, también conocido como WPA Personal, se basa en una clave previamente compartida (PSK) que se genera a partir de una contraseña dada y se usa como clave maestra en la red inalámbrica. Esto significa que cada usuario inalámbrico compartirá la misma clave. WPA-PSK está pensado para redes pequeñas donde el uso de un servidor de autenticación no es posible o deseable.
 
-[NOTE]
+[WARNING]
 ====
-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.
+Utiliza siempre contraseñas fuertes que sean suficientemente largas y creadas a partir de un alfabeto rico y que no sean fáciles de adivinar o atacar.
 ====
 
-Asegúrese de que FreeBSD reconoce su tarjeta de red inalámbrica:
+El primer paso es la configuración de [.filename]#/etc/wpa_supplicant.conf# con el SSID y la clave compartida de la red:
 
-[source,shell]
+[.programlisting]
 ....
-# ifconfig -a
-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
+network={
+  ssid="freebsdap"
+  psk="freebsdmall"
+}
 ....
 
-A continuación debemos especificar los parámetros correctos para nuestra red:
+Luego, en [.filename]#/etc/rc.conf#, indica que la configuración del dispositivo inalámbrico se realizará con WPA y que la dirección IP se obtendrá con DHCP:
 
-[source,shell]
+[.programlisting]
 ....
-# ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid mi_red
+wlans_ath0="wlan0"
+ifconfig_wlan0="WPA DHCP"
 ....
 
-Sustituya `192.168.0.20` y `255.255.255.0` 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.
-
-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.
+Después, levanta la interfaz:
 
-Si se presentan problemas con la conexión inalámbrica se puede comprobar si la tarjeta " wireless" se encuentra correctamente asociada (conectada) con el punto de acceso:
-
-[source,shell]
+[source, shell]
 ....
-# ifconfig wi0
+# service netif start
+Starting wpa_supplicant.
+DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
+DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
+DHCPOFFER from 192.168.0.1
+DHCPREQUEST on wlan0 to 255.255.255.255 port 67
+DHCPACK from 192.168.0.1
+bound to 192.168.0.254 -- renewal in 300 seconds.
+wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+      ether 00:11:95:d5:43:62
+      inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
+      media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
+      status: associated
+      ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
+      country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
+      AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
+      bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
+      wme burst roaming MANUAL
 ....
 
-ebería devolver algún tipo de información entre la que deberíamos observar la siguiente línea:
+O, intenta configurar manualmente la interfaz utilizando la información que hay en [.filename]#/etc/wpa_supplicant.conf#:
 
-[source,shell]
+[source, shell]
 ....
-status: associated
+# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
+Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
+Associated with 00:11:95:c3:0d:ac
+WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=CCMP GTK=CCMP]
+CTRL-EVENT-CONNECTED - Connection to 00:11:95:c3:0d:ac completed (auth) [id=0 id_str=]
 ....
 
-Si no aparece la palabra `associated` 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.
-
-==== Cifrado
+La siguiente operación es lanzar man:dhcliente[8] para obtener una dirección IP del servidor DHCP:
 
-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.
-
-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].
-
-===== WEP
+[source, shell]
+....
+# dhclient wlan0
+DHCPREQUEST on wlan0 to 255.255.255.255 port 67
+DHCPACK from 192.168.0.1
+bound to 192.168.0.254 -- renewal in 300 seconds.
+# ifconfig wlan0
+wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+      ether 00:11:95:d5:43:62
+      inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
+      media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
+      status: associated
+      ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
+      country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
+      AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
+      bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
+      wme burst roaming MANUAL
+....
 
-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.
+[NOTE]
+====
+Si [.filename]#/etc/rc.conf# tiene una entrada `ifconfig_wlan0="DHCP"`, man:dhcliente[8] se arrancará automáticamente después de que man:wpa_supplicant[8] se asocie al punto de acceso.
+====
 
-No obstante es mejor que no utilizar nada; puede activar WEP en el sistema que hace de punto de acceso mediante:
+Si no es posible o deseable utilizar DHCP, establece una dirección IP estática después de que man:wpa_supplicant[8] haya autenticado la estación:
 
-[source,shell]
+[source, shell]
 ....
-# ifconfig wi0 inet up ssid
-              mi_red wepmode on wepkey
-              0x1234567890 media DS/11Mbps
-              mediaopt hostap
+# ifconfig wlan0 inet 192.168.0.100 netmask 255.255.255.0
+# ifconfig wlan0
+wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
+      ether 00:11:95:d5:43:62
+      inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
+      media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
+      status: associated
+      ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac
+      country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF
+      AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan
+      bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS
+      wme burst roaming MANUAL
 ....
 
-y en un cliente inalámbrico mediante la siguiente orden:
+Cuando no se usa DHCP, el gateway por defecto y el servidor de nombres se tienen que establecer manualmente:
 
-[source,shell]
+[source, shell]
 ....
-# ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid mi_red wepmode on wepkey 0x1234567890
+# route add default your_default_router
+# echo "nameserver your_DNS_server" >> /etc/resolv.conf
 ....
 
*** 13884 LINES SKIPPED ***