G A C E T A   D E   L I N U X
...haciendo a Linux un poco más divertido!
Inicio Rápido de Instalación y Configuración de Red
Por Edgar Howell
Traducción al español por Luis Armando Hernandez Enriquez
el día 23 de Febrero 2003, para La Gaceta de Linux

Inicio Rápido Networking

Contenido

Introducción
1. Ethernet
2. Ssh
3. Pantalla
4. Traferencia de Archivos
5. NFS
6. Samba
7. PCMCIA
8. Profundizzar en el tema
9. ¿Un Futuro sin Windows?

Introducción

Finalmente durante las vacaciones tuve un período de tiempo lo suficientemente amplio para trabajar en una red en casa. Pero siempre el comenzar es mi mayor problema y tardó un buen rato para entender lo que se había hecho en cada máquina. En retrospectiva fue bastante fácil el inicio.

Este artículo es esencialmente más pequeño que mis notas, tomadas durante mi experiencia, sin exagerar. Para comprender mejor documenté lo que tenía que hacer y sería mi referencia si necesitará repetir cualquiera de esto.

Para evitar extender esto innecesariamente y porque soy sólo un novato experimentando, muy poco se explica a detalle. Hay referencias a algunos artículos importantes pero asumo que usted sabe encontrar documentación estándar.

En mi mente no existe razón alguna para que alguien con 2 o mas computadoras no las tenga conectadas. Mi primer paso fue con una tarjeta Ethernet para la PC, un cable crossover, y una tarjeta Ethernet PCMCIA, todos por 87.50 euros. Y ya trabajando, compre otra tarjeta PCMCIA (debí haber sabido que por el precio sólo era compatible con Windows), un switch de 8 puertos y 3 cables de 3 metros los cuales costaron 67.50 euros. A lo más $160 euros no estuvo mal. Y no debería costar más de $25 conectar 2 PC's punto a punto.

