Si el servidor al que usted se conecta requiere autentificación PAP o CHAP, tiene que trabajar un poco más.
A las opciones arriba indicadas, añada las siguientes líneas
# # obligar a que pppd utilice su nombre de usuario en el ISP como 'nombre # de máquina' durante el proceso de autentificación name <su nombre de usuario en el ISP> # debe editar esta línea # # Si está ejecutando un *servidor* PPP y necesita obligar a PAP o CHAP # quite el comentario a una de las siguientes líneas. NO utilice estas # líneas si usted es un cliente que se conecta a un servidor PPP (aunque # el servidor utilice PAP o CHAP) ya que esto obligará al SERVIDOR a # autentificarse ante su máquina (lo que casi con toda seguridad no puede # hacer - y hará que la conexión sea fallida). #+chap #+pap # # Si utiliza secretos ENCRIPTADOS en el fichero /etc/ppp/pap-secrets # entonces quite el comentario a la línea siguiente. # Nota: esto NO es lo mismo que utilizar contraseñas encriptadas Micro$oft # tal y como se puede configurar MS RAS en Windows NT. #+papcrypt
Microsoft Windows NT RAS puede configurarse para usar una variación del protocolo CHAP. En el paquete tar de código fuente de PPP, encontrará un fichero denominado README.MSCHAP80 que trata sobre esto.
Usted puede determinar si un servidor solicita autentificación mediante este protocolo habilitando el modo de depuración para pppd. Si el servidor solicita autentificación MS CHAP, verá líneas como
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
La información importante es auth chap 80.
Para hacer que utilice MS CHAP, necesitará recompilar pppd para dar soporte a esto. Por favor, lea las instrucciones en el fichero README.MSCHAP80 del código fuente para más instrucciones acerca de cómo compilar y utilizar esta variación.
Debe darse cuenta de que de momento este código sólo da soporte a clientes PPP Linux que se conecten a un servidor MS Windows NT. NO permite que un servidor PPP Linux utilice autentificación MSCHAP80 con sus clientes.
Si utiliza autentificación pap o chap, también necesitará crear un fichero de secretos. Estos son:
/etc/ppp/pap-secrets /etc/ppp/chap-secrets
Deben pertenecer al usuario root, grupo root y tener permisos de fichero 740 por seguridad.
Lo primero de lo que debe darse cuenta acerca de PAP y CHAP es que están diseñados para autentificar sistemas informáticos y no usuarios.
"¿Cómo? ¿Cuál es la diferencia?" le escucho preguntar.
Bien. Una vez que su ordenador ha realizado una conexión PPP con el servidor, CUALQUIER usuario de su sistema puede utilizar esa conexión - no sólo usted. Esto es lo que le permite configurar un enlace de red de área extensa (WAN) que interconecte dos redes locales utilizando PPP.
PAP puede requerir autentificación bidireccional (y CHAP LA REQUIERE) - esto es: en cada ordenador son necesarios un nombre válido y un secreto para el otro ordenador implicado. Sin embargo, esta NO es la manera en la que la mayoría de los servidores PPP ofrecen conexiones PPP autentificadas con PAP.
Lo más probable es que su ISP le haya proporcionado un nombre de usuario y una contraseña para permitirle conectar a su sistema y, una vez allí, a Internet. Su ISP no está en absoluto interesado en el nombre de su ordenador, por lo que probablemente necesite utilizar el nombre de usuario de su ISP como nombre de su ordenador.
Esto se realiza utilizando la opción name user name
de pppd. Por lo que
si va a utilizar como nombre de usuario el que su ISP le ha proporcionado,
añada la línea
name su_usuario nombre_en_el_ISP
a su fichero /etc/ppp/options
.
Técnicamente, debería usar user usuario nombre_en_su_ISP
para PAP, pero
pppd es lo suficientemente inteligente para interpretar name
como
user
si se utiliza PAP. La ventaja de utilizar name
es que también
es válida para CHAP.
Ya que PAP es para autentificar ordenadores, técnicamente necesita también especificar un nombre de ordenador remoto. Sin embargo, como la mayoría de la gente sólo tiene un ISP, puede utilizar un comodín (*) como nombre de máquina remota en el fichero de secretos.
También es valioso recordar que muchos ISP funcionan con bancos múltiples de módems conectados a servidores distintos - cada uno con un nombre diferente, pero ACCEDIDOS desde un número de teléfono único. Puede ser a veces bastante difícil en algunas circunstancias saber en ese momento cuál es el nombre del ordenador remoto, ya que depende de a que servidor de terminales esté usted conectado.
El fichero /etc/ppp/pap-secrets
tiene este aspecto
# Secretos para autentificación utilizando PAP # cliente servidor secreto direcciones_IP_locales_aceptables
Los cuatro campos se delimitan con un espacio en blanco y el último puede estar vacío (lo que es deseable para una asignación de IP dinámica de su ISP).
Supongamos que su ISP le ha proporcionado el nombre de usuario de pedro
y la contraseña de picapiedra
por lo que establecería la opción
name pedro
en /etc/ppp/options[.ttySx]
y establecería su
fichero /etc/ppp/pap-secrets
como sigue:
# Secretos para la autentificación utilizando PAP # cliente servidor secreto direcciones_IP_locales_aceptables pedro * picapiedra
Esto hace que para el nombre de máquina local pedro
(el cual hemos
hecho que pppd use incluso aunque no sea nuestro nombre de máquina local) y
para CUALQUIER servidor, se utilice la contraseña (secreto)
picapiedra
.
Fíjese en que se necesita especificar una dirección local IP, a menos que sea necesario FORZAR una dirección IP local y estática. Incluso aunque intente hacer esto, no es probable que funcione en la mayoría de servidores PPP (por razones de seguridad) que no permiten que el sistema remoto establezca la dirección IP que desea tener.
Este método requiere una autentificación mutua - esto es: usted debe permitir que su máquina se autentifique ante el servidor Y que el servidor se autentifique ante su máquina.
Por lo que, si su máquina es pedro
y la remota es pablo
, en su
máquina debe configurar name pedro remotename pablo
y en la
máquina remota debe configurarse name pablo nombreRemoto pedro
en
sus respectivos ficheros /etc/ppp/options[.ttySx]
.
El fichero /etc/chap-secrets
de pedro tendría este aspecto
# Secretos para autentificación mediante CHAP # cliente servidor secreto direcciones_IP_locales_aceptables pedro pablo picapiedra pablo pedro marmol
y para pablo
# Secretos para autentificación mediante CHAP # cliente servidor secreto direcciones_IP_locales_aceptables pablo pedro picapiedra pedro pablo marmol
Fijese en que ambas máquinas deben tener entradas para la autentificación bidireccional. Esto permite que la máquina local se autentifique ante la remota Y que la remota se autentifique ante la local.
Algunos usuarios tienen más de un servidor al que conectarse con PAP. Si su nombre de usuario es distinto para cada máquina a la que desea conectarse no hay ningún problema.
Pero muchos usuarios tienen el mismo nombre de usuario en dos (o más -
incluso en todos) sistemas a los que se conecta. Esto entonces es un
problema a la hora de seleccionar la línea correcta de
/etc/ppp/pap-secrets
Como podría imaginar, PPP da un mecanismo para solucionar esto. PPP permite establecer un 'nombre asumido' para el servidor remoto de la conexión utilizando la opción remotename de pppd.
Supongamos que se conecta a dos servidores PPP utilizando como nombre de
usuario pedro. Debe establecer su fichero /etc/ppp/pap-secrets
de
más o menos como sigue:
pedro servidorppp1 pablo pedro servidorppp2 wilma
Ahora, para conectarse al servidorppp1 debería utilizar name pedro
remotename servidorppp1
en su ppp-optiones y para el servidorppp2
name pedro remotename servidorppp2
.
Como puede selecionar el fichero de opciones ppp a usar con pppd utilizando
la opción file fichero
, puede establecer un script para conectarse
a cada uno de sus servidores PPP, escogiendo el fichero de opciones correcto
a utilizar, y una vez allí seleccionando la opción remotename
adecuada.