Diferencia entre revisiones de «Conexión PPP con módem RTB en Linux (avanzado)»

De Wiki de BandaAncha.eu
Saltar a: navegación, buscar
(Replacing page with '(Replacing page with 'YO QUIERO COMER CURANTO CON CHAPALELE')')
m (Revertidas las ediciones realizadas por 190.161.178.134 (Talk); hacia la última versión por Txuspe)
Línea 1: Línea 1:
(Replacing page with 'YO QUIERO COMER CURANTO CON CHAPALELE')
+
{{Plantilla:Docs}}
 +
 
 +
En este apartado trataremos la configuración de nuestra  conexión a Internet
 +
a través de  la línea  telefónica con  los  típicos  módems RTB.  Este tipo de
 +
conexiones utilizan el protocolo de transmisión de  datos PPP (protocolo punto
 +
a punto). Para la  correcta configuración de esta  conexión deberemos tener un
 +
módem  bien  conectado  y que sea  compatible con el sistema,  y  como  último
 +
punto una  buena puntería  para  la configuración.
 +
 +
El  protocolo  de  transferencia  de  datos PPP es un estándar muy utilizado
 +
junto con el SLIP, pero  debido a ser el primero  más versátil y potente se ha
 +
impuesto  sobre el  SLIP. Este  par de  protocolos  son  utilizados  por  los
 +
servidores  de  acceso a Internet para manejar los paquetes IP que son los que
 +
se utilizan  para la transmisión  de datos. Por ser el SLIP un protocolo en la
 +
actualidad  poco  utilizado  (como  ya he dicho antes) trataré  solamente  una
 +
configuración  de una  conexión con  protocolo punto  a punto. Las  siglas  de
 +
RTB  hacen  referencia a la  Red  Telefónica  Básica, como  su  propio  nombre
 +
indica es  la  forma  mas  básica de conexión, su  siguiente  sucesor  fue  el
 +
RDSI  (Red  Digital  de  Servicios  Integrados), las  mejoras  que  supone  la
 +
segunda sobre la primera son notables pero no tienen lugar en este texto.
 +
 
 +
==Sobre los módems en sistemas Unix==
 +
En  la  introducción hacíamos  referencia a  los elementos  necesarios  para
 +
llevar a buen  puerto una conexión a  Internet, uno de ellos era el módem y es
 +
algo muy importante, esto es debido a que, en la actualidad, existen una serie
 +
de módems denominados "winmodems" cuyas  principales funciones de  transmisión
 +
y  recepción de datos  son emuladas por  software propietario  de la marca que
 +
fabrica los  dispositivos y raramente las portan a sistemas Unix (ya sea linux
 +
o cualquier  otro) por  lo tanto  nos será  imposible utilizar  nuestro  módem
 +
(hasta que  aparezcan drivers específicos o un programador espabilado). Si nos
 +
encontramos en esta  situación la mejor solución es ponerse en contacto con la
 +
compañía  de nuestro  modem o  visitar su página web,  allí se nos mostrará la
 +
información  necesaria,  aún así,  os  remito al apartado de este FAQ que hace
 +
referencia a los winmodems.
 +
 
 +
==Configuración de la conexión==
 +
===Mediante PPPD===
 +
Establecer  una conexión a internet mediante el demonio pppd. Lo primero que
 +
tienes que  saber es donde tienes  los archivos de su configuracion, de manera
 +
general se encuentran en /etc/ppp, ahí te  encontras una serie  de archivos en
 +
los que encontrarás la configuración que utilizará el demonio para negociar la
 +
conexión con tu servidor. Estos archivos son:
 +
====/etc/ppp/options====
 +
/etc/ppp/options es  el archivo  predeterminado del cual pppd toma  su configuración. Una  configuración estandar  sería la que viene a continuación:
 +
  lock
 +
  crtscts
 +
  modem
 +
  noipdefault
 +
  defaultroute
 +
  /dev/cuaa0
 +
  115200
 +
 
 +
Esta configuración significa:
 +
* '''lock''': establece  un  bloqueo para  el modem  para  que se limite el acceso al mismo mientras pppd está utilizandolo.
 +
* '''crtsct''': establece  que la transmisión  de los datos sea realizado y controlado por hardware.
 +
* '''noipdefault''': tu dirección ip es adjudicada por el servidor de manera dinámica.
 +
* '''defaultroute''': esto establece  que la  ruta que  se establece  esta conexión será la predeterminada para todos los paquetes del sistema.
 +
