El cable paralelo con el que me ha funcionado esto es un PLIP tipo 0 (4 bits, conocido también en Windows como "LapLink"). Aún no he logrado que funcione con el PLIP tipo 1 (8 bits).
En cuanto al cable serie, es uno corriente de los llamados "módem nulo".
En este ejemplo, vamos a llamar "desktop" a la máquina que está conectada al mismo tiempo a una red y al cable PLIP ó SLIP, y "notebook" a la que sólo está conectada a "desktop", mediante el cable.
Tienen las siguientes características:
En mi caso, ninguno de los nombres coincide, y así funciona bien.
Necesitamos recompilar el núcleo.
Opciones necesarias para núcleos 2.0.x:
Loadable module support ---->
[*] Enable loadable module support
[*] Kernel daemon support (e.g. autoload of modules)
General setup:
<M> Parallel port support
<M> PC-style hardware
[ ] Support foreign hardware
Networking options ---->
[*] Network firewalls
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
[*] IP: firewalling
[*] IP: masquerading
[*] IP: ICMP masquerading
[*] IP: always defragment
Network device support ---->
[*] Network device support
<m> PLIP (parallel port) support
<m> PPP (point-to-point) support
<m> SLIP (serial line) support
[*] CSLIP compressed headers
- Si quieres poner soporte para impresora, debe estar como módulo:
Character devices ---->
<M> Parallel printer support
|
Opciones para núcleos 2.2.x:
Loadable module support ---->
[*] Enable loadable module support
[*] Kernel module loader
General setup:
<M> Parallel port support
<M> PC-style hardware
[ ] Support foreign hardware
Networking options ---->
[*] Network firewalls
[*] TCP/IP networking
no existe ---- [*] IP: forwarding/gatewaying
Se activa con: echo "1" > /proc/sys/net/ipv4/ip_forward
[*] Network firewalls
[*] IP: firewalling
[*] IP: alway defragment (required for masquerading) (NEW)
[*] IP: masqueraing (NEW)
[*] IP: ICMP masquerading (NEW)
[*] IP: masquerading special modules support (NEW)
Network device support ---->
[*] Network device support
<m> PLIP (parallel port) support
<m> PPP (point-to-point) support
<m> SLIP (serial line) support
[*] CSLIP compressed headers
- Si quieres poner soporte para impresora, debe estar como módulo:
Character devices ---->
<M> Parallel printer support
|
Ahora creamos el paquete del núcleo:
debian/rules kernel_image |
Y lo instalamos con dpkg -i.
Ahora hay que configurar los módulos. Aunque el archivo para ésto es "/etc/conf.modules", no vamos a modificarlo directamente. Debian proporcina unas herramientas, las modutils, que permiten que la configuración resulte más clara y ordenada. De esta forma, añadiremos la siguientes líneas a "/etc/modutils/aliases":
alias plip0 plip alias plip1 plip alias slip0 slip alias slip1 slip |
A "/etc/modutils/modconf":
options parport_pc io=0x378 irq=7 |
Y construiremos el archivo "/etc/conf.modules" con:
update-modules |
Luego abrimos "/etc/modules" para eliminar las entradas repetidas que pudiera haber. Cada módulo sólo necesita aparecer una vez.
A partir de aquí, el manejo es igual para ambos módulos. Los ejemplos se muestran con plip.
Cargamos el módulo, con:
insmod plip |
y comprobamos que se cargado con:
lsmod |
Deberá aparecer una línea que menciona el módulo plip.
Para ver en qué puerto exacto utiliza plip, buscamos la línea correspondiente en syslog con:
grep -i "plip" /var/log/syslog |
En mi caso, la máquina "desktop" usa el plip1, puerto 0x378, IRQ 7, y la máquina "notebook", el plip0, puerto 0x378, IRQ7.
Elegimos direcciones IP para cada uno de los ordenadores. Conviene usar unas que pertenezcan a los márgenes dedicados a redes privadas:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
Por ejemplo, podemos usar 192.168.168.1 y 192.168.168.2.
Las añadimos en el archivo "/etc/hosts" en las dos máquinas:
192.168.0.1 desktop 192.168.0.2 notebook |
Activamos la interfase PLIP.
En "desktop":
ifconfig plip1 desktop pointopoint notebook up |
En "notebook":
ifconfig plip0 notebook pointopoint desktop up |
Cuidado, es "pointopoint", no "pointtopoint". Esto me causó un montón de problemas al principio, hasta que me dí cuenta 3 horas más tarde.
Añadimos la ruta correspondiente. Si no hemos configurado el encaminamiento de red anteriormente, no tendremos las variables NETWORK ni NETMASK. Miramos si las tenemos con:
echo $NETWORK echo $NETMASK |
Si no están ya definidas, podemos usar éstas de momento:
export NETWORK="192.168.0.0" export NETMASK="255.255.255.0" |
En "desktop":
/sbin/route add -net ${NETWORK} netmask ${NETMASK} dev plip1
|
En "notebook":
/sbin/route add -net ${NETWORK} netmask ${NETMASK} dev plip0
route add default gw desktop
|
Probamos desde cada máquina, con ping a la otra. Desde "desktop":
ping notebook |
Y desde "notebook":
ping desktop |
Sección "LocalHost":
LocalHost
{
desktop
192.168.0.1
localhost
127.0.0.1
}
|
Sección "AllowedConnect":
AllowedConnect
{
192.168
}
|
Para activar los cambios:
wwwoffle -config |
Por ejemplo, para acceder desde netscape al proxy en "desktop", pondremos como proxy http y ftp "desktop", con el puerto "8080".
Modificamos el archivo "/etc/news/nnrp.access". Añadimos esta línea al final:
192.168.*:Read Post:::* |
Y ya está.
Primero, necesitamos que se comuniquen, y para eso hacemos lo del punto aterior.
Ahora, configuramos newsx e INN de forma que "notebook" obtenga sus news de "desktop", y le envíe los mensajes que haya pendientes en el servidor local.
Añadimos la siguiente línea a "/etc/news/newsfeeds":
desktop/news.desktop:*,!junk,!control,!local.*:Tf,Wf: |
El nombre "news.desktop" debe corresponderse con el que el servidor INN de desktop usa para identificarse en el campo path de los mensajes.
Creamos el archivo "/var/spool/news/in.hosts/desktop", y ponemos en él todos los grupos que queramos mantener sincronizados, seguidos cada uno por un "0", y finalizado todo con ":stop":
es.comp.os.linux.instalacion 0 es.comp.os.linux.misc 0 es.comp.os.linux.redes 0 es.comp.os.linux.programacion 0 :stop |
Creamos un archivo vacío para salida de mensajes:
touch /var/spool/news/out.going/desktop |
Sólo nos falta el script que realice la sincronización. Lo pondremos, por ejemplo, en "/var/spool/news/syncnews":
#!/bin/bash BOBINA=desktop SERVIDOR=desktop /usr/lib/news/bin/newsx --inn -dd -e stop --window 10 --rnews $BOBINA $SERVIDOR |
Le ponemos los permisos:
chmod 750 /var/spool/news/syncnews |
Y decimos a INN que relea los archivos de configuración:
ctlinnd reload "" "" |
Listo. Sólo tenemos que entrar como usuario news, y ejecutar ./syncnews desde su directorio.
En "desktop", si usamos un Kernel 2.2.x:
echo "1" > /proc/sys/net/ipv4/ip_forward |
y luego, tanto en kernels 2.0.x como 2.2.x:
ipfwadm -F -p deny ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0.0/0 |
Vamos a hacer que el ordenador que actúa como servidor ("desktop") tenga activada la interfase PLIP desde el arranque.
Creamos el archivo "/etc/rc.boot/plip":
#!/bin/bash
insmod plip
# Activamos la interfase plip0 con la dirección 192.168.0.2
ifconfig plip0 notebook pointopoint desktop up
ifconfig
export NETWORK="192.168.0.0"
export NETMASK="255.255.255.0"
route add -net ${NETWORK} netmask ${NETMASK} dev plip0
echo "1" > /proc/sys/net/ipv4/ip_forward
ipfwadm -F -p deny
ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0.0/0
/root/setplip_server
/root/setipmasq
|
Y le damos los permisos adecuados:
chmod 755 /etc/rc.boot/plip |