El estado actual de esta red de oficina en casa es el siguiente:

  • Toshiba 486 500MB/24MB, SuSE 8.0 (kernel 2.4.18-4GB) sin X
  • PC Pentium 166 2x4GB/32MB, SuSE 6.3 (kernel 2.2.13)
  • Toshiba AMD 4GB/64MB, SuSE 8.0 (kernel 2.4.18-4GB) o Windows 98

    A propósito, la asimetría en lo siguiente no es debida a algo inherente en la configuración e instalación de la red o los diferentes kernels de Linux. Más bien, el 486 podría ser un día mi portal para Internet. No debe poder hacerse mucho de todo más que responder a alguien que sabe. Por otro lado las otras dos no deberían tener restricciones.

    Más que eso, se debe ser cuidadoso: esto se intenta meramente para levantar y ejecutar tan pronto como sea posible. Todo lo demás ha sido ignorado. Considera esto solo como un pequeño paso pero importante. ¡Tu paso siguiente tiene que ser la documentación relevante debido a que esto es bastante superficial!

    1. Inicio Rápido - Ethernet

    El mayor problema es con las PCMCIA (ver abajo), la instalación y configuración Ethernet es casí directa. Para mantener las cosas simples comencé con un cable cross-over, i.e. punto a punto, y lo moví a un switch solamente después de que todo lo demás supiera que funcionaba.

    En lugar de tener cada máquina conectada a la red en el arranque, estos son scripts en /root listos para ejecutarse cuando se va a realizar una conexión. Aquí se presentan los scripts y archivos de dos de las máquinas (sin comentarios y líneas irrelevantes):

    Toshiba 486

         /etc/hosts:       127.0.0.1      localhost
                           192.168.0.99   Toshiba486.Lohgo  Lohgo486
                           192.168.0.100  ToshibaAMD.Lohgo  LohgoAMD
                           192.168.0.101  PC.Lohgo          LohgoPC
    
         /etc/hosts.allow: sshd: 192.168.0.100, 192.168.0.101
    
         /root/eth-up:     #!/bin/bash
                           /sbin/ifconfig eth0 192.168.0.99 \
                                          broadcast 192.168.0.255 \
                                          netmask 255.255.255.0 up
    

    Pentium 166

         /etc/hosts:       127.0.0.1      localhost         PC
                           192.168.0.99   Toshiba486.Lohgo  Lohgo486
                           192.168.0.100  ToshibaAMD.Lohgo  LohgoAMD
                           192.168.0.101  PC.Lohgo          LohgoPC
    
         /etc/hosts.allow: sshd:      192.168.0.100
                           portmap:   192.168.0.100
                           lockd:     192.168.0.100
                           rquotad:   192.168.0.100
                           mountd:    192.168.0.100
                           statd:     192.168.0.100
    
         /root/eth-up:     #!/bin/bash
                           /sbin/insmod rtl8139
                           /sbin/ifconfig eth0 192.168.0.101 \
                                          broadcast 192.168.0.255 \
                                          netmask 255.255.255.0 up
    

    Los siguientes archivos son iguales para las tres máquinas:

         /etc/hosts.deny:  ALL : ALL
    
         /root/eth-down:   #!/bin/bash
                           /sbin/ifconfig eth0 down
    
         /root/eth-stat:   #!/bin/bash
                           /sbin/ifconfig eth0; /bin/netstat -r
    

    Las líneas adicionales en el archivo /etc/hosts.allow del P166 son para soportar nfs. Y insmod en /root/eth-up se debe a la tarjeta Ethernet en la PC en oposición a la PCMCIA en las notebooks.

    Debes saber que SuSE en la instalación tiene una opción para "Re-organizar" /etc/hosts que tiene por defecto CHECK_ETC_HOSTS=yes en /etc/rc.config. Supongo que esto es lo que puede causar que 192-resto_de_la_dirección sea reemplazada por la 127-resto_de_la_dirección para el mismo host en /etc/hosts en la reinicio del sistema. No reinicio mucho para comprobar esto. Pero si obtienes una deshabilitación inexplicable para accesar a la red, verifica el contenido de este archivo.

    2. Inicio Rápido - Ssh

    Sin lugar a duda este es el más complejo de los servicios de linux descritos en este documento pero es la clave para un par de cosas que son extremadamente útiles y ciertamente debería atenderse en la instalación, por seguridad y conveniencia.

    Prerequisitos/Definiciones:

  • "local" es la máquina cuyo teclado es el que usted esta usando
  • "remote" es la máquina cuyo teclado usted no se encuentra usando
  • "<user>" ha sido creado en ambas máquinas
  • "<host>" es la tercera columna de las entradas para el host "remoto" en archivo /etc/hosts de la máquina "local"
  • las entradas en los archivos /etc/hosts.allow y /etc/hosts.deny de la máquina "remota" definen el uso de permisos del demonio sshd desde la máquina "local
  • El uso del comando mount puede pensarse como un disk-jockey tocando música apropiadamente entre las dos máquinas
  • Las siguientes configuraciones están basadas en SuSE 6.3 (2.2.13) y 8.0 (2.4.18-4GB)

    Esto es lo que tienes que hacer si no le importa arrancar el ssh al iniciar el sistema:

    Remote        Local          Comment
    
                  <logon as user also known to remote host>
                  ssh <host>
                                 warning:... SOMETHING NASTY
                  yes            accept it
                  <password>
    

    Este es el inicio:

    Remote        Local          Comment
    
                  <logon as user also known to remote host>
                  /usr/bin/ssh-keygen
                                 accept default: .ssh/identity
                                 no passphrase
                  mount /floppy
                  cp .ssh/identity.pub /floppy/
                  umount /floppy
    
    logon as <the same user>
    mkdir .ssh                   if necessary
    mount /floppy
    cp /floppy/identity.pub .ssh/authorized_keys
    cp /etc/ssh/ssh_host_key.pub /floppy/known_hosts
    umount /floppy
    
                  mount /floppy
                  cp /floppy/known_hosts .ssh/
                  umount /floppy
                  vi .ssh/known_hosts
                                 add <host> at start of line and
                                 remove root@<host> at end
    

    Y esto es lo que tienes que hacer para entrar después de configurar todo:

    Remote        Local          Comment
    
                  <logon as user also known to remote host>
                  ssh <host>
    

    Observe que la llave del host es generada como parte del sistema de instalación (con SuSE de algún modo), Y puede haber diferencias en la estructura de directorios (El kernel 2,2 de SuSE no tenia el 'ssh' bajo 'etc' ). También hay que observar que simplemente se pensó para que alguien no familiarizado con ssh lo pudiera levantar y ejecutar. ¡No sigas ciegamente estos pasos si nunca has utilizado ssh antes!. En particular la mayoría 'cp's' ciertamente deberían ser 'cat...>>'. En la oficina en casa, yo no necesito un password para comenzar a trabajar en una maquina diferente, pero deberías crearlos si se necesita.

    3. Inicio Rápido - Pantalla

    Aunque se ha mencionado en Gaceta de Linux varias veces y Yo actualmente manipule esto brevemente, la necesidad para la pantalla no era nada obvio para mí. Dado 6+ vt's y X corriendo en por lo menos las otras dos máquinas con las ventanas ilimitadas bajo cualquier administrador de ventanas que se tenga funcionando, esto simplemente parecía tener otro nivel de complejidad.

    La necesidad se hizo obvia cuando la red casera empezó a tomar forma. La razón detrás de los hervores de la pantalla llevo a esto: si usted empieza las sesiones en las máquinas remotas bajo la pantalla, éstas le permanecerán disponibles tanto como su máquina remota no se apague--independiente de lo que pasa en el enlace de comunicación o su máquina local. Como una de mis tarjetas PCMCIA Ethernet sólo trabaja bajo Windows y yo puedo conectar sólo una de las notebooks a la vez, así si el AMD también esta corriendo Linux, como usualmente lo hace--pero sin necesidad alguna de cerrar los 486, simplemente saque la tarjeta, la inserté en el AMD y la pantalla guarda las sesiones activas en el 486 para accesar más tarde.

    Para Inciar la pantalla:

        screen -R   restart session if available, otherwise start one
    

    Dentro de la pantalla (no aparentes todas, a veces se esconde) use Ctrl-a seguido por:

        ?   help
        w   show list of windows
        n   switch to next window
        c   create new window
        d   disconnect
        A   assign title to window
    

    4. Inicio Rápido para Transferencia de Archivos

    Si estas usando ssh, puedes librarte del rsh -así como del telnet y ftp para esas razones. Aquí se muestran un par de alternativas que para mi son mas convenientes que las demás.

    Netcat es una pequeña herramienta de utilidad, semejante a cat. Puedes iniciarla para recibir un archivo en una maquina

        netcat -vv -l -p <port> > <file>
    

    y entonces decirle a la otra maquina lo que hay que enviar

        netcat -vv -w 10 <hpopst> <port> < <file>
    or
        tar -czvf - <directory> | netcat -vv -w 10 <host> <port>
    

    Utiliza netstat y el archivo /etc/services para encontrar un puerto disponible. La opción "-w 10" dice al emisor que termine la conexión después de 10 segundos de inactividad y la opción "-vv" te permite verificar que el numero correcto de bytes fueron enviados y recibidos.

    Mientras que el netcat ayuda a respaldar los scripts en una maquina diferente, una red casera gradualmente toma forma, Miidnight Commander tiene asombroso medios para las cosas uno tienen que hacer a mano simplemente

    Si ssh ha sido instalado adecuadamente, la siguiente entrada en la linea de comando hace que el panel activo mc apunte al mismo usuario en la otra maquina --sí, "#sh" no "#ssh", desafortunadamente If ssh has been set up properly, the following entered in the command line

        cd /#sh:<host>
    

    Y si en el otro lado tiene un ftp anónimo ejecutandose, lo siguiente justamente debería autoexplicarse

        cd /#ftp:www.tldp.org/
    

    5. Inicio Rápido - NFS

    Estuve probando un poco con nfs y funciona, aunque desafortunadamente mis notas no tocan el tema (básicamente solo marqué lo más relevante en una copia impresa del HOWTO). Como recuerdo, junto a la instalación del paquete relevante en el cliente y el servidor todo lo que se necesitaba era editar /etc/exports en la PC (servidor) como sigue:

    /home	192.168.0.100(rw,root_squash,sync,insecure)
    /tmp	192.168.0.100(rw,root_squash,sync,insecure)
    
    Ver también /etc/hosts.allow bajo 1. Ethernet, arriba.

    En la instalación SuSE tiene un numero de opciones que se pueden seleccionar, muchas (¿todas?) de las cuales se engloban en /etc/rc.config. Aquí esta presenta un extracto de lo relevante para nfs:

    START_PORTMAP="yes"
    NFS_SERVER="yes"
    USE_KERNEL_NFSD="yes"
    USE_KERNEL_NFSD_NUMBER="4"
    NFS_SERVER_UGID="no"
    REEXPORT_NFS="no"
    

    En el AMD (cliente) añadí lo siguiente a /etc/fstab:

    192.168.0.101:/home	/Rhome	nfs	noauto,users,sync 0 0
    192.168.0.101:/tmp	/Rtmp	nfs	noauto,users,sync 0 0
    

    En ese punto el comando mount trabaja con /Rhome etc. así como /floppy o cualquier otra entrada en el fstab. Una pequeña molestia es que el ID del usuario debe ser el mismo en todas las maquina usando nfs. Esto no fue un problema para mi porque, cuando instale Linux, cree pocos usuarios en el mismo orden.

    6. Inicio Rápido - Samba

    Dada la dificultad de rastrear lo que uno esta haciendo bajo Windows, particularmente con comienzos falsos y cosas que parecen incorrectas o simplemente irrelevantes, esto necesita tomarse con un gran grano de sal. Se asume que el controlador para la tarjeta PCMCIA ha sido instalado, si es relevante. Y si la terminología es ligeramente oscura, se debe a mi traducción de versiones alemanas de Windows.

    Lo siguiente fue necesario para habilitar el logon a la PC desde el AMD bajo Samba, . desde Windows 98 hacia Linux 2.2.13 (SuSE 6.3). Con los ajustes correctos los mismos pasos funcionaron en la otra dirección, esto es. desde Windows 95 a Linux 2.4.18-4GB (SuSE 8.0). Pero note estas diferencias:

  • encriptación de contraseña: 98: yes; 95: no
  • ruta de smb.conf: 2.4: /etc/samba; 2.2: /etc
  • ruta de smbpasswd: 2.4: /etc/samba; 2.2: /etc
  • ruta de netlogon: 2.4: /usr/local/samba; 2.2: /var/lib/samba
    Part 1 - Linux
                                 edit /etc/smb.conf
    [global]
       workgroup = Lohgo
       encrypt passwords = yes
       smb passwd file = /etc/smbpasswd
       password level = 8
       username level = 8
       socket options = TCP_NODELAY
       domain logons = yes
       domain master = yes
       os level = 65
       preferred master = yes
       wins proxy = no
       wins support = yes
       hosts allow = 192.168.0.100 127.
    [homes]
       comment = Home Directories
       read only = no
       browseable = no
    [netlogon]
       comment = Network Logon Service
       path = /usr/local/samba/netlogon
       public = no
       writeable = no
       browseable = no
    [profiles]
       path = /home/%U/profile
       guest ok = yes
       browseable = no
                                 confirm validity, should show no errors
    testparm | less
                                 create user w/password
    smbpasswd -a web
                                 verify user enabled
    smbpasswd -e web
                                 start Samba
    smbd -D
    nmbd -D
                                 at this point from the client -- under
                                 Linux, not Windows -- the following
                                 should give a meaningful response
    smbclient -L LohgoPC
                                 and the following should give you
                                 ftp-like access
    smbclient //LohgoPC/web
    
    Part 2 - Windows98
    
    control panel | network | configuration
      add | client for microsoft network
      properties
        Windows NT-domain: Lohgo
        quick logon
      add | protocol | microsoft | tcp/ip
      properties | set IP-address
        IP-address:     192.168.000.100
        Subnet address: 255.255.255.000
      primary network logon: client for Microsoft network
    control panel | network | identification
      computer name: LohgoAMD
      workgroup:     Lohgo
      description:   ToshibaAMD.Lohgo
    control panel | passwords | user profiles
      users can customize: both
    reboot
                                 if using PCMCIA the following puts
                                 a symbol on the task bar with which
                                 the PCMCIA card can be removed
    <insert PCMCIA Ethernet card and wait for lights to settle down>
                                 the following works ONLY after TCP/IP
                                 has been set up, shows configuration
    start | run | winipcfg
                                 test connection from within a dos-box
    ping -n 5 192.100.0.101
                                 edit c:\windows\hosts.sam
    127.0.0.1       localhost
    192.168.0.101   lohgopc
                                 edit c:\windows\lmhosts.sam
    192.168.0.101   lohgopc
    

    En este punto después de reiniciar, Windows te preguntará un logon, el que puedes hacer con un usuario conocido para Samba o cancelar para utilizar Windows sin la red como antes. Ahora, sin embargo, la ventana de pop-up que se abrió con Ctrl-Esc, incluye cerca de la base una linea de logoff que mas adelante provee el mismo indicador de logon al iniciar. Y las entradas en la barra de tareas --en el directorio home, de alguna manera --te dice quien y donde estas, como en

    "Explorer - <user> at <host>"

    donde "" es la tercera columna de la entrada para la maquina Linux en /etc/hosts en la maquina Linux.

    Los enlaces simbólicos trabajan bastante bien. El siguiente fue ejecutado dentro del directorio home de algún usuario crea un directorio --aun en una partición diferente --en la maquina Linux disponible a aquel usuario en la maquina Windows:

    ln -s /dos/f/pictures pictures

    Debido a una pérdida de recursos en la PC y al hecho de que no tengo uso real para Windows de algún modo, utilizo los siguientes scripts para comenzar y detener los demonios de Samba en la PC como se vayan necesitando:

    /root/samba-up:     #!/bin/bash
                        /usr/sbin/smbd    -d3    -l /tmp/sbd.log
                        /usr/sbin/nmbd -D -d0 -o -l /tmp/sbd.log
    
    /root/samba-down:   #!/bin/bash
                        kill -s SIGTERM $(ps aux | grep mbd \
                            | grep -v grep | awk '{print $2}')
    
    Una vez que tienes esto trabajando, no tomará 5 minutos para instalar una impresora de red. Quite comentarios (o añada) lo siguiente a smb.conf:
    [printers]
       comment = All Printers
       browseable = no
       printable = yes
       public = no
       read only = yes
       create mode = 0700
       directory = /tmp
    
    Y luego invierta algún tiempo con el sistema de entrada de datos arcaico en la maquina Windows:
    control panel | printer | new printer
      network printer | search
        network environment | Pc
          hpdj-a4-raw
        manufacturer: HP
        printer:      HP OfficeJet
    
    Apaga y reinicia Samba y estas en negocio.

    7. Inicio Rápido - PCMCIA

    Para ser honesto no tengo idea si esto es aplicable de forma general o es específico para SuSE (8.0). Y era solamente el kernel 2.4 que tenia problemas con PCMCIA, no 2.2 bastante extraño. También, no tiene nada que hacerse con la red por sí misma. Pero si vas a conectar una notebook con tu red, probablemente no tengas que confrontar el monstruoso alfabeto. Y una tarjeta Ethernet PCMCIA cree una estación base placentera.

    Omitiendo muchos detalles, inicialmente fracasé en notar una inconsistencia con las referencias a irq 5 y 10 que mas tarde me llevaron a toneladas de mensajes. Pero fue debido a haber insertado la tarjeta PCMCIA antes de comenzar la instalación de Linux.

    En mi caso al menos, al no insertar la tarjeta PCMCIA antes de iniciar la instalación, hubo una referencia a solamente un irq que me condujo a lo siguiente.

    After initial boot in /etc/sysconfig/pcmcia add

    	PCMCIA_PCIC="i82365"
    	PCMCIA_PCIC_OPTS="irq_list=10"
    
    y luego corro /sbin/SuSEconfig y reinicio.

    Sin embargo, instalar el software PCMCIA antes de hacer esto provoca que el notebook se cuelgue irremediablemente al iniciar. La única forma de iniciar es dándole al LILO el parámetro de NOPCMCIA=yes. En vez de esto, yo instalé el software PCMCIA después del SuSEconfig y antes de reiniciar.

    Después de esto, insertar la tarjeta PCMCIA provoca un par de pitidos y trabaja sobreaviso. Ya que este es mi primera experiencia personal con Ethernet, no puedo comentar sobre alternativas pero la tarjeta Ethernet PCMCIA DFE-650TXD trabaja bien, Linux-a-Linux de alguna manera (un par de horas enviando material sobre la red antes de arriesgarse con el indeseable "Recovery CD-Rom" para hacer que Windows 98 trabaje de nuevo) y tiene muchos LEDs que te permiten saber lo que está pasando

    Aquí esta la salida desde /sbin/cardctl config e ident.

    CONFIG:

    Socket 0:
      not configured
    Socket 1:
      Vcc 5.0V  Vpp1 0.0V  Vpp2 0.0V
      interface type is "memory and I/O"
      irq 10 [exclusive] [level]
      function 0:
        config base 0x0400
          option 0x60 status 0x00 copy 0x00
        io 0x0300-0x031f [auto]
    

    IDENT:

    Socket 0:
      no product info available
    Socket 1:
      product info: "D-Link", "DFE-650TXD", "Fast Ethernet", "Rev. A1"
      manfid: 0x0149, 0x0230
      function: 6 (network)
    

    8. Para profundizar en el tema

    Vea también los siguientes artículos en la edición de Linux Gazette indicada:
    36: Introducing Samba by John Blair
    39: Expanding Your Home Network by J.C. Pollman
    44: DNS for the Home Network by J.C. Pollman and Bill Mote
    47: Backup for the Home Network by J.C. Pollman and Bill Mote
    48: SAMBA, Win95, NT and HP Jetdirect by Eugene Blanchard
    50: Sharing your Home by J.C. Pollman and Bill Mote
    57: Making a Simple Linux Network Including Windows 9x by Juraj Sipos
    61: Using ssh by Matteo Dell'Omodarme
    64: ssh suite: sftp, scp and ssh-agent by Matteo Dell'Omodarme
    67: Using ssh-agent for SSH1 and OpenSSH by Jose Nazario
    74: Play with the Lovely Netcat by zhaoway

    La base de conocimiento de Linux Gazette Answer Gang acerca de configuración de redes contiene numerosos pedazos relevantes entre los cuales Routing and Subnetting 101 es lectura obligada.

    And the Linux Focus Index by Subject under System Administration has several articles well worth looking at, e.g.:
    Replacing a Windows/NT/2000 server using Linux and Samba by Sebastian Sasias
    Through the Tunnel by Georges Tarbouriech
    Samba Configuration by Eric Seigne
    Network File System (NFS) by Frederic Raynal
    Home Networking, glossary and overview by Guido Socher

    9. ¿Un futuro sin Windows?

    Viniendo de los días de las TRS-80, he usado DOS, varias versiones de Windows, al menos 3 versiones de OS/2, Coherente, y ahora 5 versiones de SuSE Linux por menos 5 años. Estoy convencido que alguien en una posición para "comparar y contrastar" estaría de acuerdo que a lo mejor Windows es inestablemente descartado. Una de mis metas desde hace algún tiempo ha sido ganar completa independencia de Windows.

    Pero considera: nuestro sistema de telefonía ISDN tiene un conector RS-232 con el cual puede ser programado vía -si, lo tienes. Una de las impresoras es USB para la notebook y adivina que controladores están disponibles. Nuestra cámara digital usa medios inteligentes y el lector de medios inteligentes USB... Oh, bien, tu tienes el contexto.

    Solamente he tenido a Samba trabajando una semana y realmente no había intentado revisarlo, ya que todo lo demás funciono tan bien que no parecía valer la pena. Y es tan funcional que yo cuestiono si realmente merecería la pena mi esfuerzo para intentar encontrar controladores de reemplazo para este material de licencia. ¿Cuántas horas, cuántos experimentos, qué garantía de éxito? ¿No tiene más sentido iniciar la notebook bajo el "sistema tonto" (yo espero que Monty Python pusiera eso bajo GPL) y usar la conexión Samba al resto de la red? Por lo menos hasta que el último dispositivo del Windows-legal se coma esté

    [BIO] Edgar es un consultor en el área de Cologne/Bonn en Alemania. Su trabajo diario involucra ayudar a un cliente con la nómina, mantener antiguos programas implementados en el Ensamblador de IBM , en algunas ocaciones COBOL , y por otra parte usando QMF, PL/1 y DB/2 bajo MVS.


    Copyright © 2003, Edgar Howell. Copying license http://www.gacetadelinux.com/en/lg/copying.html
    Publicado en el número 87 de Linux Gazette, Febrero 2003