* '''/dev/cuaa0''' -> establece  el  puerto  al cual  está conectado el módem en  nuestro sistema,  esta nomenclatura  se encuentra  en  los sistemas BSD (esta página está escrita desde una FreeBSD Release 4.5  en estos  momentos). Esta es la nomenclatura en distintos sistemas:
 +
** Linux: COM1: /dev/ttyS0  (también /dev/cua0) COM2: /dev/ttyS1  (también /dev/cua1)
 +
** FreeBSD: COM1: /dev/cuaa0 COM2: /dev/cuaa1
 +
** NetBSD: COM1: /dev/tty00 COM2: /dev/tty01
 +
 
 +
Lo  mejor que  puedes hacer  es crear un enlace virtual llamado "modem" en  tu  directorio /dev  para facilitando  la tarea,  para ello con el comando:
 +
 
 +
  # ln -sf /dev/ttyS0 /dev/modem  ((ttyS0 o óomo se llame en tu sistema el puerto del modem))
 +
 
 +
Así siempre que se necesite  acceder al modem con  que  te acuerdes de /dev/modem te servirá (te agiliza muchas  tareas, pero has de recordar siempre el puerto al que hace referencia).
 +
 
 +
* '''115200''': la velocidad  en baudios  a la que quieres que como máximo se  establezca la  conexión, obviamente un modem normal no los alcanza pero asi se  le "exige el  maximo". Si ves que  no conecta o se cae la conexión  pues bajale  a 57600, he vistos  casos que se solucionaba, y es una buena prueba antes de romperse la cabeza.
 +
 
 +
====/etc/ppp/peers/inet====
 +
/etc/ppp/peers/inet es el script para conectar. Puedes llamarlo como prefieras. El script hace lo siguiente:
 +
 
 +
  connect '/usr/bin/chat -v -f /etc/ppp/peers/inet.chat'
 +
  noauth
 +
  user pinorrana@galileo
 +
 
 +
En este archivo  se encuentran la propia conexión, la primera linea representa  la llamada a chat que se encargará de realizar la llamada y que tomará los  datos  del  archivo inet.chat. Las siguientes lineas pertenecen a la autentificación que hará  que se  chequee el archivo /etc/ppp/pap-secrets en busca del la password adecuada para el usuario especificado.
 +
'''NOTA''': ¡Fíjate  donde  está el programa "chat", ya que yo lo tengo en /usr/bin/ pero  tú quizás lo tengas  en /usr/sbin/! Puedes localizarlo con ''which chat''.
 +
 
 +
====/etc/ppp/pap-secrets====
 +
En /etc/ppp/pap-secrets se  encuentran las contraseñas para  los diferentes  usuarios que  puedas  tener  en tus conexiones  ppp. En mi caso  el nombre  de usuario  lo he  tomado como  "pinorrana@galileo" y pongamos  que  como  contraseña  tengo  "idoru"  entonces  tendría  un archivo pap así:
 +
 
 +
  pinorrana@galileo * idoru
 +
  (los espacios son tabulaciones)
 +
 
 +
Lo  primero es  el nombre de usuario, y el ultimo la clave, y esa * que tenemos en el medio  se refiere  al servidor  con el  cual utilizaremos ese  nombre de usuario y clave, al ponerse una * se tomará  como válido cualquier servidor (esto se utiliza cuando se tienen varias cuentas).
 +
PAP es un Protocolo de Autentificación de Contraseñas, otro método de autentificación es el CHAP.
 +
 
 +
====/etc/ppp/peers/inet.chat====
 +
En /etc/ppp/peers/inet.chat se realizará la llamada al servidor  (recordemos que  es invocado  desde  /etc/ppp/peers/inet, asi que puedes cambiarle el nombre, siempre y cuando tambien lo cambies  en el anterior). El contenido de este archivo de manera general sería algo como:
 +
 
 +
  ABORT BUSY
 +
  ABORT "NO CARRIER"
 +
  ABORT "NO DIALTONE"
 +
  REPORT CONNECT
 +
  SAY "Llamando al Servidor..."
 +
  ''ATDT900666666
 +
  CONNECT''
 +
 
 +
Lo primero establece las cadenas ante las cuales se  abortará, después  espera  que le  sea  devuelto un CONNECT  que se realizará cuando se conecte al servidor y lleve  a  cabo  el proceso de autentificación. El número es ficticio (bueno, hasta hace poco existía).
 +
 
 +
 
 +
====Conectando====
 +
Ya lo tenemos todo configurado, es hora de probar tu conexión. Ejecutamos
 +
 
 +
  pppd call inet
 +
 
 +
Con lo que pediremos (amablemente :)) a pppd que establezca la conexión llamada "inet", que  fue el nombre  que  le  pusimos  al  archivo  en la  carpeta peers (es en esta carpeta /etc/ppp/peers/ donde  pppd busca los nombres de  conexiones).
 +
