mgetty+ppp_para_acceso_remoto
para hechar a andar un servidor ras bajo linux, en mi caso debian
todo esto es partiendo de que tu modem este funcionmando bajo linux
debes tener en cuenta a partir de que comiences a leer esta guia que el
enlace simbolico que me crea el debian a mi modem es /dev/ttyS0
por tanto donde quiera que diga /dev/ttyS0 lo sustituyes por el enlace
simbolico que te asigna tu sistema a tu modem ok.
si estas utilizando el conexant a mi como me funciono fue con el enlace
simbolico (/dev/modem/) asi que todo lo que refiera en esta guia a
/dev/ttyS0/ lo sustituyes por /dev/modem/
1) instalas la paqueteria que vas a utilizar para esto:
atp-get install mgetty
apt-get install ppp
puede ser por aptitude, apt-get o como mas te guste eso es a tu eleccion y
gusto.
tendras tres puntos claves:
etc/
- inittab (es en donde estableces algunos parametros referentes a como vas a
escuchar las conexiones entrantes. si de modo automatico o manual)
etc/mgetty/
- login.config (es donde vas a declarar que los usuarios que accedan al
servidor ras van a ejecutar el demonio pppd a modo automatico y donde
estaran las opciones de esta conexion automatica
etc/ppp/
- pap-secrets (es en donde vas a declarar la autenticacion de los usuarios
que tendran acceso a autenticarse en el servidor ras)
- aremoto.modem (este fichero lo vas a crear tu y en el pondras las opciones
de tu servidor ras)
ahora vienen los configs:
etc/inittab
en este config yo lo que hago es crear la linea para que mi modem espere de
forma automatica pero siempre la tengo comentada y lo que hago que cuando
alguien se quiera conectar a mi pc yo le pongo de forma manual el modem en
espera de llamadas)
aqui va el config y mas abajo como poner de forma manual el modem en espera
de llamadas:
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this
work."
# What to do when the power fails/returns.
pf:owerwait:/etc/init.d/powerfail start
pn:owerfailnow:/etc/init.d/powerfail now
po:owerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# :::
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
#1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
poner a escuchar automaticamente el moden, borrar en la siguiente line el
signo de (#) y reiniciar el pc en linux)
#S1:234:respawn:/sbin/mgetty -n2 -s 57600 -D /dev/ttyS0
fijate en la ultima linea que esta comentada, cuando quiera poner en escucha
mi modem a modo automatico, pues descomento esa linea y listo.
para poner en escucha tu modem a modo manual abres una shell y autenticado
como root pones:
mgetty -n2 -s 57600 -D /dev/ttyS0
das enter y veras que la linea de comandos se queda en espera, para
comprobar que el servicio esta en espera, autenticado como root y en otra
shell:
ps mx
y veras el proceso en espera
para matar los procesos en espera:
killall mgetty
etc/mgetty/login.config
#
# Automatic PPP startup on receipt of LCP configure request (AutoPPP).
# mgetty has to be compiled with "-DAUTO_PPP" for this to work.
# Warning: Case is significant, AUTOPPP or autoppp won't work!
# Consult the "pppd" man page to find pppd options that work for you.
#
# NOTE: for *some* users, the "-detach" option has been necessary, for
# others, not at all. If your pppd doesn't die after hangup, try it.
#
# NOTE2: "debug" creates lots of debugging info. LOOK AT IT if things
# do not work out of the box, most likely it's a ppp problem!
#
# NOTE3: "man pppd" is your friend!
#
# NOTE4: max. 9 arguments allowed.
#
#/AutoPPP/ -a_ppp/usr/sbin/pppd auth -chap +pap login debug
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/aremoto.modem
#
#
# An example where no login name in the argument list is desired:
# automatically telnetting to machine "smarty" for a given login name
#
#telnet-smartygasttelnet/usr/bin/telnet -8 smarty
#
# This is the "standard" behaviour - *dont* set a userid or utmp
# entry here, otherwise /bin/login will fail!
# This entry isn't really necessary: if it's missing, the built-in
# default will do exactly this.
#
*--/bin/login @
veras dos lineas similares una comentada y la otra no:
#/AutoPPP/ -a_ppp/usr/sbin/pppd auth -chap +pap login debug
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/aremoto.modem
la que esta comentada es la que trae por defecto, yo a modo muy particular
prefiero trabajar con las configuraciones lo mas limpias posible de
comentarios y lineas que no hacen nada finalmente por tanto cree una nueva
linea la cual la remito a un fichero de configuracion que creare luego y en
el pondre los parametros de mi conexion, es el caso de la linea que no esta
comentada, en la que remito al demonio pppd que lea la configuracion que se
encuentra en etc/ppp/aremoto.modem
etc/ppp/
pap-secrets
#
# /etc/ppp/pap-secrets
#
# This is a pap-secrets file to be used with the AUTO_PPP function of
# mgetty. mgetty-0.99 is preconfigured to startup pppd with the login option
# which will cause pppd to consult /etc/passwd (and /etc/shadow in turn)
# after a user has passed this file. Don't be disturbed therefore by the
fact
# that this file defines logins with any password for users. /etc/passwd
# (again, /etc/shadow, too) will catch passwd mismatches.
#
# This file should block ALL users that should not be able to do AUTO_PPP.
# AUTO_PPP bypasses the usual login program so it's necessary to list all
# system userids with regular passwords here.
#
# ATTENTION: The definitions here can allow users to login without a
# password if you don't use the login option of pppd! The mgetty Debian
# package already provides this option; make sure you don't change that.
# INBOUND connections
# Every regular user can use PPP and has to use passwords from /etc/passwd
hostname "" *
pipe * "passw de pipe" *
papo * "passw de papo" *
# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
# other accounts that should not be able to use pppd!
guest hostname"*"-
master hostname"*"-
root hostname"*"-
support hostname"*"-
stats hostname"*"-
# OUTBOUND connections
# Here you should add your userid password to connect to your providers via
# PAP. The * means that the password is to be used for ANY host you connect
# to. Thus you do not have to worry about the foreign machine name. Just
# replace password with your password.
# If you have different providers with different passwords then you better
# remove the following line.
#*password
en este caso te remites al apartado (# INBOUND connections)donde de antemano
vas a decidir si los usuarios que accederan a tu servidor ras se van a
autenticar con los datos de sistema o mediante los datos que pondras aqui,
te explico, cuando das de alta a un usuario en tu sistema digamos tu propio
usuario el tiene un campo user y uno passw el cual tomatra del shadow o del
passwd, bien en el apartado (# INBOUND connections) si dejas los parametros
de este modo:
# INBOUND connections
# Every regular user can use PPP and has to use passwords from /etc/passwd
#*hostname""*
el tratara de buscar en los usuarios de sistema si los parametros de la
conexion entrante coinciden en caso que coincidan pues te vas a autenticar y
tener acceso si no bueno pues te dara el mensage de usuario no valido.
NOTA: SI UTILIZAS ESTA OPCION DEBES DECLARAR EN EL FICHERO (aremoto.modem)
la opcion (login)
si quieres autenticar contra usuarios virtuales pues lo haces de este modo,
digamos que tienes dos usuarios virtuales (pipe) y (papo):
# INBOUND connections
# Every regular user can use PPP and has to use passwords from /etc/passwd
#*hostname""*
pipe * "passw de pipe" *
papo * "passw de papo" *
aremoto.modem
este fichero lo puedes llamar como te guste mas siempre y cuando coincidan
los nombres en la linea que declarastes en el fichero (login.config)
-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 192.168.0.1
usepeerdns 192.168.0.1:192.168.20.250
noauth
logfile /var/log/inboundaccess.log
NOTA: EN ESTE FICHERO ES DONDE DECLARAS LA OPCION (login) si quieres
autenticar por usuarios de sistema, veras en la linea:
usepeerdns 192.168.0.1:192.168.20.250
que declaro dos ip:
la 192.168.0.1 seria la que tomaria el servidor ras una vez establecida una
conexion
la 192.168.0.20 es la que tomaria la pc cliente una vez que se establezca la
conexion.
la linea:
logfile /var/log/inboundaccess.log
es donde le digo que me cree los logs de las conexiones establecidas, hasta
ahora no he logrado que me ponga el usuario que se autentico, el log sale al
estilo este:
Using interface ppp0
Connect: ppp0 -- /dev/ttySHSF0
Cannot determine ethernet address for proxy ARP
local IP address 192.168.0.1
remote IP address 192.168.20.250
LCP terminated by peer (/^FkM-2^@
Connect time 1.1 minutes.
Sent 28440 bytes, received 9759 bytes.
Modem hangup
Connection terminated.
pues ya esta con eso matas el tema del acceso remoto a mi me pincha asi
mismo como te lo envio y explico al gusto, pase tremendo trabajo y di bola
de cabezasos pero finalmente di como era la jugada.
========================================================0
# /etc/ppp/options -*- sh -*- opciones generales para pppd
# creado 13-Jul-1995 jmk
# traducido 5-Feb-1999 davefx
# autodate: 01-Aug-1995
# autotime: 19:45
# Usar el ejecutable u orden especificado para configurar el puerto serie
# Esta orden usaría típicamente el programa "chat" para hacer que el módem
# marque y conectar la sesión ppp remota.
#connect "echo Necesita instalar un comando connect."
# Ejecutar el programa u orden especificado después de que pppd haya
# finalizado la conexión. Este script podría, por ejemplo, mandar órdenes
# al módem para que cuelgue si las señales de control hardware del mismo no
# están disponibles.
#disconnect "chat -- d+++dc OK ath0 OK"
# mapa de caracteres async -- 32-bit hex; cada bit es un carácter que
# necesita ser asincronizado para que pppd lo reciba. 0x00000001 representa
# 'x01', y 0x80000000 representa 'x1f'.
#asyncmap 0
# Obligar a la pareja a que se autentifique antes de permitir que los
# paquetes de red se envíen o se reciban.
#auth
# Usar el flujo de paquetes hardware (como RTS/CTS) para controlar el flujo
# de datos del puerto serie.
#crtscts
# Usar el flujo de paquetes sotware (como XON/XOFF) para controlar el flujo
# de datos en el puerto serie.
#xonxoff
# Añadir un camino por defecto a las tablas de encaminamiento del sistema,
# utilizando a la pareja como pasarela, una vez que la negociación IPCP sea
# completada con éxito. Esta entrada se elimina cuando la conexión PPP
# finaliza.
#defaultroute
# Especifica que ciertos caracteres deben ser puestos en secuencia de escape
# en la transmisión (sin importar el hecho de que la pareja pida que sean
# mapeados por el control async). Los caracteres que han de ser puestos en
# secuencia de escape se especifican como una lista de números hexadecimales
# separados por comas. Fíjese de que casi todos los caracteres pueden ser
# especificados por la opción escape, no como con la opción asyncmap que
# sólo permite hacerlo a los caracteres de control. Los caracteres que no
# pueden ser puestos en secuencia de escape son aquellos con valores
# situados entre 0x20 - 0x3f o 0x5e.
#escape 11,13,ff
# No usar las líneas de control del módem.
#local
# Especificar que pppd debería utilizar el bloqueo modo UUCP del dispositivo
# serie para asegurarse un acceso exclusivo al dispositivo.
#lock
# Usar las líneas de control del módem. En Ultrix, esta opción implica
# control de flujo por hardware, al igual que la opción crtscts. (Esta
# opción no está implementada por completo.)
#modem
# Ajustar el valor de MRU (Unidad de recepción máxima) a para la
# negociación. pppd pedirá a la pareja que no envíe paquetes de más de
# bytes. El valor mínimo de MRU es 128. El valor por defecto es 1500. Un
# valor recomendado para enlaces lentos es 296 (40 bytes para cabecera
# TCP/IP + 256 bytes de datos).
#mru 542
# Establecer la máscara de red de la interfaz a , una máscara de red en
# notación "punto-decimal" (como 255.255.255.0).
#netmask 255.255.255.0
# Desabilitar el comportamiento por defecto cuando no se especifica una
# dirección IP local, que es determinar (si es posible) la dirección IP
# local de la máquina. Con esta opción, la pareja deberá proveer la
# dirección local IP durante la negociación IPCP (a menos que se especifique
# explícitamente en la línea de órdenes o en un fichero de opciones).
#noipdefault
# Habilita la opción "pasiva" en la LCP. Con esta opción, pppd intentará
# iniciar una conexión; si no se recibe ninguna réspuesta de la pareja,
# pppd esperará de manera pasiva un paquete LCP de la pareja (en lugar de
# salir, que es lo que haría sin esta opción).
#passive
# Con esta opción, pppd no transmitirá paquetes LCP para iniciar una
# conexión hasta que un paquete LCP válido sea recibido de la pareja (como
# la opción "passive" con antiguas versiones de pppd).
#silent
# No solicitar o permitir negociación de ninguna opción para LCP y IPCP
# (usar valores por defecto).
#-all
# Deshabilitar la compresión en la negociación de Dirección/control (usa
# la configuración por defecto, como desabilitar el campo
# dirección/control).
#-ac
# Deshabilitar la necociación asyncmap (usa el asyncmap por defecto, que es
# poner en secuencia de escape todos los caracteres de control).
#-am
# No transformarse en un proceso en segundo plano (si no, pppd lo hará si
# se especifica un dispositivo serie).
#-detach
# Desabilitar la negociación de dirección IP (con esta opción, la IP remota
# debe especificarse con una opción en la línea de órdenes o en un fichero
# de opciones).
#-ip
# Deshabilitar la negociación de número mágico. Con esta opción, pppd no
# puede detectar una línea con recepción de paquetes enviados.
#-mn
# Deshabilitar la negociación MRU (unidad de máxima recepción) (utilizar el
# valor por defecto, p.e. 1500).
#-mru
# Deshabilitar la negociación de compresión de campo de protocolo (usar el
# valor por defecto, p.e. compresión de campo de protocolo inhabilitada).
#-pc
# Obligar a que la pareja se autentifique utilizando PAP.
# Esto require autentificación de DOBLE SENTIDO. NO UTILICE esto para una
# conexión estándar PAP con un ISP ya que esto requerirá que la máquina ISP
# se autentifique ante su máquina (y no podrá hacerlo).
#+pap
# No autentificar utilizando PAP.
#-pap
# Requerir que la pareja se autentifique utilizando CHAP [Protocolo de
# Autentificación de Saludo Criptográfico].
# Esto require autentificación de DOBLE SENTIDO. NO UTILICE esto para una
# conexión estándar CHAP con un ISP ya que esto requerirá que la máquina ISP
# se autentifique ante su máquina (y no podrá hacerlo).
#+chap
# No autentificar utilizando CHAP.
#-chap
# Deshabilitar la negociación de la compresión de cabeceras IP estilo Van
# Jacobson (utilizar la configuración por defecto, p.e. sin compresión).
#-vj
# Incrementar el nivel de depuración (lo mismo que -d). Si se da esta
opción,
# pppd guardará los contenidos de todos los paquetes de control enviados o
# o recibidos de forma legible. Los paquetes se guardan a través de syslog
# con las formas de demonio y nivel. Esta información puede ser
# direccionada a un fichero configurando /etc/syslog.conf de manera adecuada
# (ver syslog.conf(5)). (Si pppd se compila con la opción de extra
# depuración, mostrará mensajes utilizando local2 en lugar de demonio).
#debug
# Añadir el nombre de dominio al de la máquina local en propósitos de
# autentificación. Por ejemplo, si gethostname() devuelve el nombre porche,
# pero el nombre de dominio completamente cualificado es
# porsche.Quotron.COM, se debería usar la opción de dominio para establecer
# el nombre de dominio a Quotron.COM.
#domain
# Habilitar el código de depuración en el controlador nivel-núcleo PPP. El
# argumento n es un número que es la suma de los siguientes valores:
# 1 para habilitar los mensajes de depuración generales, 2 para solicitar
# que el contenido de los paquetes recibidos sea impreso, y 4 para solicitar
# que el contenido de los paquetes enviados sea impreso.
#kdebug n
# Ajustar el valor de MTU (Unidad máxima de transmisión) a . A menos que
# la pareja requiera un menor valor vía negociación MRU, pppd necesitará que
# el código de red del núcleo envíe paquetes de no mas de n bytes a través
# de la interfaz de red PPP.
#mtu
# Cambiar a el nombre del sistema local para propósitos de
# autentificación. Esto probablemente deba ser cambiado al nombre almacenado
# en la base de datos de nombres de su servidor ISP si está utilizando
# PAP/CHAP.
#name
# Cambiar el nombre de usuario a para autentificar esta máquina con la
# pareja con la que se utiliza PAP.
# NO use esto si ya utiliza la opción 'name' anteriormente.
#user
# Forzar el uso del nombre de servidor como el nombre del sistema local
# en propósitos de autentificación (sobreescribe la opción name).
#usehostname
# Cambiar el nombre asumido del sistema remoto para propósitos de
# autentificación a
#remotename
# Añadir una entrada a la tabla del protocolo de resolución de direcciones
# (ARP) de este sistema con la dirección IP de la pareja y la dirección
# Ethernet de su sistema.
#proxyarp
# Usar la base de datos de contraseñas del sistema para autentificar a la
# pareja al utilizar PAP.
#login
# Si se habilita esta opción, pppd enviará un marco de petición de eco LCP
# a la pareja cada n segundos. Bajo Linux, la petición de eco se envía
# cuando no se recibe ningún paquete de la pareja durante n segundos.
# Normalmente, la pareja debería responder a la petición de eco con una
# respuesta de eco. Esta opción puede utilizarse con la opción lcp de fallo
# de eco para detectar que la pareja no está conectada.
#lcp-echo-interval
# Si se da esta opción, pppd presupondrá que la pareja está muerta si
# tras enviar n peticiones de eco no se ha recibido ninguna respuesta válida
# de eco. Si esto sucede, pppd finalizará la conexión. El uso de esta
# opción requiere un valor distinto de 0 para el parámetro
# lcp-echo-interval.
# Esta opción puede utilizarse para posibilitar que pppd finalice después de
# que la conexión física se haya roto (p.e., el modem ha colgado) en
# en situaciones en las que no está disponible el control de líneas del
# módem por vía hardware.
#lcp-echo-failure
# Ajustar el intervalo de reinicio de LCP a segundos (3 por defecto).
#lcp-restart
# Ajustar el máximo número de transimisiones de petición de finalización de
# LCP a (3 por defecto).
#lcp-max-terminate
# Ajustar el máximo número de transmisiones de petición de configuración de
# LCP a (10 por defecto).
# Algunos servidores PPP son lentos al inicializarse. Puede que necesite
# incrementar esto si sigue consiguiendo errores de "línea serie en bucle" y
# usted está seguro de haber conectado correctamente y de que PPP se debería
# estar iniciando en el servidor.
#lcp-max-configure
# Ajustar a el máximo número de NAKs de configuración LCP devueltos antes
# de comenzar a enviar Denegaciones de configuración. (10 por defecto).
#lcp-max-failure
# Ajustar el intervalo de reinicialización de IPCP (retardo de
# retransmisión) a segundos (3 por defecto).
#ipcp-restart
# Ajustar el máximo número de transmisiones petición de finalización de IPCP
# a (3 por defecto).
#ipcp-max-terminate
# Ajustar el máximo número de peticiones de configuración IPCP a (10 por
# defecto).
#ipcp-max-configure
# Ajustar a el máximo número de NAKs de configuración IPCP devueltos antes
# de comenzar a enviar Denegaciones de configuración. (10 por defecto).
#ipcp-max-failure
# Ajustar el intervalo de reinicialización PAP (retardo de retransmisión) a
# segundos. (3 por defecto).
#pap-restart
# Ajustar el máximo número de transmisiones de petición de autentificación
# PAP a (10 por defecto).
#pap-max-authreq
# Ajustar el intervalo de reinicialización CHAP (retardo de retransmisión de
# intentos) a segundos. (3 por defecto).
#chap-restart
# Ajustar el máximo número de transmisiones de intentos CHAP a
# (10 por defecto).
#chap-max-challenge
# Si se da esta opción, pppd recomprobará la autenticidad de la pareja cada
# segundos.
#chap-interval
# Con esta opción, pppd aceptará la dirección IP dada por la pareja como la
# IP propia, incluso aunque se haya especificado la dirección IP local como
# una opción.
#ipcp-accept-local
# Con esta opción pppd aceptará la dirección IP dada por la pareja como su
# IP, incluso aunque la dirección IP remota se ha especificado como opción.
#ipcp-accept-remote
__________ Information from ESET NOD32 Antivirus, version of virus signature
database 5786 (20110114) __________
The message was checked by ESET NOD32 Antivirus.
part000.txt - is OK
http://www.eset.com
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l