Custom Search
Bloggers Activos
El Dalai Lama dice: vendaval
Religión, fanatísmo o Terrorismo? blacksoul
Dani people's vaio chilicuil
Una Canción Triste vendaval
¡Lo hemos conseguido! der_teufel
Log continuacion del curso de BD.. rnstux
F.A.Q. del borracho mandrake
Logotipo de Apple mandrake
Hola mundo en 366 lenguajes de programación mandrake
Descargando videos de Youtube como todo un master chilicuil
Last Download
Segunda Fundación
Segunda Fundación
Continuación del Curso de DB
rnstux
Primer Curso de BD en IRC
rnstux
FreeBSD hacking (Kernel Modules Programming)
vendaval
Powered by Blender!
rnstux
ZFS - A Smashing Hit
asarch
Seguimiento de Cuba...
vendaval
Screencast
aarkerio
Libro de Servidores GNU/LINUX Licencia CC
vendaval
Manda al diablo a Telcel
asarch
Nokia liberará a Symbian
asarch
Google Groups Karamelo
Visit this group
GNU/Linux
GNU/Linux
Hacktivismo
Hacktivismo
Debian
Debian
NetBSD
NetBSD
WWW
WWW
Guia Linux
Guia Linux
Server Side
Server Side
Ofimatica
Ofimatica
Despabilando...
Despabilando...
Mundo Maya
Mundo Maya
Literatura
Literatura
Agora
Agora
Psicologia
Psicologia
Economia
Economia
Ambientalismo
Ambientalismo
Desarrollo
Desarrollo
Biologia
Biologia
Asesorías Gratuitas
Asesorías Gratuitas

Hacktivism

LinuxChix button

NetBSD \ PPPoE en OpenBSD para gestionar una ADSL
NetBSD
PPPoE en OpenBSD para gestionar una ADSL

Este artículo ha sido consultado en 849 ocasiones.

Como ya sabreís todos, Telefónica y el resto de compañías cambiaron las ADSLs a IPs dinámicas. Este cambio puede parecer trivial, pero no lo es si tu configuración de router es en monopuesto (esto es, el router actúa como un modem, dándole a la tarjeta de red la IP pública).

El objetivo de este documento es el de realizar una configuración de OpenBSD de modo que la parte del manejo de la linea ADSL sea lo más transparente posible y OpenBSD pueda hacer las tareas de filtrado ignorando las del router. Se explica un escenario de migración de una configuración con IP fija a una con dinámica, pero el documento también servirá para una primera configuración. Se supone algo de manejo previo de OpenBSD (y su packet filter) y de redes, los pasos están poco detallados.

¿Dónde está el problema?
Configurar el router en monopuesto si la IP es dinámica es algo completamente diferente a configurarlo en monopuesto si tienes IP fija. Con IP dinámica toca cambiar el router a modo bridge y gestionar toda la parte del PPP desde el ordenador que se va a conectar, a diferencia de la configuración con IP fija, dónde el router sigue gestionando todo lo referente a la ADSL y en la tarjeta de red externa se puede poner directamente la IP pública.

¿Cómo solucionarlo?
Pues paso a paso y con cuidadín xD
Lo primero es cambiar la configuración del router a modo bridge. Podeís encontrar guías para hacerlo según vuestro modelo de router en adslayuda.
Una vez realizado este paso, toca configurar el PPP en OpenBSD. Lo primero es cambiar la configuración de la tarjeta de red que irá conectada al router. Editaís el archivo hostname.xxx correspondiente dejando como único parámetro “up”, para que así active la interfaz pero no realice ningún tipo de configuración.

Ahora toca meterle mano a la configuración del PPP. Creamos el archivo /etc/ppp/ppp.conf con este contenido:

default:
set log Phase Chat LCP IPCP CCP tun command
pppoe:
set device "!/usr/sbin/pppoe -i vr0"
set mtu max 1492
set mru max 1492
set speed sync
disable acfcomp protocomp
deny acfcomp
set authname "adslppp@telefonicanetpa"
set authkey "adslppp"
add default HISADDR
enable dns
enable mssfixup

Pero teniendo en cuenta esto:

  • En la primera linea de pppoe, se le indica que interfaz de red debe utilizar para conectar al router, poned ahí vuestro interfaz correspondiente (en mi caso vr0).
  • Mi authname y authkey son los de una conexión con telefónica. Para otros ISP, consultar de nuevo adslayuda.
  • “add default HISADDR” configurará automáticamente la puerta de enlace por defecto, lo que hace innecesaría la configuración en /etc/mygate, podeís borrar ese archivo.
  • “enable dns” actualizará el archivo /etc/resolv.conf si vuestro ISP lo soporta (en mi caso Telefónica, que si lo soporta).

En este punto reiniciamos para comprobar que tras arrancar la configuración es la esperada:

  • ifconfig -a debe mostrar la interfaz externa como activa pero sin ninguna dirección ip asignada.
  • netstat -nr no debe mostrar ninguna ruta por defecto.

Ahora toca probar el PPP: ppp -background pppoe debe conectaros a internet. ifconfig -a ahora mostrará una nueva interfaz, tun0, a la que se le ha asignado la IP pública. Usad netstat -nr de nuevo para comprobar que se ha actualizado la tabla de rutas, y echad un vistazo a /etc/resolv.conf para ver si ha habido suerte y vuestro ISP os actualiza automáticamente los DNS. Si todo esto ha salido bien la conexión debería funcionar perfectamente.