Si funciona... ¡bravo!.
 +
S da problema, revisa la configuración, modem, prueba  combinaciones, infórmate  acerca  si tu  modem es problemático...
 +
 
 +
Como último apunte, la configuración se podría incluir de manera mas compacta, incorporando el proceso de  autentificación en el  archivo options, pero de la manera explicada es mas fácil permitir a usuarios normales que establezcan conexiones permitidas por el administrador.
 +
 
 +
===Mediante PPP===
 +
El comando "ppp" o "user-ppp" surge como una alternativa del soporte ppp del
 +
kernel, fue creado por el Internet Institut of Japan, razón por la cual también
 +
es conocido como iijppp. Este programa se apoya en la interfaz de tunnel (tun).
 +
Una de  sus principales  ventajas  es que podemos  ejecutar ppp olvidandonos de
 +
compilar interfaz alguna en el kernel ya que se sirve  solamente de tunnel para
 +
enviar y recibir a través del kernel. Leete su man si deseas mas información de
 +
el.
 +
 
 +
Empecemos la configuración. Para ello tan solo tendremos que configurar el archivo /etc/ppp/ppp.conf, ahí
 +
iran  todas las  configuraciones, de los archivos comentados anteriormente solo
 +
tendrás que tener semejante el archivo resolv.conf, por lo tanto lo que pongo a
 +
continuación será la configuración de ppp.conf:
 +
 
 +
  default:
 +
    set device /dev/cuaa0
 +
    set speed 115200
 +
    set dial set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT  5 \"\" AT OK-AT-OK ATE1Q0 OK ATM0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
 +
  conexion:
 +
    set phone 909400400
 +
    set login
 +
    set authname pinorrana@galileo
 +
    set authkey idoru
 +
    set timeout 600
 +
    set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 +
    add default HISADDR
 +
    enable dns
 +
    dial
 +
 
 +
En esta  configuración se  establecen  dos partes diferenciadas, la primera
 +
que inicia el dispositivo  de conexión (como ya vimos, en mi caso se  trata de
 +
un  modem  serial  en Freebsd  por lo tanto  será /dev/cuaa0), encuanto  a las
 +
cadenas  que vienen  despues pues  aconsejo dejarlas  asi, si zos intersa  que
 +
vuestro modem  suene  al  conectar elminiad  ATM 0 OK ya que con ella no emito
 +
sonido  al  conectar  ni durante la conexión. Después  viene  el  nombre de la
 +
conexión (se  pueden establecer varias), dentro  de  ella vemos  las  opciones
 +
comunes  a toda  conexión, sólo deberemos  cambiar el nombre de usuario, pass,
 +
telefono y poco mas. Ahora que lo tienes configurao, con el comando siguiente:
 +
"ppp -background conexion" el ppp llama a la conexion definida con el original
 +
nombre de "conexion" en el ppp.conf, y con la opción -background le  obliga  a
 +
que permanezca en segundo plano.
 +
 
 +
==Permisos de archivos==
 +
Ya  que la seguridad  es otro punto importante, a  continuación pongo cuales
 +
son los permisos que podremos  fijar  para guardar los  archivos a los ojos de
 +
algunos.
 +
 
 +
/etc/ppp: "chmod 700 /etc/ppp"
 +
/etc/ppp/peers: "chmod 700 /etc/ppp/peers"
 +
/etc/ppp/options: "chmod 644 /etc/ppp/options"
 +
/etc/ppp/pap-secrets: "chmod 600 /etc/ppp/pap-secrets"
 +
/etc/ppp/ppp.conf: "chmod 700 /etc/ppp/ppp.conf"

Revisión del 16:36 7 ene 2008

Plantilla:Docs

En este apartado trataremos la configuración de nuestra conexión a Internet a través de la línea telefónica con los típicos módems RTB. Este tipo de conexiones utilizan el protocolo de transmisión de datos PPP (protocolo punto a punto). Para la correcta configuración de esta conexión deberemos tener un módem bien conectado y que sea compatible con el sistema, y como último punto una buena puntería para la configuración.

El protocolo de transferencia de datos PPP es un estándar muy utilizado junto con el SLIP, pero debido a ser el primero más versátil y potente se ha impuesto sobre el SLIP. Este par de protocolos son utilizados por los servidores de acceso a Internet para manejar los paquetes IP que son los que se utilizan para la transmisión de datos. Por ser el SLIP un protocolo en la actualidad poco utilizado (como ya he dicho antes) trataré solamente una configuración de una conexión con protocolo punto a punto. Las siglas de RTB hacen referencia a la Red Telefónica Básica, como su propio nombre indica es la forma mas básica de conexión, su siguiente sucesor fue el RDSI (Red Digital de Servicios Integrados), las mejoras que supone la segunda sobre la primera son notables pero no tienen lugar en este texto.

