[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pregunta par un NOVATO



On Fri, 2003-01-10 at 14:25, Soporte Tecnico Internueve S.R.L wrote:
> ESto es lo  que  habilita  el Dia-in  ?
> mgetty

mgetty es un buen principio.  Es más o menos así (copiando a la lista de
nuevo, porque a alguien más le puede servir ésto --o alguien puede tener
que corregirme, hace años que no me meto en este tipo de setups):

Linux asocia un programa controlador a cada puerto serial que tengas. 
Las consolas de texto se asignan a unos "pseudo puertos" llamados TTYs,
que "emulan" un puerto serial verdadero.  Si haces un ps ax, veras que
tan pronto arranca, Linux levanta cinco o seis de estos:

  458 tty2     S      0:00 /sbin/getty 38400 tty2
  459 tty3     S      0:00 /sbin/getty 38400 tty3
  etc.

Cada uno de estos programas monitorea un puerto y, cuando recibe
actividad, dispara otro programa.  Normalmente se levantan en
/etc/inittab --quiero decir, ese es el archivo que controla en qué
momento y con qué opciones se levantan.  Para recibir conexiones en los
puertos serie reales, normalmente metes en inittab cosas como ésta:

  T3:23:respawn:/sbin/mgetty -x0 -s 115200 ttyS3

Consulta inittab(5) para más información.

Típicamente, cuando se establece una conexión, estos programas disparan
"login", que es el programa que te pide tu contraseña.

Originalmente, la gente ponía a getty a escuchar en sus puertos
seriales.  Tú marcabas, y cuando el enlace se establecía, lo siguiente
que veías es el prompt de "login".  Una vez que dabas tu usuario y
contraseña, te daba un shell.  Dentro del shell tecleabas "ppp" y en ese
momento pppd se hacía cargo de la transmisión de datos usando el
protocolo PPP.

Hoy día, es muy raro el ISP que usa este mecanismo.  Normalmente los
usuarios no reciben un shell, sino que se usa un "handshake" binario
para autenticación (normalmente PAP o CHAP).  mgetty es un getty que
sabe detectar el inicio de estos handshakes, y pasa el control a "pppd",
en vez de "login".

Todo el truco de establecer un servicio de "dial-in" con PPP es, pues:

 0. Configurar tus puertos seriales, y ver que puedas hablar con tus
    módems (un programa como minicom es muy útil para pruebas).
 1. Poner mgetty a escuchar en tus puertos seriales.
 2. Configurarlo para pasar las negociaciones PAP/CHAP a pppd.
 3. Configurar pppd para que sepa que tiene que autentificar al cliente,
    y cómo y en dónde debe comprobar passwords.
 4. Configurar tu red para que sepa rutear las conexiones que generarás
    con pppd (ésto son reglas de ruteo y firewall, establecidas con
    route(8) e iptables(8)).  Es muy deseable que instales un DNS que
    tus usuarios puedan utilizar.

Existe mucha literatura al respecto.  Te recomiendo que la leas, porque
lo más probable es que nadie esté dispuesto a llevarte de la mano paso a
paso por todo el proceso.  Aquí hay un par de ligas a "HOWTOs"
relevantes, traducidos al español:

http://lucas.linux.org.mx/COMO-INSFLUG/COMOs/Serie-Como/
http://lucas.linux.org.mx/COMO-INSFLUG/COMOs/Terminales-Como/http://lucas.linux.org.mx/COMO-INSFLUG/COMOs/PPP-Como/

Que te sea leve.

 -CR




Reply to: