Gu�a de Administraci�n de Redes con Linux | ||
---|---|---|
Anterior | Cap�tulo 8. El Protocolo Punto-a-Punto | Siguiente |
Mientras que configurar PPP para conectar a una red como Internet es la m�s com�n de sus aplicaciones, hay algunos de vosotros que ten�is requerimientos m�s avanzados. En esta secci�n hablaremos sobre algunas de las configuraciones m�s avanzadas que son posibles con PPP bajo GNU/Linux.
Hacer funcionar el pppd como servidor es solo cuesti�n de configurar un dispositivo terminal serie para que invoque al pppd con las opciones apropiadas cuando una llamada entrante es recibida. Una manera de hacer esto es crear una cuenta especial, digamos ppp, y asociarle un script o programa como shell de entrada que llame al pppd con esas opciones. De forma alternativa, si quiere soportar autentificacion PAP o CHAP, puede usar el programa mgetty para soportar su m�dem y explotar su caracter�stica “/autoPPP/”.
Para configurar un servidor usando el m�todo de registro (login), a�ada una l�nea similar a la siguiente a su fichero /etc/passwd: [1]
ppp:x:500:200:Public PPP Account:/tmp:/etc/ppp/ppplogin |
ppp:!:10913:0:99999:7::: |
Por supuesto, el UID y GID que utilice dependen de que usuario desea que sea due�o de la conexi�n, y de c�mo lo haya creado. Adem�s tiene que establecer la contrase�a para la cuenta mencionada usando la orden passwd.
El script ppplogin podr�a tener este aspecto:
#!/bin/sh # ppplogin - script to fire up pppd on login mesg n stty -echo exec pppd -detach silent modem crtscts |
La orden mesg deshabilita la opci�n que permite que otros usuarios puedan escribir en el terminal (tty) usado utilizando, por ejemplo, la orden write. La orden stty desactiva el eco de caracteres. Esto es necesario, pues de otra forma todo lo que el otro ordenador env�e le ser� devuelto a modo de eco. La opci�n del pppd m�s importante de las incluidas en el script es –detach, porque evita que el pppd se separe de la terminal controlada. Si no especific�semos esta opci�n, se ir�a a segundo plano, haciendo que el script del shell terminase. Esto provocar�a que la l�nea serie colgase y se perdiera la conexi�n. La opci�n silent hace que el pppd espere hasta recibir un paquete del sistema llamante antes de comenzar a enviar. Esto evita la aparici�n de timeouts al transmitir cuando el sistema que nos llama es lento en lanzar su cliente PPP. La opci�n modem hace al pppd vigilar la l�nea DTR para ver si el otro sistema ha colgado. Siempre deberia activar esta opci�n cuando use pppd con un modem. La opci�n crtscts activa el control de flujo por hardware.
Adem�s de estas opciones, se puede forzar alguna clase de autentificaci�n, por ejemplo especificando auth en la l�nea de �rdenes de pppd, o en el fichero de opciones globales. La p�gina del manual tambi�n habla sobre opciones m�s espec�ificas para activar o desactivar los protocolos de autentificaci�n individuales.
Si desea usar mgetty, todo lo que tiene que hacer es configurar mgetty para que soporte el dispositivo serie al que su m�dem est� conectado (vea Secci�n 4.6.1” para m�s detalles), configurar pppd bien para autentificaci�n PAP o CHAP con las opciones apropiadas en sus ficheros options, y finalmente, a�adir una secci�n similar a la siguiente a su fichero /etc/mgetty/login.config:
# Configura mgetty para automaticamente detectar llamandas entrantes e invocar # al demonio pppd para que se haga cargo de la conexi�n. # /AutoPPP/ - ppp /usr/sbin/pppd auth -chap +pap login |
El primer campo es una parte especial m�gica usada para detectar que la llamada entrante es una de tipo PPP. No debe cambiar el aspecto de esta cadena; es sensitivo a min�usculas y may�usculas. La tercera columna en el nombre de usuario que aparece en en el listado de who cuando alquien a entrado en el sistema. El resto de la l�nea es el comando a invocar. En nuestro ejemplo, nos hemos asegurado de que la autentificaci�n por PAP es requerida, deshabilitado CHAP, y especificado que el fichero del sistema passwd debe ser usado para autentificar usuarios. Esto es probablemente parecido a lo que usted querr�. Recuerde, puede especificar las opciones en el fichero options o en la linea de comandos si lo prefiere.
Esto es una peque�a lista de comprobaci�n de los pasos que debe realizar y la secuencia que debe seguir para tener funcionando en su m�quina un servidor PPP. Aseg�rese de que cada paso funciona correctamente antes de pasar al siguiente:
Configure el m�dem para que funcione en modo de auto-respuesta. En los m�dems compatibles Hayes, esto se realiza mediante la orden ATS0=3. Si va a utilizar el demonio mgetty, esto no ser� necesario.
Configure el dispositivo serie con una orden tipo getty para que responda a las llamadas entrantes. Una variante com�nmente usada de getty es mgetty.
Considere la autentificaci�n. �Como se autentificar�n con usted los clientes, usando PAP, CHAP, o el registro del sistema?
Configure pppd como servidor tal como se describe en esta secci�n.
Considere el encaminamiento. �Necesitar� proporcionar una ruta de red a los clientes? El encaminamiento puede realizarse usando el script ip-up.
Cuando hay tr�fico IP para ser transportado a trav�s del enlace, la llamada en demanda provoca la llamada de su modem y el establecimiento de una conexi�n con un host remoto. La llamada en demanda resulta �til cuando no puede dejar su l�nea telef�nica permanentemente conectada a su proveedor de Internet. Por ejemplo, puede que tenga que pagar llamadas locales por tiempo de uso, as� le resultar� m�s barato tener la conexi�n establecida s�lo cuando lo necesite y desconectada cuando no est� usando Internet.
Las soluciones GNU/Linux tradicionales han usado la orden diald, que funcionaba bien pero era algo complicado de configurar. Las versiones 2.3.0 y posteriores del demonio PPP tienen inclu�do el soporte de llamada bajo demanda y una configuraci�n muy sencilla de realizar. Debe usar un n�cleo actual para poder hacer esto. Cualquiera de los n�cleos posteriores al 2.0 funcionar� bien.
Para configurar pppd para llamada bajo demanda, todo lo que tiene que hacer es a�adir opciones a su fichero /etc/options o a la l�nea de �rdenes de pppd. La tabla siguiente resume las opciones relacionadas a la llamada en demanda:
Opci�n | Descripci�n |
---|---|
demand | Esta opci�n especifica que el enlace PPP debe ser establecido en modo de llamada bajo demanda. El dispositivo de red PPP ser� creado, pero la orden connect no ser� usada hasta que un datagrama sea transmitido por el host local. Esta opci�n es obligatoria para que funcione la llamada bajo demanda. |
active-filter expresi�n | Esta opci�n le permite especificar qu� paquetes de datos van a ser considerados como tr�fico activo. Cualquier tr�fico que cumpla la regla especificada reiniciar� el temporizador de la llamada bajo demanda, asegurando que pppd espera de nuevo antes de terminar el enlace. La sintaxis del filtro ha sido cogida prestada de la orden tcpdump El filtro predeterminado especifica todos los datagramas. |
holdoff n | Esta opci�n le permite especificar la cantidad m�ma de tiempo, en segundos, que esperar antes de reconectar el enlace si termina. Si la conexi�n falla mientras pppd cree que est� en uso activo, ser� reestablecido despu�s de que este temporizador finalice. Este temporizador no se aplica a las reconexiones producidas por la no transmisi�n de paquetes. |
idle n | Si esta opci�n est� configurada, pppd desconectar� el enlace cuando este temporizador expire. Los tiempos muertos son especificados en segundos. Cada paquete de datos nuevo activo resetear� el temporizador. |
demand holdoff 60 idle 180 |
La llamada persistente es lo que la gente que tiene conexiones permanentes a una red querr� usar. Hay una sutil diferencia entre llamada en demanda y llamada persistente. Con la llamada persistente, la conexi�n es autom�ticamente establecida tan pronto como el demonio PPP es lanzado, y el aspecto de persistencia viene a cuento siempre que la llamada telef�nica que soporta el enlace se interrumpa. La llamada persistente asegura que el enlace est� siempre disponible relanzando autom�ticamete la conexi�n si �sta se interrumpe.
Usted podr�a ser afortunado de no tener que pagar por sus llamdas telef�nicas; quiz�s sean locales y gratuitas, o quiz�s su empresa es qui�n las paga. La opci�n de llamada persistente es extremadamente �til en esta situaci�n. Si tiene que pagar por sus llamadas telef�nicas, entonces tiene que tener un poco de cuidado. Si paga por sus llamadas telef�nicas en base al tiempo que la utiliza, la llamada persistente es algo que casi seguro no es lo que quiere, a menos que est� seguro de que estar� usando la conexi�n constantemente muy amenudo veinticuatro horas al d�a. Si paga las llamadas, pero no en base al tiempo, necesitar� tener cuidado de protegerse de situaciones que puedan causar que el m�dem llame de forma interminable. El demonio pppd provee de una opci�n que puede ayudar a reducir el efecto de este problema.
Para activar la llamada persistente, debe incluir la opci�n persist en uno de los ficheros de opciones de pppd. Incluir esta opci�n es todo lo que necesita para tener al pppd invocando autom�ticamente la orden especificada en la opci�n connect para restablecer la conexi�n cuando el enlace se interrumpe. Si est� preocupado por el remarcado demasiado r�pido del m�dem (en el caso de un fallo del servidor o m�dem del otro extremo de la conexi�n), puede usar la opci�n holdoff para establecer el tiempo m�nimo que pppd deber� esperar antes de intentar reconectar. Esta opci�n no resolver� el problema de un fallo y su consecuente gasto en llamadas de tel�fono, pero al menos le servir� para reducir el impacto de uno de ellos.
Una configuraci�n t�pica de llamada persistente podr�a parecerse a �sta:
persist holdoff 600 |
Es posible combinar la llamada persistente con la llamada en demanda, usando idle para interrumpir el enlace si ha estado inactivo por un per�odo especificado de tiempo. Dudamos de que sean muchos los usuarios que quieran hacer esto, pero este escenario est� descrito brevemente en la p�gina del manual de pppd, por si tuviera que buscarlo.
[1] | La utilidades useradd o adduser, si las tiene, simplificaran la tarea. |