Sobre los módems en sistemas Unix

En la introducción hacíamos referencia a los elementos necesarios para llevar a buen puerto una conexión a Internet, uno de ellos era el módem y es algo muy importante, esto es debido a que, en la actualidad, existen una serie de módems denominados "winmodems" cuyas principales funciones de transmisión y recepción de datos son emuladas por software propietario de la marca que fabrica los dispositivos y raramente las portan a sistemas Unix (ya sea linux o cualquier otro) por lo tanto nos será imposible utilizar nuestro módem (hasta que aparezcan drivers específicos o un programador espabilado). Si nos encontramos en esta situación la mejor solución es ponerse en contacto con la compañía de nuestro modem o visitar su página web, allí se nos mostrará la información necesaria, aún así, os remito al apartado de este FAQ que hace referencia a los winmodems.

Configuración de la conexión

Mediante PPPD

Establecer una conexión a internet mediante el demonio pppd. Lo primero que tienes que saber es donde tienes los archivos de su configuracion, de manera general se encuentran en /etc/ppp, ahí te encontras una serie de archivos en los que encontrarás la configuración que utilizará el demonio para negociar la conexión con tu servidor. Estos archivos son:

/etc/ppp/options

/etc/ppp/options es el archivo predeterminado del cual pppd toma su configuración. Una configuración estandar sería la que viene a continuación:

 lock
 crtscts
 modem
 noipdefault
 defaultroute
 /dev/cuaa0
 115200

Esta configuración significa:

  • lock: establece un bloqueo para el modem para que se limite el acceso al mismo mientras pppd está utilizandolo.
  • crtsct: establece que la transmisión de los datos sea realizado y controlado por hardware.
  • noipdefault: tu dirección ip es adjudicada por el servidor de manera dinámica.
  • defaultroute: esto establece que la ruta que se establece esta conexión será la predeterminada para todos los paquetes del sistema.
  • /dev/cuaa0 -> establece el puerto al cual está conectado el módem en nuestro sistema, esta nomenclatura se encuentra en los sistemas BSD (esta página está escrita desde una FreeBSD Release 4.5 en estos momentos). Esta es la nomenclatura en distintos sistemas:
    • Linux: COM1: /dev/ttyS0 (también /dev/cua0) COM2: /dev/ttyS1 (también /dev/cua1)
    • FreeBSD: COM1: /dev/cuaa0 COM2: /dev/cuaa1
    • NetBSD: COM1: /dev/tty00 COM2: /dev/tty01

Lo mejor que puedes hacer es crear un enlace virtual llamado "modem" en tu directorio /dev para facilitando la tarea, para ello con el comando:

 # ln -sf /dev/ttyS0 /dev/modem  ((ttyS0 o óomo se llame en tu sistema el puerto del modem))

Así siempre que se necesite acceder al modem con que te acuerdes de /dev/modem te servirá (te agiliza muchas tareas, pero has de recordar siempre el puerto al que hace referencia).

  • 115200: la velocidad en baudios a la que quieres que como máximo se establezca la conexión, obviamente un modem normal no los alcanza pero asi se le "exige el maximo". Si ves que no conecta o se cae la conexión pues bajale a 57600, he vistos casos que se solucionaba, y es una buena prueba antes de romperse la cabeza.

/etc/ppp/peers/inet

/etc/ppp/peers/inet es el script para conectar. Puedes llamarlo como prefieras. El script hace lo siguiente:

  connect '/usr/bin/chat -v -f /etc/ppp/peers/inet.chat'
  noauth
  user pinorrana@galileo

En este archivo se encuentran la propia conexión, la primera linea representa la llamada a chat que se encargará de realizar la llamada y que tomará los datos del archivo inet.chat. Las siguientes lineas pertenecen a la autentificación que hará que se chequee el archivo /etc/ppp/pap-secrets en busca del la password adecuada para el usuario especificado. NOTA: ¡Fíjate donde está el programa "chat", ya que yo lo tengo en /usr/bin/ pero tú quizás lo tengas en /usr/sbin/! Puedes localizarlo con which chat.

/etc/ppp/pap-secrets

En /etc/ppp/pap-secrets se encuentran las contraseñas para los diferentes usuarios que puedas tener en tus conexiones ppp. En mi caso el nombre de usuario lo he tomado como "pinorrana@galileo" y pongamos que como contraseña tengo "idoru" entonces tendría un archivo pap así:

  pinorrana@galileo * idoru 
  (los espacios son tabulaciones)

