Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 2, Número 18, Abril de 2003
Conexión a redes de banda ancha
con tecnología ADSL usando Linux

Miguel Ruiz Velasco
mrvr@servidor.unam.mx

 

El acceso a Internet, vía telefónica, usando la tecnología ADSL (Asymmetric Digital Subscriber Loop), fundamentalmente consiste en que se le integra a la línea telefónica conmutada que llega al domicilio del usuario, la capacidad adicional de tener acceso permanente a la red de datos de Internet con mayor ancho de banda (256 Kbps a 2.048 Mbps), sin tener que marcar ningún número telefónico; además, con la ventaja de que la línea telefónica conmutada siempre está disponible para que entren y salgan llamadas, y que ambas capacidades pueden ser utilizadas simultáneamente.

El proveedor telefónico, y además proveedor de Servicios de Internet (ISP por sus siglas en inglés), solamente ofrece soporte de instalación y configuración para computadoras con sistemas operativos Windows o Macintosh (más información www.prodigy.com.mx).

No obstante, es relativamente sencillo establecer una configuración para el servicio ADSL, desde el sistema operativo Linux, inclusive con ventajas adicionales. El objeto de este documento es presentarle a nuestros lectores, un resumen de dicho proceso de configuración no documentado ni soportado por el ISP.

  • Para instalar el servicio, se deberán contar previamente con los siguientes elementos:

• Filtro de frecuencias de línea (splitter).

• Aparato telefónico y módem ADSL.

• Computadora principal con sistema Linux y su software.

• Red de computadoras internas (opcional).

- Switch ethernet RJ45 10/100 Mbit/s

- Otras computadoras (Linux, Unix, Windows, Macintosh, etcétera).

  • Descripción de los cables:

1. RJ11 de la pared a la entrada del filtro.

2. RJ11 del filtro (baja frecuencia) al aparato telefónico.

3. RJ11 del filtro (alta frecuencia) al módem ADSL.

4. RJ45 del módem ADSL al puerto de red ethernet RJ45 10/100 de la computadora.

  • Descripción de los cables para red interna de computadoras (opcional):

5. RJ45 del segundo puerto de la computadora Linux al switch ethernet.

6. RJ45 del switch ethernet a cada computadora adicional en la red interna.

El software para comunicaciones sugerido es el RP-PPPoE (point-to-point over ethernet), el cual se puede localizar la última versión (rp-pppoe-3.5.tar.gz) en: http://www.roaringpenguin.com/pppoe/

Para una explicación más detallada sobre el protocolo, consultar el documento ubicado en la página: http://www.roaringpenguin.com/pppoe/als-pppoe-paper.pdf

Linux Slackware, para las versiones 8.0 (kernel 2.2.19) y 8.1 (kernel 2.4.18), se puede encontrar en el directorio "extra", y el procedimiento para instalarlo es desde root:

# installpkg rp-pppoe.tgz

La versión de Linux Slackware 9.0 (kernel 2.4.20), se encuentra en slackware/n/rp-pppoe-3.5-i386-1.tgz y será instalado automáticamente dentro de la serie "n".

Dicho software nos permite realizar la conexión a Internet de la computadora vía el módem ADSL.

  • Configuración del software:

Información detallada en http://www.roaringpenguin.com/pppoe/how-to-connect.txt

En la propuesta actual, el puerto ethernet conectado al módem ADSL será el "eth0".

Opcionalmente, la red interna se conectará a través del puerto ethernet "eth1".

Una vez instalado el software antes mencionado, correremos desde clave de "root":

# adsl-setup

  • Una vez configurado el servicio ADSL, se pueden utilizar los comandos:

adsl-start para iniciar la comunicación.

adsl-stop para terminar la comunicación.

Con el procedimiento de adsl-start, se inicia la conexión a la red de banda ancha, obteniendo los siguientes valores, además de que será probablemente diferente en cada sesión:

- Número de IP (inet y p-to-p).

- Direcciones de los servidores de nombres DNS.

Si existen computadoras en la red local, después de haber ejecutado adsl-start en la computadora Linux principal, dichos equipos ya podrán tener acceso a Internet, siempre que se haya definido un 2 en la configuración del firewall.

  • En el archivo de inicializacion /etc/rc.d/rc.local, incluir las siguientes líneas:

