Práctica 4: Acceso Telefónico a Redes

Anuncio
Práctica 4:
Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Índice
Introducción..........................................................................................................................................2
Acceso Telefónico a Redes desde el entorno Windows....................................................................... 3
Puesta en marcha de un Cliente PPP desde el entorno Linux.............................................................. 6
Configuración en modo gráfico usando KPPP............................................................................6
Configuración en modo texto usando chat y pppd.................................................................... 11
1
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Introducción
En esta práctica usaremos el módem interno del equipo pasarela para realizar la conexión
telefónica con el servidor del Laboratorio, que nos permitirá la conexión a Internet, tanto desde
Windows como desde Linux.
El proceso desde uno y otro sistema operativo se comentará detalladamente por separado
para cada uno de ellos, en los siguientes apartados de la memoria.
En el caso de Linux, la conexión de acceso telefónico a redes podrá hacer tanto desde un
entorno de configuración en modo gráfico, como directamente en modo texto, con los comandos
chat y pppd, como ya se verá en su momento; para la configuración gráfica, el KPPP es una buena
opción y resulta bastante cómodo y similar a los entornos gráficos de configuración de Windows.
Por otro lado, para un correcto funcionamiento de la conexión de acceso telefónico a redes,
hay que hacer que el módem llame por pulsos (lo cual se indicaba al módem con el comando Hayes
que tenía la forma: ATP). Para que en Windows, la marcación sea correcta debemos instalar
previamente los drivers del módem interno de la pasarela, que hemos obtenido desde el ftp de la
asginatura, que está en el servidor del Laboratorio (ftp 172.16.1.1); desde la carpeta
modems/Dinalink se pueden obtener dichos drivers, que permitirán que en las llamadas se haga
ATP y luego ATD al número de telefóno que marquemos, pues con los drivers que Windows instala
por defecto, la llamada es hecha directamente con ATDP, de modo que falla. Una vez hecho esto se
va a la configuración de nuestro acceso telefónico a redes y desde él se va a la pestaña General y
luego en Reglas de Marcado --> Editar, indicamos: Marcar utilizando Pulsos. Para el caso de Linux
esto no es necesario, pues basta con indicar la cadena de llamada correcta, como se verá más
adelante.
2
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Acceso Telefónico a Redes desde el entorno
Windows
El proceso para configurar el acceso telefónico a redes se hará con una llamada al número 49
ó 50 para equipos con numeración de 2 dígitos, como es el caso de nuetros equipos (21 y 22); si
fuera con numeración de 3 dígitos, el número a llamar sería el 211 ó 213. De este modo, usamos el
número 50, que nos conecta con el servidor del Laboratorio. El nombre y contraseña para el acceso
es prueba y prueba, respectivamente. Los pasos a seguir son los siguientes:
1. Accedemos a las conexiones de red y en las Propiedades de Redes se procede a la configuración
del número de teléfono al que marcar (en nuestro caso el 50), que se pone tal cual sin ningún tipo
de prefijo, como se ve en la siguiente captura de pantalla.
3
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
2. A continuación, y de forma opcional, podemos realizar ciertas configuraciones como que se nos
indique el muestreo del progreso al conectar, la petición de nombre de usuario y contraseña, que
son prueba y prueba, respectivamente, etc. Igualmente, es conveniente configurar las Opciones
para volver a marcar, pues la conexión con los números de teléfono del servidor del Laboratorio
sólo permitirán la conexión de un único equipo por cada número telefónico.
3. Finalmente, podemos indicar la IP que se usará en la conexión, pero en este caso, por simplicidad
y comodidad resulta mucho mejor indicar que la dirección IP y del DNS se obtengan de forma
automática, desde las Propiedades del Protocolo Internet (TCP/IP).
4
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Tras este proceso de configuración ya se puede conectar a Internet sin ningún problema a
través de la conexión a de acceso telefónico a redes creada.
5
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Puesta en marcha de un Cliente PPP desde
el entorno Linux
Desde Linux, el proceso de configuración de la conexión de acceso telefónico a redes, se
realizará de forma similar al de Windows, pero en este caso la herramienta usada para tal
configuración será el KPPP desde modo gráfico y los comandos chat y pppd desde modo texto. El
proceso de configuración para cada uno de ellos se comenta a continuación:
Configuración en modo gráfico usando KPPP
Este método, por ser gráfico, resulta ligeramente más cómodo, y sus pasos, muy similares a
los de la configuración gráfica desde Windows, son los siguientes:
1. Accedemos al KPPP y desde el menú de Configuración accedemos a la configuración manual.
2. Ponemos un nombre a la configuración, por ejemplo, redes.
3. Seguidamente configuramos dicha configuración, indicando los números de telefóno válidos para
conectarnos con el servidor que nos provee el acceso telefónico a redes, que en nuestro caso
serán los números 50 y 49.
6
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
4. Finalmente, como para poder conectarnos debemos usar la marcación por pulsos, debemos
indicar que se use el comando ATDP a la hora de marcar al número 49 ó 50 (ATDP49 ó
ATDP50); de lo contrario fallará la conexión. Hay que indicar igualmente que el uso de ATDP
directamente es equivalente al de usar ATP y ATD de forma consecutiva, funcionando ambas
técnicas, pero resultando más cómoda la primera, que es además al usada. Esto se hará
cambiando la Cadena de marcado en las configuraciones de la conexión redes que hemos creado
en el KPPP.
7
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Igualmente, se puede ver en la pestaña de Dispositivo (mostrada en la siguiente ilustración)
que dispositvo módem se está usando, así como ciertas configuraciones del módem.
8
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Realizados estos pasos, podremos conectarnos con la configuración creada bajo el nombre
de redes. Para lo cual se abre el KPPP, y como ya existe una configuración creada bajo el nombre de
redes, introduciendo el nombre de usuario y contraseña (prueba y prueba, respectivamente), y
picando en le botón marcar, se realizará la conexión de acceso telefónico a redes.
Si activamos la Ventana de depuración del script de conexión, podremos ver como se ejecuta
dicho script, a nivel de los comandos que realiza, de modo que podemos ver como usa ATDP50 y
ATDP49 como cadena de marcado. Así, cuando consigue conectarse (en este caso al llamar al
9
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
número 49), aparece el mensaje que indica que estamos conectados a 57600 bps, como se observa
en la siguiente ilustración.
Finalmente, una vez conectados, podemos ver las Estadísticas Kppp (ver siguiente
ilustración), que durante la conexión muestran información sobre la misma, tal como nuestra IP
local y la remota, que es la del servidor de acceso telefónico a redes. Igualmente, muestra el típico
histórico del tráfico de información por la red, que puede ver como el número de paquetes de
entrada y de salida, así como una gráfica del tráfico de la conexión.
10
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Configuración en modo texto usando chat y pppd
En el caso de optar por la configuración en modo texto, haremos uso del demonio pppd y del
comando chat, así como de un total de 3 archivos de configuración básicos, que se verán más
adelante. En primer lugar, comanetamos la funcionalidad del demonio pppd y el comando chat, que
usaremos fundamentalmente con scripts de comunicación con el módem; en nuestro caso estaremos
conectándonos a través de un módem interno, por lo que en principio el comando ATDP es válido
para realizar las llamadas por pulsos.
Demonio pppd --> Es el encargado de realizar la conexión de acceso telefónico a redes con
nuestro servidor, que se encuentra en el número 49 ó 50. Para ello hará uso de un módem, que se
controlará con comandos AT, tarea para la cual se requiere de un comando que permita mandar
dichos comandos al módem, como es el caso del comando chat, explicado a continuación.
Comando chat --> Este comando permite el envío de comandos AT al módem, pudiendo por
11
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
tanto controlar éste. Pero además, aporta cierta inteligencia, es decir, capacidad algorítmica, pues
podemos controlar los comandos mandados en función de los mensajes recibidos. De este modo, su
funcionamiento se basa en el envío de comandos y la espera de mensajes. Estos mensajes se esperan
para saber si un comando posterior debe lanzarse o no; así tenemos una especie de control de flujo
de nuestro script. Por lo general, se hace un script con los comandos AT y luego se llama al
comando chat directamente con dicho script como parámetro, como se verá más adelante.
Conocida la funcionalidad de cada uno de los comandos anteriores se procede a
continuación a indicar los ficheros quese modificarán, así como los comandos a lanzar para activar
el demonio y tener acceso telefónico a redes.
Para empezar se enumeran en las siguientes líneas los ficheros que hay que modificar o
configurar correctamente para que nuestra conexión de acceso telefónico a redes sea factible. El
orden de modificación de los mismos es indiferente.
1. /etc/ppp/options --> Debemos generar el archivo options que contendrá las opciones de
configuración para el demonio pppd, el cual lo usará en el momento de activarse. En este fichero
se pone en primer lugar el comando que establece la conexión con el módem, que será el
comando chat haciendo uso del script que será otro de los ficheros a crear, que se comenta
seguidamente. Existen muchas opciones que se pueden incluir en el fichero options, que pueden
consultarse en man pppd. Este fichero es un ejemplo de fichero options, que hemos usado
satisfactoriamente en una conexión de acceso telefónico a redes, y se comentan las opciones de
configuración empleadas en el mismo, más adelante.
/dev/modem
115200
crtscts
noipdefault
defaultroute
noauth
debug
connect "/usr/sbin/chat -v -f /etc/ppp/chat_script"
name prueba
12
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
La primera línea indica el dispositivo módem usado. Nosotros en realidad usamos un enlace
simbólico al dispositivo del módem, es decir, dev/modem apunta al dispositivo del módem interno
(dev/ttyS0): dev/modem --> dev/ttyS0.
Con 115200 indicamos la velocidad deseada para la conexión a realizar, es decir, la máxima
posible; como es lógico, puede variarse este valor a velocidades más lentas.
Con crtscts se habilita el control de flujo por hardware, pues de lo contrario se usará control
de flujo software (con XON/XOFF) o sencillamente no se realizará el control de flujo. Es necesario
habilitarlo, para que sea correcta la conexión.
Por otro lado, usamos noipdefault para que el servidor nos asigne dirección IP, y
defaultroute, para que se use la ruta definida para nuestro PC. También es necesario poner noauth
para que en el momento de la conexión con el servidor de acceso telefónico a redes no se requiera la
autentificación, de modo que la conexión funcione correctamente, de modo que si no se pone nada
se requerirá la autentificación (auth) y la conexión podrá fallar. En cuanto a debug, es opcional y
simplemente hace que se muestre información adicional a modo de depuración en la ejecución del
demonio pppd, que podrá verse con el comando tail, indicado a lo largo de la memoria.
Igualmente, se hace que nos conectemos usando el comando chat, que usará el script bajo el
nombre de chat_script. Los modificadores usados tienen la siguiente función:
-v --> Activa el verbose, para que se muestre la ejecución de los comandos que se tengan en
el fichero de script, al igual que también se mostrarán dichos comandos. Esto no es útil en el fichero
optiones, pues al activar el demonio pppd no se mostrará nada de eso, pero si lanzamos el comando
a parte sí puede ser útil. Además, como se verá más adelante, el fichero messages si almacena el
proceso de ejecución de cada uno de los comandos del script.
-f --> Indica que se tome del fichero el script que usará el comando chat, para enviar todos
los comandos del mismo al módem, que a su vez tendrán una cadena de espera, que debe obtenerse
antes de que el comando de cada línea sea enviado al módem, lo que dota al script de una cierta
inteligencia y control sobre lo que le ocurra al módem y/o comunicación que se realice con éste.
13
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Finalmente, se indica con name prueba, que el nombre del usuario que se conectará al
servidor de acceso telefónico a prueba será el de prueba, que el fichero pap-secrets estará
igualmente indicado.
2. Archivo de script para controlar el módem --> Debemos crear un script para el comando chat,
que contendrá fundamentalmente el comando de incialización del módem y posteriormente la
llamada al servidor (bien a la línea telefónica 49 ó 50). A continuación puede verse el script que
hemos usado en nuestro caso, que no es más que uno de los posibles ejemplos.
'' ATZ0
OK ATP
OK ATM1L1
OK ATD50
CONNECT ''
Como se ha dicho, el formato de los comandos es el siguiente:
CADENA_ESPERADA COMANDO_AT_A_ENVIAR
En este script se hace lo siguiente:
'' ATZ0 --> Directamente se inicializa el módem; también valdrían otros comandos como
AT&F, que en lugar de resetear los registros y dejar el módem al estado por defecto anterior, resetea
el módem a las configuraciones de fábrica.
OK ATP --> Cuando se reciba OK (es decir, la respuesta al comando anterior), se activa la
llamada por pulsos. En realidad, para el módem interno, que es el que se está usando, no es
necesario lanzar ATP de forma separada a la llamada con ATD, es decir, podemos llamar
directamente con ATDP.
OK ATM1L1 --> Cuando se reciba OK, se manda este comando para activar el sonido del
módem (M) y se le pone el volumen con L.
OK ATD50 --> Cuando se reciba OK se llama al número 50; se puede usar directamente el
comando ATDP porque el módem interno lo permite, de forma que llamamos por pulsos.
CONNECT '' --> Cuando se reciba CONNECT tendremos la conexión establecida.
14
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
3. Archivos de Autentificación --> Finalmente hay que configurar los archivos de autentificación,
que pueden ser el pap-secrets y/o chap-secrets. El hecho de que la configuración de
autentificación puede realizarse en dos ficheros distintos es consecuencia de que en el proceso de
autentificación, en el cual se enviará al servidor el nombre de usuario y contraseña, existen dos
métodos, y dependiendo del que usemos, deberemos configurar uno u otro. En cualquier caso, el
contenido del fichero de configuración será idéntico. En nuestro caso, indicamos que se use el
nombre de usuario prueba y la contraseña prueba, sea cual sea el servidor e IP, como puede
verse a continuación:
# Secrets for authentication using PAP
# client
server
secret
IP addresses
"prueba"
*
"prueba"
*
Como curiosidad se comenta a continuación la diferencia entre las dos técnicas de
autentificación:
PAP (Password Authentification Protocol) --> Funciona como un proceso normal de login, y
es usado por la mayoría de ISPs del mercado. El cliente se autentifica enviando su nombre de
usuario y su contraseña (opcionalmente encriptada) al servidor. El servidor comparará el nombre de
usuario y contraseña con los que están contenidos en sus bases de datos de secrets (contraseñas).
Esta técnica es, en principio, vulnerable a ataques de espías de la línea telefónica.
CHAP (Challenge Handshake Authentification Protocol) --> Con este protocolo, el servidor
envía una ristra “challenge” generada aleatoriamente al cliente, con su hostname, que el cliente
usará para buscar el secret (contraseña) apropiado, el cual combinará con el “challenge” y encriptará
con una función hash no invertible. El resultado se enviará al servidor con el hostname del cliente.
El servidor realizará una tarea idéntica y si observa que la autentificación es correcta se lo hará saber
al cliente. Este método además, hace la comprobación de autentificación durante la conexión, no
sólo al crearla, de forma que se evita que nadie puede reemplazar al auténtico cliente.
En otro orden de cosas, si se desea ver información durante la conexión ppp, puede
visualizarse el fichero var/log/messages del sistema, que contiene todo lo que ocurre en el sistema
15
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
UNIX y permite ver el proceso de conexión y el establecimiento de la misma. Una forma útil de
mostrar esto es con el comando tail -f messages, el cual hace que en el terminal se quede esperando
a que el fichero messages reciba nuevos mensajes y se irán viendo directamente en dicho terminal,
como si tuvieramos abierto el fichero con auto-actualización.
4. Archivo de Resolución de nombres --> El archivo resolv.conf es el que modificaremos en este
caso, para asegurarnos que la resolución de nombres sea correcta; en principio no debería
modificarse si ya está bien configurado de prácticas previas. Su contenido podrá ser el siguiente:
; generated by /sbin/dhclient-script
search redes.dis.ulpgc.es
nameserver 172.16.1.1
nameserver 193.145.143.100
Con el comando search redes.dis.ulpgc.es se indica que busque URL indicada, al igual que
con nameserver se le indican los nombres del servidor del Laboratorio (172.16.1.1), que es el
servidor de acceso telefónico a redes, y el servidor del DIS (193.145.143.100) al que se accede
finalmente para llegar a Internet.
Finalmente, una vez configurados los archivos anteriores, podrá lanzarse el demonio pppd.
Para que las tablas de enrutamiento sean correctas y no haya problemas a la hora de tener
conexiones de acceso telefónico y de tipo Ethernet, comviviendo en un mismo equipo como es
nuestro caso, es recomendable observar el estado de la configuración de dichas tablas con el
comando route.
A la hora de establecer la conexión de acceso telefónico a redes, en cuanto a este fenómeno,
pueden darse dos casos. Por un lado, se no existe la ruta default, cuando se establezca la conexión al
lanzar el demonio pppd, no habrá problema, pues automáticamente se añadirá la línea de
enrutamiento para default, con la dirección IP que nos asigne el servidor de acceso telefónico a
redes, de modo que nosotros no tendremos que hacer nada más. Como por defecto existe un ruta
para default, tendríamos que serguir los siguientes pasos:
16
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
1. Eliminar la ruta para default --> Simplement se lanza el comando: route del default. De este
modo, si visualizamos con route la tabla de enrutamiento, antes de eliminar la ruta del default
tenemos:
172.16.1.0
*
255.255.255.0 U
0
0
0 eth1
172.16.3.0
*
255.255.255.0 U
0
0
0 eth0
169.254.0.0
*
255.255.0.0
0
0
0 eth1
127.0.0.0
default
*
255.0.0.0
172.16.1.1
0.0.0.0
U
U
0
0
UG 0
0 lo
0
0 eth1
Y después de eliminarla tendremos:
172.16.1.0
*
255.255.255.0 U
0
0
0 eth1
172.16.3.0
*
255.255.255.0 U
0
0
0 eth0
169.254.0.0
*
255.255.0.0
0
0
0 eth1
127.0.0.0
*
255.0.0.0
U
U
0
0
0 lo
2. Lanzamos el demonio pppd y automáticamente actualizará la tabla de rutas, de modo que ya
podremos conectarnos a Internet. Si vemos la tabla de enrutamiento con route, tendremos:
172.16.32.100 *
255.255.255.255 UH
0
0
0 ppp0
172.16.1.0
*
255.255.255.0 U
0
0
0 eth1
172.16.3.0
*
255.255.255.0 U
0
0
0 eth0
169.254.0.0
*
255.255.0.0
0
0
0 eth1
127.0.0.0
default
*
255.0.0.0
172.16.32.100 0.0.0.0
U
U
0
0
UG 0
0 lo
0
0 ppp0
Se observa que la IP que nos ha asignado el servidor la tenemos para la conexión por el
dispositivo ppp0 (esto aparece en todos los casos, siempre que se realiza la conexión de acceso
telefónico a redes) e igualmente aparece como la ruta default. El hecho de que la tabla de rutas se
actualice puede servirnos de indicador de que la conexión se ha establecido completa y
satisfactoriamente; también es posible usar el ya conocido comando ifconfig, para ver si el
dispositivo de conexión PPP tiene ya asignada una dirección IP válida.
17
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
Otro posible caso se daría si no eliminamos la ruta default antes de la conexión de acceso
telefónico a redes, o lo que es lo mismo, si lanzamos el demonio pppd antes de borrar la ruta default
de la tabla de rutas. De este modo, si ya hemos lanzado el demonio pppd, los pasos para corregir la
tabla de rutas serán los siguientes:
1. Eliminar la ruta default --> Se lanza el comando route del default; ocurre lo mismo que lo visto
en el caso anterior, salvo que ahora, antes de eliminarlo ya aparece la ruta para la conexión de
acceso telefónio a redes. Así, antes de eliminarla tenemos:
172.16.32.100 *
255.255.255.255 UH
0
0
0 ppp0
172.16.1.0
*
255.255.255.0 U
0
0
0 eth1
172.16.3.0
*
255.255.255.0 U
0
0
0 eth0
169.254.0.0
*
255.255.0.0
0
0
0 eth1
127.0.0.0
default
*
255.0.0.0
172.16.1.1
0.0.0.0
U
U
0
0
UG 0
0 lo
0
0 eth1
Y después tenemos:
172.16.32.100 *
255.255.255.255 UH
0
0
0 ppp0
172.16.1.0
*
255.255.255.0 U
0
0
0 eth1
172.16.3.0
*
255.255.255.0 U
0
0
0 eth0
169.254.0.0
*
255.255.0.0
0
0
0 eth1
127.0.0.0
*
255.0.0.0
U
U
0
0
0 lo
2. Añadimos la ruta default --> Para ello se usa el siguiente comando:
route add default gw 172.16.32.100 dev ppp0
Este comando añade la puerta de enlace (gw) para la ruta default, y lo hace para el dispositivo de
la conexión de tipo PPP (dev ppp0). De este modo, la tabla de rutas tendremos finalmente la
siguiente forma:
172.16.32.100 *
172.16.1.0
*
255.255.255.255 UH
255.255.255.0 U
0
0
0
0
0 ppp0
0 eth1
18
Práctica 4: Acceso Telefónico a Redes
Redes de Computadores – U.L.P.G.C.
David Jesús Horat Flotats
Enrique Fernández Perdomo
172.16.3.0
*
255.255.255.0 U
0
0
0 eth0
169.254.0.0
*
255.255.0.0
0
0
0 eth1
127.0.0.0
default
*
255.0.0.0
172.16.32.100 0.0.0.0
U
U
0
0
UG 0
0 lo
0
0 ppp0
Esto ya permite que la conexión a Internet esté completamente disponible.
19
Descargar