Capítulo 10. Networking

10.1. ?Dónde puedo encontrar información sobre "diskless booting"?
10.2. ?Puede una máquina FreeBSD ser usada como router dedicado?
10.3. ?Puedo conectar mi Win95 con Internet a través de FreeBSD?
10.4. ?Por que falla la compilación del último BIND del ISC?
10.5. ?Soporta FreeBSD SLIP y PPP?
10.6. ?Soporta FreeBSD NAT o Masquerading?
10.7. No puedo crear el dispositivo /dev/ed0!
10.8. ?Cómo puedo configurar alias de ethernets?
10.9. ?Cómo hago para usar el otro puerto de una 3C503?
10.10. Tengo problemas con NFS desde/hacia FreeBSD.
10.11. ?Porqué no puedo hacer NFS-mount desde Linux?
10.12. ?Porqué no puedo hacer NFS-mount desde una Sun?
10.13. Tengo problemas usando ppp contra máquinas NeXTStep.
10.14. ?Cómo activo soporte de IP multicast?
10.15. ?Qué tarjetas de red están basadas en el chipset DEC PCI?
10.16. ?Porqué tengo que usar el FQDN para hosts en mi servidor?
10.17. ``Permission denied'' para todas las operaciones de red.
10.18. ?Cuanto tiempo retrasa IPFW el tráfico?
10.19. ?Cómo puedo redirigir peticiones de una máquina a otra?
10.20. ?Dónde puedo conseguir una herramienta de control de ancho de banda?.
10.21. ?Porqué aparece "/dev/bpf0: device not configured"?

10.1.

?Dónde puedo encontrar información sobre "diskless booting"?

"Diskless booting" significa que una máquina FreeBSD sea arrancada sobre una red, y lea los archivos necesarios de un servidor y no desde su disco duro. Para más detalles, por favor, lee la sección diskless booting del manual

10.2.

?Puede una máquina FreeBSD ser usada como router dedicado?

Los estándares de Internet y las buenas prácticas de ingeniería nos prohiben proveer el forward de paquetes en la distribución estándar. Aun así, puedes activar esta opción cambiando la siguiente variable a YES en el archivo rc.conf:


          gateway_enable=YES          # Set to YES if this host will be a gateway
        

Esta opción pondrá la variable sysctl net.inet.ip.forwarding a 1.

En muchos casos también necesitarás ejecutar un proceso de rutado para indicar la existencia en la red de tu router; FreeBSD incluye el daemon estándar de rutado BSD routed, aunque en situaciones más complejas quizás quieras usar GaTeD disponible en http://www.gated.org/

Es nuestro deber advertirte que estando FreeBSD configurado de esta manera, no cumple completamente con todos los estandares de routers de Internet, pero es suficiente para uso ordinario.

10.3.

?Puedo conectar mi Win95 con Internet a través de FreeBSD?

Típicamente, la gente que pregunta esto tiene dos pc's en casa, uno con FreeBSD y otro con Win95; la idea es usar FreeBSD para conectar a Internet y luego ser capaz de acceder a Internet desde el computador con Windows 95. Este es realmente un caso especial de la pregunta anterior.

Hay un útil documento disponible que explica como configurar FreeBSD como un Router PPP

NOTA: Esto requiere, al menos, tener dos direcciones IP fijas disponibles, y posiblemente tres o más, dependiendo del número de máquinas que quieras conectar. Como alternativa, si no tienes una dirección IP fija, puedes usar una de las subredes privadas e instalar un proxy como SQUID y The TIS firewall toolkit en tu FreeBSD.

Mira también la sección natd.

10.4.

?Por que falla la compilación del último BIND del ISC?

Hay un conflicto entre el archivo cdefs.h incluido en la distribución de BIND y el distribuido con FreeBSD. Solo tienes que borrar compat/include/sys/cdefs.h.

10.5.

?Soporta FreeBSD SLIP y PPP?

