miércoles, 4 de marzo de 2015

Instalar server RAS en Ubuntu 12.04 con tarjeta LAVA DSerial-PCI + Modem Serie y USB


Vamos a desplegar un escenario donde instalaremos un servidor de acceso remoto (RAS) con Ubuntu 12.04. En este escenario tenemos conectado al servidor una tarjeta PCI-Serie, que nos va a habilitar 2 puertos serie (RS-232), la tarjeta es de marca LAVA DSerial-PCI donde conectaremos un modem serie Multitech MT5656ZDX, adicionalmente conectaremos un modem USB TRENDnet TFM-561U. Tambien tenemos como especificaciones que se conectaran usuarios del sistema, aplicaremos identificación de llamadas (CallerID) y dichos usuarios accederán a otra PC conectada a este segmento de red para obtener otros servicios que bien puede ser correo electrónico.

Comenzaremos por comprobar que nuestro sistema ha detectado e instalado correctamente nuestra tarjeta PCI, usaremos el comando lspci –v –d 1407:* el cual nos debe dar una salida como la siguiente en la cual nos muestra que tenemos habilitados 2 puertos series adicionales en el sistema.


Aplicamos el comando ls /dev/ttyS*  y setserial –g /dev/ttyS[012345] para ver los puertos series habilitados en el sistema y los parámetros de configuración para los puertos del 0 al 5 respectivamente 


Si por alguna razón el o los puertos no quedan correctamente configurados automáticamente se deberá ajustar la configuración manualmente con el comando setserial.


Ahora ya tenemos conectado el modem serie a la tarjeta y el modem usb en su respectivo puerto, aplicamos el comando wvdialconf , (quizás previamente deba instalarse el paquete wvdial con apt-get install wvdial) y veremos una salida como la siguiente


Como vemos el sistema ha detectado 2 modem, 1 modem serie en el puerto ttyS5 y 1 modem usb en el puerto ttyACM0

Ahora que ya tenemos los modem conectados y detectados por el sistema vamos instalar y configurar el servicio.

  • Instalando los paquetes mgetty y ppp 

       # apt-get install mgetty ppp


  •  Configurando la respuesta automática de los modem: como estamos en Ubuntu 12.04 vamos a editar (si no existe crearlo) el fichero /etc/init/tty5.conf y /etc/init/ttyACM0.conf que deben quedar de la siguiente forma:
              /etc/init/tty5.conf
 

        /etc/init/ttyACM0.conf


Podemos ejecutar el comando init q para que se recargue esta configuración
  
  • Configurando mgetty

Comenzamos editando el fichero /etc/mgetty/mgetty.conf que debe quedar  con el siguiente aspecto:

Como vemos cada sesión corresponde a uno de cada modem;
  •    La línea init-chat contiene las cadenas de inicialización del modem y la sección at+vcid=1 es la activación del callerID del modem
  •    rings 2: fijamos a 2 timbres antes de la respuesta del modem; la central telefónica envía el CallerID entre el 1er y 2do timbre.
  • ringback no:  ”creo”, digo creo porque no estoy muy seguro, que es para que el modem no haga llamadas atrás.

Editamos el  fichero /etc/mgetty/login.conf y dentro le indicaremos que las opciones la estableceremos en el fichero /etc/ppp/options, quedando login.config de la siguiente manera:


Editando el fichero /etc/ppp/options (comento las opciones más importante    para mi escenario)


Como tenemos 2 modem conectados al sistema debemos especificar ip del servidor y del cliente para el caso de que 2 usuarios conectaran al mismo tiempo.
  
  • Editando y/o creando los ficheros /etc/ppp/options.ttyS5 y /etc/ppp/options.ttyACM0
/etc/ppp/options.ttyS5


/etc/ppp/options.ttyACM0

  • Ahora editaremos el fichero /etc/ppp/pap-secrets que es donde ajustamos para que se loguen los usuarios del sistema, quedando asi:




  • Casi terminando editaremos el fichero  /etc/mgetty/dialing.config donde configuramos los números telefónicos que pueden conectar a nuestro server, recordar que necesitaremos tener activado el servicio de CallerID por parte del proveedor de telefonía fija.  Anotar que he instalado servidores RAS en Windows 2003 y debo reconocer que esta forma de manejar la verificación de CallerID en Linux (Ubuntu 12.04) me ha gustado por varias razones:
  1. Si el número entrante no está en la lista, el modem sencillamente no responde a la llamada.  
  2. Si el usuario tiene varios numero asociados es sencillo especificarlos en el fichero dialing.config, en Windows 2003 hay que escribir un script de comandos vbs para modificar la propiedad  msNPSavedCallingStationID del usuario; esta propiedad está disponible solo si el server es un controlador de dominio. 

Pero esto también tiene algunas desventajas tal como que no puedo anclar un usuario a uno o varios números telefónicos, esto es que el usuario pepe podrá conectar desde cualquiera de los numero listados en dialing.config. Por supuesto aclarar que no es objetivo de este articulo hacer comparaciones entre ambos sistemas.

En el fichero /etc/mgetty/dialing.config también es posible escribir patrones, por ejemplo:

#pueden conectar todos los numero que comiencen con 213250
  213250

# No conectar ninguno que comience con 33
  !33


Al final del archivo terminamos con !all para denegar conexión a todo el que no esté en este fichero.

Hasta aquí ya nuestro server brinda servicio RAS, ahora vamos a configurar opciones de enrutamiento para que el usuario pueda consumir servicios en otras pc del segmento de red donde está el server. 



De modo que podemos escribir lo siguiente o bien dentro del archivo /etc/rc.local o bien dentro de nuestro script de iptables

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

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
 


 
 

No hay comentarios.:

Publicar un comentario