miércoles, 6 de junio de 2007

Linux RAS

####################################################
### howto linux RAS v0.1 / joemac@lugmen.org.ar / 2007 - 06 - 06 ###
####################################################

Creo que deben existir algo más de 30millones de tutoriales sobre como configurar un ras en linux, pero bueno... para no olvidarme acá va uno más.

CONFIG MODEM SMARTLINK USB
---------------------------
Comenzamos para este caso bajando los drivers apropiados para manejar estos modems genéricos, dependiendo de la distribución sera en mayor o menor medida dificil dejarlo en condiciones. pero basicamente tendremos que tener por lo menos los headers del kernel que estemos usando (en el caso de los precompilados) para poder generar el modulo que se insertará luego en /lib/modules/kernelver/misc/

En mi caso al instalarlo en una distribución basada en debian pude usar module-assistant que se encargó de bajar el driver-source de este modem y algunas cosillas mas para automatizar la carga de este al arranque (creación de nodos, etc)

Por alguna razón los nodos que creo para este modem se borran (solo los lsusb, los lsamr permanecen estáticos) pero como solo lo necesito para una presentación y no planeo usarlo luego podemos crearlos a mano.

mknod -m 600 /dev/slamr0 c 242 0 ; mknod -m 600 /dev/slamr1 c 242 1 ; mknod -m 600 /dev/slamr2 c 242 2 ; mknod -m 600 /dev/slamr3 c 242 3 ; echo -n
mknod -m 600 /dev/slusb0 c 243 0 ; mknod -m 600 /dev/slusb1 c 243 1 ; mknod -m 600 /dev/slusb2 c 243 2 ; mknod -m 600 /dev/slusb3 c 243 3 ; echo -n


luego de esto hay qe cargar el módulo slusb (si es que no se autocargó con udev y hotplug) y ejecutar

slmodemd /dev/slusb0 (con esto creamos el enlace simbolico a /dev/ttySL0)

CONFIG MGETTY
-------------------------
Para mi caso solo necesito agregar a /etc/mgetty/login.config

/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options.SL0

Con lo cual le especificamos que auto levante ppp cuando reciba una conexion en el modem y que use los parámetros especificados en options.SL0

CONFIG PPP
-------------------------
Acá vamos a definir los métodos de conexion permitidos, velocidades, dns, ip, etc

Para este caso creamos el archivo /etc/ppp/options.SL0 con lo siguiente:

-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 192.168.10.2
usepeerdns
192.168.10.3:192.168.10.250
noauth

La primera ip es la que se le asignará al modem del lado del servidor al momento de establecer la conexión y la segunda es la ip que se le asignará al modem cliente que está llamando

Luego editamos /etc/ppp/pap-secrets agregando

* * "" *

Es bastante precario poner esto pero lo cierto es que por el momento para esta prueba no requería de más. (Si se desea pueden poneres usuarios y passwords específicos para determinada conexión o determinada ip)

PUESTA EN MARCHA
---------------------------

Luego de esto estamos en condiciones de aceptar conexiones entrantes y atenderlas con mgetty

Desde una terminal ejecutamos

mgetty /dev/ttySL0

(Podemos también si es nuestra intención dejar este servicio andando continuamente si agregamos a /etc/inittab
SL0:2345:respawn /sbin/mgettty /dev/ttySL0)

y probamos conectarnos desde alguna máquina remota con user y pass de alguien que esté creado en el sistema. (creando una conexión de acceso telefónico por ej)


Para habilitar el acceso a otros puntos de la red y compartir internet por ej, hacemos:

echo "1" > /proc/sys/net/ipv4/ip_forward

y listo tenemos acceso a la red local. Podriamos jugar un poco con iptables para hacer los ruteos un poco mas convenientes pero este no es el caso.


ALTERNATIVA SIN LINEA TELEFONICA (enlace punto a punto directo)
---------------------------

Una alternativa es usar programas como minicom y al momento de efectuar la llamada desde el cliente levantar el modem con un ATA y posteriormente insertar un script (que lleve /sbin/mgetty -r /dev/ttySL0), esto se hace ejecutando Alt+K pero debe haberse definido previamente en la configuración de minicom este script.
Puede ser que mgetty no atienda porque quiera trabajar sobre el mismo lockfile que minicom, podemos solucionarlo editando la configuración de minicom y estableciendo un nuevo archivo (en una ruta distinta) para el lock.
Por ej: originalmente está en /var/lock, y podríamos cambiarlo a /tmp/lock (cada programa usará un lock propio)

EOF

2 comentarios:

Unknown dijo...

Gracias esta muy bueno su manual pero tengo una pregunta ya tengo mi moden instalado bueno eso pienso ya que me lo reconoce
Dispositivos PCI 00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller
00:1f.2 IDE interface: Intel Corporation 82801EB
00:1f.3 SMBus: Intel Corporation 82801EB/ER
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER
01:00.0 Communication controller: Conexant HSF 56k HSFi Modem
01:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
01:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
esto me la da phpsysinf
ahora lo que pasa es que no responde a la llamada como pruebo que el esta respondiendo la llamada .. ayuda

Unknown dijo...

Buenos dias espero que me pueda ayudar
Tengo un sistema de servidores con etch
y deceo montar un servidor remoto ya que tengo interned y quiero dar
servicios a mis usuarios via telefono
cuento con un moden
Conexant HSF 56k HSFi Modem
2 targetas de red
instale el paquete hsfmodem_7.80.02.03full_i386.deb
y mgetty pero mi moden no responde
por favor ayuda si puedes pasarle este correo a alguien que me pueda ayudar
se lo agradeceria mi chat es csimonmoner78@gmail.com
solo chat y este es mi correo...