Sí. Mira las paginas man de slattach, sliplogin, pppd y ppp. pppd y ppp soportan conexiones entrantes y salientes. Sliplogin trabaja exclusivamente con conexiones entrantes y slattach con conexiones salientes.

Estos programas son descritos en las siguientes secciones del manual:

Si solo tienes acceso a Internet a traves de un "shell account", quizás quieras mirar el package slirp. Puede darte un (limitado) acceso a servicios como ftp y http.

10.6.

?Soporta FreeBSD NAT o Masquerading?

Si tienes una red local (una o más máquinas), pero solo se te ha asignado una única dirección IP desde tu proveedor de Internet (o si recibes las direcciones de manera dinámica), te interesa mirar el programa natd. Natd te permite conectar una red entera a Internet usando solamente una dirección IP.

El programa ppp tiene una funcionalidad similar incluida, a través del parámetro -alias. La librería alias es usada en ambos casos.

10.7.

No puedo crear el dispositivo /dev/ed0!

En el sistema de trabajo de red de Berkeley, los interfaces de red solo son directamente accesibles por el código del kernel. Por favor, mira el archivo /etc/rc.network y los man de los programas de red allí mencionados. Si esto te deja totalmente confundido, entonces tendrías que conseguir algun libro de administración de red de cualquier sistema operativo basado en BSD; con algunas excepciones significativas, administrar el sistema de red en FreeBSD es básicamente igual que en SunOS 4.0 o Ultrix.

10.8.

?Cómo puedo configurar alias de ethernets?

Añade ``netmask 0xffffffff'' en el comando ifconfig como el siguiente:


          ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
        

10.9.

?Cómo hago para usar el otro puerto de una 3C503?

Si quieres usar los otros puertos, tendrás que especificar parámetros adicionales en el comando ifconfig. El puerto por defecto es link0. Para usar el puerto AUI en lugar del BSN, usa link2. Estos flags tendrían que ser especificados usando las variable ifconfig_* en el archivo /etc/rc.conf.

10.10.

Tengo problemas con NFS desde/hacia FreeBSD.

Algunas tarjetas de red son mejores que otras y algunas veces pueden causar problemas con aplicaciones de uso intensivo de red como NFS

Mira la entrada en el manual de NFS para más información sobre este tema.

10.11.

?Porqué no puedo hacer NFS-mount desde Linux?

Algunas versiones de NFS para Linux solo aceptan peticiones para montar unidades hechas desde un puerto privilegiado; intenta:


          mount -o -P linuxbox:/blah /mnt
        

10.12.

?Porqué no puedo hacer NFS-mount desde una Sun?

Las estaciones de trabajo Sun con SunOS 4.x solo aceptan peticiones de montar unidades hechas desde puertos privilegiados; intenta


          mount -o -P sunbox:/blah /mnt
        

10.13.

Tengo problemas usando ppp contra máquinas NeXTStep.

Intenta desactivar las extensiones TCP en url="http://www.FreeBSD.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf"> cambiando la siguiente variable a NO:


          tcp_extensions=NO
        

Las máquinas Xylogic's Annex también tienen este problema, por lo que tienes que hacer el mismo cambio para conectar con ellas.

10.14.

?Cómo activo soporte de IP multicast?

Las operaciones multicast están totalmente soportadas en FreeBSD 2.0 y superiores. Si quieres usar tu máquina como router multicast, necesitarás cargar el módulo de kernel ip_mrouted_mod y ejecutar el programa mrouted.

Para más información:


Producto        Descripcion             Donde
--------------- ----------------------- ---------------------------------------
faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt
imm/immserv IMage Multicast  ftp.hawaii.edu:/paccom/imm.src.tar.Z
         for jpg/gif images.
nv Network Video. ftp.parc.xerox.com:
         /pub/net-reseach/exp/nv3.3alpha.tar.Z
vat LBL Visual Audio Tool. ftp.ee.lbl.gov:
         /conferencing/vat/i386-vat.tar.Z
wb LBL White Board. ftp.ee.lbl.gov:
         /conferencing/wb/i386-wb.tar.Z