Lo primero es el nombre de usuario, y el ultimo la clave, y esa * que tenemos en el medio se refiere al servidor con el cual utilizaremos ese nombre de usuario y clave, al ponerse una * se tomará como válido cualquier servidor (esto se utiliza cuando se tienen varias cuentas). PAP es un Protocolo de Autentificación de Contraseñas, otro método de autentificación es el CHAP.

/etc/ppp/peers/inet.chat

En /etc/ppp/peers/inet.chat se realizará la llamada al servidor (recordemos que es invocado desde /etc/ppp/peers/inet, asi que puedes cambiarle el nombre, siempre y cuando tambien lo cambies en el anterior). El contenido de este archivo de manera general sería algo como:

 ABORT BUSY
 ABORT "NO CARRIER"
 ABORT "NO DIALTONE"
 REPORT CONNECT
 SAY "Llamando al Servidor..."
 ATDT900666666
 CONNECT

Lo primero establece las cadenas ante las cuales se abortará, después espera que le sea devuelto un CONNECT que se realizará cuando se conecte al servidor y lleve a cabo el proceso de autentificación. El número es ficticio (bueno, hasta hace poco existía).


Conectando

Ya lo tenemos todo configurado, es hora de probar tu conexión. Ejecutamos

 pppd call inet

Con lo que pediremos (amablemente :)) a pppd que establezca la conexión llamada "inet", que fue el nombre que le pusimos al archivo en la carpeta peers (es en esta carpeta /etc/ppp/peers/ donde pppd busca los nombres de conexiones). Si funciona... ¡bravo!. S da problema, revisa la configuración, modem, prueba combinaciones, infórmate acerca si tu modem es problemático...

Como último apunte, la configuración se podría incluir de manera mas compacta, incorporando el proceso de autentificación en el archivo options, pero de la manera explicada es mas fácil permitir a usuarios normales que establezcan conexiones permitidas por el administrador.

Mediante PPP

El comando "ppp" o "user-ppp" surge como una alternativa del soporte ppp del kernel, fue creado por el Internet Institut of Japan, razón por la cual también es conocido como iijppp. Este programa se apoya en la interfaz de tunnel (tun). Una de sus principales ventajas es que podemos ejecutar ppp olvidandonos de compilar interfaz alguna en el kernel ya que se sirve solamente de tunnel para enviar y recibir a través del kernel. Leete su man si deseas mas información de el.

Empecemos la configuración. Para ello tan solo tendremos que configurar el archivo /etc/ppp/ppp.conf, ahí iran todas las configuraciones, de los archivos comentados anteriormente solo tendrás que tener semejante el archivo resolv.conf, por lo tanto lo que pongo a continuación será la configuración de ppp.conf:

 default:
   set device /dev/cuaa0
   set speed 115200
   set dial set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT  5 \"\" AT OK-AT-OK ATE1Q0 OK ATM0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
 conexion:
   set phone 909400400
   set login
   set authname pinorrana@galileo
   set authkey idoru
   set timeout 600
   set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
   add default HISADDR
   enable dns
   dial

En esta configuración se establecen dos partes diferenciadas, la primera que inicia el dispositivo de conexión (como ya vimos, en mi caso se trata de un modem serial en Freebsd por lo tanto será /dev/cuaa0), encuanto a las cadenas que vienen despues pues aconsejo dejarlas asi, si zos intersa que vuestro modem suene al conectar elminiad ATM 0 OK ya que con ella no emito sonido al conectar ni durante la conexión. Después viene el nombre de la conexión (se pueden establecer varias), dentro de ella vemos las opciones comunes a toda conexión, sólo deberemos cambiar el nombre de usuario, pass, telefono y poco mas. Ahora que lo tienes configurao, con el comando siguiente: "ppp -background conexion" el ppp llama a la conexion definida con el original nombre de "conexion" en el ppp.conf, y con la opción -background le obliga a que permanezca en segundo plano.

Permisos de archivos

Ya que la seguridad es otro punto importante, a continuación pongo cuales son los permisos que podremos fijar para guardar los archivos a los ojos de algunos.

/etc/ppp: "chmod 700 /etc/ppp"
/etc/ppp/peers: "chmod 700 /etc/ppp/peers"
/etc/ppp/options: "chmod 644 /etc/ppp/options"
/etc/ppp/pap-secrets: "chmod 600 /etc/ppp/pap-secrets"
/etc/ppp/ppp.conf: "chmod 700 /etc/ppp/ppp.conf"