Conectando a Redes de Marcado Sobre Wifi

Tutorial de Apoyo a las Instalaciones de Linux en Flisol 2011|tooltip="Flisol Temuco 2011"|fetchname|.

Este documento es un complemento al artículo en Gulix sobre cómo configurar conexiones de red en Linux (TOBEDONE enlace pendiente).

En este documento se presenta en español, un procedimiento para poder configurar una distribución Linux de modo de poder conectarse a conexiones ADSL (PPP) sobre Wifi, también llamada a veces “PPPoWifi” como contraste a PPPoE (PPP sobre Ethernet). Aunque no es una configuración comúnmente encontrada1), ha tenido notoria presencia en algunas zonas en particular, en Temuco como es ofertada por Telefónica del Sur.

Conexión

Como ejemplo, comparemos la conexión como se configura y observa desde una máquina con Windows.

TODO Agregar fotos.

[**Paso 3**:\\ Diálogo de Conexión ADSL en Windows 7]

El Problema

¿Cuál es el Problema?

Cuando NetworkManager fue diseñado, no se siguió completamente la especificación del modelo_osi y se dejó el modelo de conexión PPP (point-to-point) como dependiente del concepto de tener una conexión cableada Ethernet. Debido a esto, es posible configurar NM para conectarse a una red cableada y agregar una conexión de “acceso telefónico a redes”; sin embargo, cuando se trata de utilizar esa conexión en una red inalámbrica, NM primero se desconectará de la red inalámbrica antes de tratar de conectarse a la red punto a punto. Obviamente esto fallará.