mmcc MultiMedia Conference ftp.isi.edu:
         Control program /confctrl/mmcc/mmcc-intel.tar.Z
rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c
         quality of RTP packets.
vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
         and nv.
        

10.15.

?Qué tarjetas de red están basadas en el chipset DEC PCI?

Aquí tienes una lista hecha por Glen Foster:


        Fabricante      Modelo
        ----------------------------------------------
        ASUS            PCI-L101-TB
        Accton          ENI1203
        Cogent          EM960PCI
        Compex          ENET32-PCI
        D-Link          DE-530
        Dayna           DP1203, DP2100
        DEC             DE435, DE450
        Danpex          EN-9400P3
        JCIS            Condor JC1260
        Linksys         EtherPCI
        Mylex           LNP101
        SMC             EtherPower 10/100 (Model 9332)
        SMC             EtherPower (Model 8432)
        TopWare         TE-3500P
        Zynx            ZX342
        

10.16.

?Porqué tengo que usar el FQDN para hosts en mi servidor?

Probablemente el host estará en un dominio diferente; por ejemplo, si estás en el dominio foo.bar.edu y quieres encontrar un host llamado "mumble" en el dominio bar.edu, tendrás que llamarlo por su nombre de dominio, "mumble.bar.edu", en vez de solo "mumble".

Tradicionalmente, esto era permitido por los resolvers BIND BSD. La versión actual de bind que se incluye en FreeBSD no resuelve abreviaciones de nombres para hosts fuera de nuestro dominio.

10.17.

``Permission denied'' para todas las operaciones de red.

Si tienes el kernel compilado con la opción IPFIREWALL . debes tener en cuenta que la política por defecto es denegar explícitamente todos los paquetes que no están explícitamente permitidos.

Si involuntariamente has desconfigurado el firewall de tu sistema, puedes restaurar la operatibilidad de la red tecleando el siguiente comando como usuario root:


          ipfw add 65534 allow all from any to any
        

Para más información en la configuración del firewall de FreeBSD, mira la sección del manual.

10.18.

?Cuanto tiempo retrasa IPFW el tráfico?

Esta respuesta depende mucho en las reglas definidas y en la versión del procesador. Para la mayoría de aplicaciones que tienen que ver con la ethernet y pequeñas reglas, la respuesta es, prácticamente nada.

Aquí tienes una lista de cosas a tener en cuenta para crear reglas de filtrado eficientes:

  • Poner una regla "established" al inicio para manejar la mayoría de trafico TCP. No pongas ninguna regla allow tcp antes de esta.

  • Pon las reglas más usadas antes de las menos usadas (sin modificar la permisividad del firewall). Puedes ver cuales son las reglas más usadas examinando los contadores de paquetes con la orden ipfw -a l.

10.19.

?Cómo puedo redirigir peticiones de una máquina a otra?

Puedes redirigir peticiones FTP (y otros servicios) con el package "socket", disponible en la colección de ports categoría "sysutils". Simplemente tienes que reemplazar la línea del servicio correspondiente en el archivo /etc/services de la siguiente manera:

ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp
        

donde "ftp.foo.com" y "ftp" son la máquina y puerto de destino.

10.20.

?Dónde puedo conseguir una herramienta de control de ancho de banda?.

Existen dos herramientas de control de ancho de banda para FreeBSD. ALTQ es gratis; Bandwidth Manager de Emerging Technologies es un producto comercial.

10.21.

?Porqué aparece "/dev/bpf0: device not configured"?

El driver Berkeley Packet Filter (bpf) necesita ser activado para ejecutar programas que lo utilizan. Añade esto al archivo de configuración de tu kernel y crea uno nuevo:


          pseudo-device bpfilter         # Berkeley Packet Filter
        

A continuación, después de rearrancar tendrás el dispositivo. Esto puede hacerse entrando en el directorio /dev y ejecutando el siguiente comando:

            # sh MAKEDEV bpf0
          

Por favor, mira la entrada correspondiente en el handbook para más información sobre la creación de dispositivos.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.

Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.