|
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
|
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:
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!
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.
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:
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.
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
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/
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.
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:
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 " 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:
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
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:
IDENT:
Vea también los siguientes artículos en la edición de Linux Gazette indicada:
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.: 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é
/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
PCMCIA_PCIC="i82365"
PCMCIA_PCIC_OPTS="irq_list=10"
y luego corro /sbin/SuSEconfig y reinicio.
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]
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
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
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?
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.
Publicado en el número 87 de Linux Gazette, Febrero 2003