Como instalar un servidor de PPP con devolución de llamada en Linux.
Tras encontrarme con la necesidad de conectarme a la red de mi oficina, o a Internet, y no poder disponer de ninguna red pública inalámbrica, decidí instalar y configurar en mi servidor Linux un servicio ppp para conectarme desde el exterior aunque fuera a través de una conexión de banda estrecha.
Una vez estuvo instalado y funcionando, me di cuenta de que conectarse a través de una línea telefónica clásica puede ser, además de lento, caro. Como en mi oficina disponemos de una línea de voz con tarifa plana a fijos de cualquier parte del país, implementé un sencillo sistema de conexión con devolución de llamada. Así, me puedo conectar a mi oficina para introducir el número de teléfono al que está mi portatil conectado, tras lo cual el sistema colgará la llamada, que no tiene que haber sido superior al minuto, y en 30 segundos la oficina llamará al numero de teléfono previamente introducido y establecerá la comunicación. Esta funcionalidad, para cualquiera que disponga de paquetes de Internet a banda ancha + tarifa plana en llamadas a fijos puede ser muy interesante.
Requisitos:
- PC que hará las funciones de servidor PPP, con Linux u otra variedad de UNIX.
- Modem conectado al PC y a la línea telefónica, y que sea compatible con Linux (preferiblemente externo a RS-232)
- Conexión de banda ancha.
- Paquetes mgetty+sendfax y pppd instalados.
By clicking on these ads you help supporting this site
Configuración básica del servicio ppp
Vamos a crear un usuario usuarioppp que usaremos para conectarnos. Asumo que el ejecutable pppd se encuentra en /usr/sbin/pppd.
useradd -s /usr/sbin/pppd usuarioppp
Vamos al directorio /etc/mgetty+sendfax y añadimos la suguiente línea al archivo login.config.
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options.pppserver
Es posible que exista ya una linea que empieza con /AutoPPP/. Si es así, comentala para sólo usar la ya mencionada aquí.
Vamos al directorio /etc/ppp. Creamos un archivo nuevo que se llame options.pppserver. Dentro de este archivo introducimos los siguientes parámetros:
-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 194.224.52.4
ms-dns 194.224.52.6
usepeerdns
Cambia los valores de ms-dns para reflejar los que te ofrezca tu proveedor. En caso de duda puedes dejar estos, son de Telefónica y van bastante bien.
Creamos también en /etc/ppp un archivo llamado options.ttyS0 (suponiendo que ttyS0 es el puerto serie donde tienes conectado el modem, cambialo si fuera necesario) en donde pondremos los siguientes parámetros:
192.168.1.200:192.168.1.202
noauth
Estas IPs pueden pertencer a tu rango de IPs de la red interna. Recuerda que debes tener IP Masquerading/NAT activado en tu máquina Linux para conectar a Internet desde IPs privadas.
Edita en /etc/ppp el archivo pap-secrets y añade la entrada:
usuarioppp * tucontraseña 192.168.1.202
Cambia tucontraseña a lo que desees.
Editamos ahora /etc/inittab y añadimos la siguiente línea:
m1:235:/usr/sbin/mgetty ttyS0 -D /dev/ttyS0 -n 5
El parámetro -D significa que el puerto /dev/ttyS0 aceptará conexiones de datos, y -n indica el número de tonos a esperar antes de contestar la llamada. Cambia estos parámetros como desees.
Ejectuta init q para recargar la configuración de inittab. Ahora ya puedes
Haz suid el ejecutable pppd en caso de que no lo sea:
chmod u+s /usr/sbin/pppd
Prueba tu servidor. Si te puedes conectar, ya has conseguido hacer lo más dificil. Si no puedes, mira los logs /var/log/messages y /var/log/mgetty.ttS0 a ver que te dicen…
Configuración del sistema de devolución de llamadas
Crea un nuevo usuario, por ejemplo, llamame:
useradd -s /dev/null llamame
Vamos a /etc/mgetty+sendfax y creamos un archivo vacío llamado callback.config
Editamos en /etc/mgetty+sendfax el archivo login.config y añadimos la siguiente línea:
llamame - - /usr/local/bin/devuelvelallamada
Creamos el archivo /usr/local/bin/devuelvelallamada y le añadimos lo siguiente:
#!/bin/sh fecha=`date`
echo "---------------------------------------------------"
echo "| |"
echo "| Servicio de Conexion Telefonica PPP Privado |"
echo "| ----------------------------------------------- |"
echo "| |"
echo "---------------------------------------------------"
echo " " echo "La hora de acceso es:" $fecha
echo " "
echo -n "Introduce un numero de telefono valido: "; read -n9 x
/usr/sbin/callback -l ttyS0 $x
Este script nos pregunta un número de teléfono de 9 cifras y en pocos segundos marca a través del modem conectado a /dev/ttyS0. Este script es muy básico y puede ser mejorado si lo deseas.
Configuración de Windows para aceptar llamadas entrantes
Tenemos que configurar Windows ahora para que automaticamente conteste a la llamada entrante. Para ello, iremos a la configuración del modem en el Panel de Control, y añadiremos la siguiente cadena adicional a la de la inicialización del modem.
&c0s0=1
Ya puedes probar tu nuevo servidor de PPP con devulución de llamadas.
|
|
By clicking on these ads you help supporting this site