Ahora toca retocar la configuración del firewall para adaptarlo a este nuevo escenario. Simplemente hay que cambiar todo lo referente a vuestra antigua interfaz externa por la nueva, tun0. Es muy aconsejable que siempre que en las reglas el nombre de tun0 (o la variable en la que la habeís definido) se refiera a una IP (y no a la interfaz en si, diferencia entre on y to) pongaís el nombre entre paréntesis, esto actualizará automáticamente las reglas en caso de que la conexión ADSL se reinicie y cambie la IP.

Un detalle más en la configuración del firewall, si teneís una regla similar a esta:

RESERVED = "{ 0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 255.255.255.255/32 }"
block drop out quick on $EXT_IF from any to $RESERVED

Mirad la IP a dónde enlaza tun0, porque es posible que sea una IP del rango reservado (en Telefónica los rfcs se guardan enrollados en el baño que es dónde más uso les dan). En mi caso no me afecta evitar el tráfico directo a la pasarela, pero nunca está de más ser precavido y adaptar la regla.

Pasos finales
La conexión está configurada de nuevo, ahora simplemente queda automatizar el proceso para que cada vez que se reinicie la máquina se conecte a internet y cargue el firewall de forma automática.

Primero hay que editar /etc/rc.local para que inicie ppp al arrancar. Misterios de la vida, pero ppp no está como demonio en /etc/rc.conf por lo que hay que configurarlo aquí. Debajo de la linea “echo -n ’starting local daemons:’” añadid este código:

ppp -ddial pppoe
sleep 5

-ddial es para que vuelva a conectar en caso de desconexión, y el sleep es para dar tiempo a que el ISP de turno nos asigne una IP.

El firewall que antes se iniciaba al arrancar ahora no puede hacerlo, ya que aún no estaría configurada la interfaz tun0. En /etc/rc.conf hay que buscar la linea correspondiente al packet filter y cambiarla por pf=NO. Para iniciarlo correctamente, editaremos el archivo /etc/ppp/ppp.linkup con este código:

MYADDR:
!bg sh -c "/sbin/pfctl -e -f /etc/pf.conf"

Análogamente, hay que editar /etc/ppp/ppp.linkdown para desactivar pf en caso de que la conexión se pierda:

MYADDR:
!bg /sbin/pfctl -d

Por último, en /etc/rc.shutdown añadimos esto para terminar la conexión al reiniciar/apagar OpenBSD:

kill `ps -axc | grep -w ppp | awk '{print$1}'`
sleep 5

Resultados
Aparte de volver a conseguir que OpenBSD se encargue en solitario de la tarea de firewall, la calidad de la conexión se ha incrementado enormemente comparada con la configuración en multipuesto que estuve “disfrutando” durante dos dias. ¿Por qué? Pues porque según el router que tengaís se mueren a poco que tengan que mantener unas cuantas conexiones simultáneas, y eso con la mula no concuerda xD. Ahora con pppoe no hay ningún problema de rendimiento, el demonio no toca nunca el 1% de CPU en un VIA a 533MHz y la conexión va como la seda (nunca será tan limpio como con IP fija, pero al menos así es más llevadero).

Referencias
man pppoe
man ppp Aunque mejor hacer man ppp dentro de OpenBSD, que por alguna razón la página colgada está recortada.
OpenBSD 3.6 and PPPoE


Última actualización: 2007-04-29 10:57:00-05

Printable version

Add comment:



Captcha




Que estas haciendo?
asarchasarch está:
Comprendiendo el proceso de instalacion del ArchLinux con QEMU en NetBSD...
4 hours ago

luzbelluzbel está:
Reviviendo mi primer compu (Celeron 400 Mhz)con NetBSD 4.0
5 hours, 53 minutes ago

chilicuilchilicuil está:
bambi, bambi, te espero
9 hours, 26 minutes ago

starkadstarkad está:
ayer lo baje y estuve jugando el wesnoth, deja le agarro la onda y vemos
11 hours, 47 minutes ago

chilicuilchilicuil está:
entonces que pedo, quien se rifa la reta de wesnoth conmigo?
1 day ago

rnstuxrnstux está:
downloading
1 day ago

Que estuvimos haciendo >>
Chipotle Software

Uso OpenOffice.org
Una vez a la semana
Nunca
Uso otra ofimática
Todos los días
Una vez al mes
Rapiditas
Problemas de Lenguaje en niños
13588 lecturas
Anticoncepción de Emergencia
11346 lecturas
Sexualidad infantil y juvenil
11017 lecturas
Rompiendo cualquier clave WEP en unos pocos minutos
8573 lecturas
Sinapsis y exocitosis
8035 lecturas
Mi primer CakePHP, mmmmm cakeee
6282 lecturas
Evolución filética en las hepáticas
5890 lecturas
BASH y Primeros Comandos
4854 lecturas
CakePHP II Active Record
4613 lecturas
Cómo convertirse en hacker
4208 lecturas
Add to Technorati Favorites

ir arriba
Cabalgar, viajar y cambiar de lugar recrean el ánimo. Séneca

The Queen is here Mozilla Firefox The Best DataBase CakePHP Framework XHTML GNU Hacker Chipotle Software

Too Cool for Internet Explorer