# inicialización del puerto ethernet para el módem ADSL.

/sbin/ifconfig eth0 down

/sbin/ifconfig eth0 0.0.0.0

# inicialización del puerto ethernet para la red interna (opcional).

/sbin/ifconfig eth1 down

/sbin/ifconfig eth1 192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0

En el caso de estar usando kernels de Linux 2.4.x y haber contestado 1 o 2 en la pregunta de configuración del Firewall, incluir también en /etc/rc.d/rc.local:

# para kernels 2.4.x de Linux, si existe el módulo ipchains.

# al cargar ipchains, no se podrá hacer uso de iptables hasta que ipchains sea removido:

/sbin/modprobe ipchains

  • Los archivos que contienen las reglas para firewall están en:

/etc/ppp/firewall-standalone (si contestó opción 1 de firewall)

/etc/ppp/firewall-masq (si contestó opción 2 de firewall)

Podrán ser modificados para adaptarse a las necesidades, por ejemplo para el uso del programa "wget" habrá necesidad de insertar las siguientes líneas (+):

ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY

+ ipchains -A input -l -i $EXTIF -s $ANY 1024:65535 d $ANY 113 -p tcp -j ACCEPT

ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp-j DENY

+ ipchains -A input -l -i $EXTIF -s $ANY 20 -d $ANY 1024:65535 -p tcp -y -j ACCEPT

ipchains -A input -l -i $EXTIF -p tcp -y -j DENY

Si se está utilizando un kernel de Linux 2.2.x, y además se cuenta con una red de área local para permitir las transferencias con programas tipo ftp, se deberá cargar el siguiente módulo en /etc/rc.d/rc.local

# para permitir servicio de ftp de las computadoras de la red interna hacia el exterior.

/sbin/modprobe ip_masq_ftp

Para poder utilizar el gran potencial de iptables, en los kernel Linux 2.4.x se deberán convertir de ipchains a iptables las reglas del firewall que están en /etc/ppp/firewall-*.

Dichas reglas aunque son muy generales, habrá que adaptarlas a las necesidades de cada aplicación en particular. Estas reglas están diseñadas para que la computadora Linux funcione como cliente de Internet y NO como servidor. Para poder configurar la computadora Linux como servidor, habrá que realizar muchas actividades adicionales.

Es de vital importancia, trabajar todo tipo de conexión de red externa anteponiendo reglas de firewall, dado que no hay posibilidades que la misma empresa ISP sea capaz de evitar que haya ataques de red a los suscriptores de su propio servicio de red. Algunos de los paquetes tipo que son recibidos ampliamente son:

En el archivo /var/log/messages se podrán estar viendo los tipos de paquetes que se reciben, y la forma de monitoreo se puede realizar desde el usuario "root" con el comando:

# less /var/log/messages

y luego teclear "F" ("mayúscula)

Si se desea que otras computadoras de la red interna tengan acceso también a Internet, vía la computadora Linux, deberán tener una dirección de IP, GW y DNS, que puede ser fija (programada en la computadora de la red interna) o variable; ésta se deberá configurar y activar el servicio "dhcpd" para asignación dinámica de IP, GW, y DNS cuando se trate de computadoras de la red interna.

  • Beneficios

Comparación entre módem analógico vs. módem ADSL en cuanto a recepción de datos:

  • Conclusiones

Para inicializar el procedimiento de conexión deberemos:

- Tener correctamente conectados los cables antes mencionados.

- Haber configurado previamente desde root "adsl-setup", también ya expuesto.

- Encender el módem ADSL y verificar que los leds de:

- PWR esté encendido

- DSL esté encendido y estable (éste parpadea unas 10 veces mientras se inicializa).

- Encender la computadora y verificar que el led ENET del módem ADSL esté encendido.

- Correr el procedimiento desde root "adsl-start".

- Para verificar que la conexión ya fue establecida:

- desde root "ifconfig" se podrán ver las direcciones asociadas a dicha conexión

- o en la bitácora desde root "less /var/log/messages".

Para terminar la conexión, correr desde root "adsl-stop".

Inicio | Contacto |