[Icono de control de //NetworkManager// (Fedora 12)]

¿Cómo Sé si Estoy Afectado?

Como tal, este artículo solamente afecta a aquellas personas que tienen contratado un servicio de internet ADSL que se conecta vía inalámbrica; es decir, conexiones en dos pasos: primero conectarse a una red inalámbrica (que puede ser WEP o WPA, que puede o no pedir contraseña, etc) y de ahí conectarse con un nombre de usuario y contraseña con un sistema como el de la “Conexión Telefónica a Redes” de Windows.

Personas que no están afectadas por el criterio anterior no necesitan de este tutorial; pueden configurar sus conexiones ADSL o similares con cualquiera de varios tutoriales existentes en Internet, por ejemplo:

Configurando el Servicio de Red

Para solucionar el problema es posible utilizar la conexión inalámbrica desde otra interface de usuario, o mejor aún levantarla a mano “comolohombre”; ya que este problema es exclusivo a NetworkManager. El Launchpad de Ubuntu (⇒Enlaces Relevantes) tiene algunos apuntes a este respecto.

Para poder conectarse a una red ADSL (de marcado) pasando por una conexión inalámbrica, basta con deshabilitar NetworkManager (no es la gran cosa después de todo, tiene muchas dependencias a Gnome y KDE) e instalar un gestor de conexiones como wicd que permite gestionar las redes cableadas e inalámbricas; a continuación, se configura y activa la interface de red de marcado usando los comandos que trae para esto las distribuciones de Linux.

Puesto que el procedimiento usa distintos archivos de configuración y comandos dependientes de la distro, se mostrará el procedimiento para las populares Fedora y Ubuntu, objetivos de la Flisol 2011 en la Sede Temuco.

Requisitos Generales para Aplicar Esta Solución:

  • Tener capacidad para manejar la consola.
  • Tener acceso a los privilegios de superusuario.
  • (Opcional) Poder instalar un gestor de conexiones alternativo a NetworkManager.

Distros Debian

Distros RedHat

Para ejecutar los siguientes pasos es necesaria una consola (terminal), así como los privilegios de superusuario.

El primer paso es entrar a la carpeta que guarda nuestras configuraciones de conexión y una vez ahí listar los contenidos del directorio, concentrándonos en aquellos archivos que llevan el prefijo “ifcfg” (interface config):

[usuario@host ~] $ cd /etc/sysconfig/network-scripts
[usuario@host network-scripts] $ ls ifcfg*
ifcfg-enter  ifcfg-eth0  ifcfg-lo  ifcfg-ppp0  ifcfg-telsur  ifcfg-wlan0

(la salida es una salida de ejemplo)

:!: Si el archivo ifcfg-ppp0 no existe, debemos crearlo con las herramientas de configuración de PPPoE de nuestra distribución; en este caso, con la utilidad pppoe-setup. Ver los enlaces de referencia al final por ejemplos.

Nos concentramos en el archivo ifcfg-ppp0 que es el que contiene nuestra configuración de red de marcado. Crearemos una copia de este archivo al cual llamaremos ifcfg-adsl0, con el propósito de preservar este modelo de conexión sin afectar nuestra capacidad de conectarnos por PPPoE cableada; esto nos pedirá los privilegios de superusuario:

sudo cp ifcfg-ppp0 ifcfg-adsl0

Ahora tenemos un archivo que modificaremos para crear una copia “inalámbrica” de nuestra conexión de marcado “alámbrica”; procederemos a abrir este archivo con su editor de texto favorito, obviamente con los privilegios de superusuario:

[usuario@host network-scripts] $ sudo leafpad ifcfg-adsl0

Esto abrirá el editor con un archivo que debiera tener una estructura igual a la de nuestro archivo ifcfg-ppp0 de conexión de marcado alámbrica; acá se mostrará una configuración de ejemplo:

USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=no
PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=20
LCP_FAILURE=2
LCP_INTERVAL=30
CLAMPMSS=1408
MTU=1408
CONNECT_POLL=4
CONNECT_TIMEOUT=30
DEFROUTE=yes
SYNCHRONOUS=yes
ETH=eth0
PROVIDER=DSLppp0
USER=nombredeusuario@proveedor
PEERDNS=no
DEMAND=no

A continuación se dará un detalle de las líneas que nos interesan.

USERCTL=yes Esta línea indica que un usuario puede conectar o desconectar la cuenta.
Sin este valor, no podemos escoger cuándo conectarnos o no a internet.
USER Ésta es nuestra cuenta (nombre de usuario) con nuestro proveedor. Se ha generalizado el nombre para proteger la seguridad de los inocentes.
ETH :!: Éste es el nombre de la interface de red a la que se asocia el marcado y por tanto la línea que debemos modificar (ver a continuación).

Para hacer que nuestra conexión quede asociada a la red inalámbrica en vez de la cableada, simplemente modificamos la variable ETH de modo que apunte a la interface de red inalámbrica de nuestra máquina; por ejemplo de la forma siguiente si nuestra conexión inalámbrica corre por cuenta de la tarjeta inalámbrica por defecto en el sistema:

ETH=wlan0

Guardamos el archivo y salimos. La cuenta utilizada seguirá siendo la misma, asociada a las credenciales almacenadas en /etc/ppp/peers/.

Probando

Para probar que la solución funciona, tenemos dos alternativas:

Sin NetworkManager:

Desactivemos NetworkManager ejecutando el comando sudo /etc/init.d/NetworkManager stop; tras autenticar nuestros privilegios debemos confirmar que el icono y control de NM desaparecen de nuestra interface.

A continuación, iniciamos nuestro gestor de conexión alternativo; por ejemplo para wicd es sudo /etc/init.d/wicd start, mientras que en distribuciones RedHat se accede al configurador de red system-config-network vía el Menú de Administración. Habiendo inicializado nuestro gestor de conexiones alternativo, nos conectamos a la red inalámbrica por medio del procedimiento normal.

Con NetworkManager:

Por completar


TOBEDONE imagen de conexión inalámbrica con wicd.

Ahora accedemos a una consola e iniciamos la interface de red de marcado que hemos creado en los pasos anteriores por medio del comando pon nombredeconexion.

sudo pon adsl0

La consola se quedara quieta un momento antes de devolvernos al prompt; desde este momento el sistema esta marcando la conexión.

Podremos saber que se ha establecido la conexión cuando al ejecutar ifconfig veamos el nombre de nuestra conexión con una IP asignada:

[usuario@host] prompt $ ifconfig
... más salida

Para detener la conexión basta con usar el comando poff con el nombre de la conexión.

sudo poff adsl0

Aquí se ha utilizado los privilegios de superusuario para ejecutar estos comandos, pero podrían no ser necesarios.


Alternativamente, los usuarios de Fedora o CentOS que hayan instalado system-config-network pueden encontrar la conexión bajo la ficha “xDSL” de la interface e iniciarla desde ahí. Esto requiere privilegios de superusuario.

[Interface de ''system-config-network''.\\ Obsérvese que la conexión inalámbrica se encuentra //activa//; la conexión apuntada ''adsl0'' es la conexión de marcado asociada a la red __inalámbrica__ que se debe iniciar.\\ La conexión similar al fondo (''ppp0'') es la conexión de marcado normal asociada a la red __cableada__.]

Consideraciones

Esta solución debe considerarse como una solución temporal; a fecha de Octubre de 2010 la gente de NetworkManager afirma que se está escribiendo el código que debiera solucionar este problema de manera definitiva; aunque obviamente este código será difícilmente portado a distribuciones anteriores de Linux.

Esta solución requiere un uso periódico de la terminal para conectarse a internet. Es bueno en cuanto a que aprenderá usted así a no tenerle miedo a la consola. Sin embargo eso no quita que puede usar una interface gráfica para PPPoE, como el ya mencionado system-config-network o gpppon en algunas distros.

Enlaces Relevantes


1)
al punto que reportes de falta de soporte en Launchpad y Redhat al inicio fueron considerados como un error del cliente