pppoe (Jazztel) en OpenBSD

En este caso mi ISP (proveedor) es Jazztel, pero este método es aplicable a otros proveedores que utilizan pppoe o similares (telefónica, orange).

La idea de utilizar un pc/servidor en vez de un router convencional, es para que nuestro pc/servidor tenga la IP pública él y todo se pueda gestionar desde el propio pc/servidor, dónde podemos hacer NAT/DNAT/DMZ y demás menesteres obteniendo el control total de la conexión, más comunmente se conoce como tener el router en “monopuesto“.

En mi caso tengo un router convencial de Jazztel (Comtrend HG536+), dónde hay que ponerlo previamente en modo bridge (multipuesto) para que funcione correctamente. No confundir aquí en utilizar “ipp extension” del router en vez de modo bridge.

Si no sabeís como poner el router en modo bridge, podeís seguir este tutorial sin tener en cuenta los pasos que hacen referencia al router cisco.

pppoe en OpenBSD:

Existen 2 maneras para connectarnos con pppoe en OpenBSD, la primera es mediante el cliente ppp y la otra más actual, es mediante el soporte pppoe en el propio kernel de OpenBSD.

Hay que tener configurada una tarjeta de red real para su funcionamiento, en mi caso es dc0, sobretodo hay que tener en cuenta este dato para la correcta conexión.

Mediante el programa ppp:

Editamos el fichero ppp.conf

/etc/ppp/ppp.conf

default:
 set log Phase Chat LCP IPCP CCP tun command

pppoe:
 set device "!/usr/sbin/pppoe -i dc0"
 set mtu max 1492
 set mru max 1492
 set speed sync
 set authname "PONTUSUARIO"
 set authkey "PONTUPASSWORD"
 set login
 set timeout 0
 disable acfcomp protocomp
 deny acfcomp
 add default HISADDR
 enable mssfixup

Ponemos la terjeta en modo activación.

# ifconfig dc0 up

Ahora, solo debemos conectarnos con el cliente ppp.

# ppp -ddial pppoe

En /var/log/ppp.log podemos ver los logs del comando anterior para ver si existe algún tipo de error o si la conexión se ha realizad con éxito.

Si todo ha funcionado correctametne, podemos ver el resultado mediante el comando ifconfig y la interfaz tun0

# ifconfig tun0

Después de lanzar el comando ppp y esperar un tiempo prudencial, el comando ifconfig tun0 nos debería de mostrar nuestra ip pública, si este es el caso, todo ha funcionado correctamente.

Si queremos que se active de manera automática al reiniciar el sistema, solo tenemos que actualizar un par de ficheros:


# echo 'up' > /etc/hostname.dc0
# echo '/usr/sbin/ppp -ddial pppoe' >> /etc/rc.local

Mediante el kernel:

Creamos el fichero hostname.pppoe0

/etc/hostname.pppoe0

inet 0.0.0.0 255.255.255.255 NONE \
        pppoedev dc0 authproto pap \
        authname 'PONTUUSUARIO' authkey 'PONTUPASSWORD' up
dest 0.0.0.1
!/sbin/route add default -ifp pppoe0 0.0.0.1

La configuración puede parecer más complicada, pero este método es más sencillo del utilizar que el software ppp.

Simplemente creamos este fichero y reiniciamos las conexiones de red.


# echo 'up' > /etc/hostname.dc0
# route flush
# sh /etc/netstart

Podemos ver el resultado mediante el comando ifconfig
# ifconfig pppoe0

Si todo ha funcionado correctamente, después de un tiempo prudencial, la interfaz pppoe0 tendrá la ip pública.

Si existen datos previos en /etc/mygate esto puede causarnos problemas con las nuevas rutas, asegúrate de no tener este fichero o de que realmente esté vacio.

Hay que tener en cuenta, que si se realiza NAT mediante un firewall (pf), la interfaz saliente es tun0 (ppp) o pppoe0 (kernel) y no dc0 en este caso.

One Reply to “pppoe (Jazztel) en OpenBSD”

  1. muy bueno, andaba buscando sobre como configurar pppoe en obsd y solo encontraba el modo ppp, gracias!!

Deja un comentario

Tu dirección de correo electrónico no será publicada.