Cómo configurar el servidor Ubuntu como un router usando PPPoE

Ubuntu Server está técnicamente diseñado como un sistema operativo de sólo lectura para su uso con grandes servidores de hierro, pero no hay razón para que no pueda funcionar en enrutadores y sistemas empotrados que manejan el protocolo punto a punto a través de Ethernet también. Se supone que un proyecto como este necesita una pequeña PC sin ventilador o algún tipo de caja de router que se puede modificar a través de un chip NAND flash. Es más que probable que vayas a instalar una cantidad decente de RAM así como un disco de estado sólido para eliminar el ruido así como las partes móviles. Tal vez te interese usar un convertidor SDHC a SATA para poder ejecutar todo el sistema operativo desde una tarjeta SD. Las tarjetas SD insertadas en las ranuras laterales en el hardware libre heredado también pueden arrancar el sistema operativo. Esto funciona muy bien cuando se usa con un sistema PPPoE.

Aunque se podría pensar que el uso de este tipo de configuración puede ser lento sin un disco duro electromecánico adecuado, en realidad teóricamente se reduciría el tiempo de acceso. El servidor de Ubuntu es tan pequeño que se inicia rápidamente de todos modos. Una vez que tienes el router en su lugar, probablemente no lo enciendas y lo apagues muy a menudo. Independientemente de la configuración que elijas, querrás apuntar tu navegador a https://www.ubuntu.com/download/server para descargar una ISO. La última versión en el momento de escribir este artículo, Ubuntu Server 16.04.1 LTS, está diseñado sólo para su uso con arquitecturas de 64 bits. La mayoría de los enrutadores modernos y dispositivos thin client cumplen este requisito perfectamente, pero esto puede ser un problema si se intenta algo verdaderamente exótico como usar un netbook como enrutador.

Configurando el servidor Ubuntu como un enrutador PPPoE

Varias de las principales redes de proveedores de servicios de Internet siguen exigiendo la autenticación PPPoE. Casi todas las redes DSL usan esto, y aunque es innecesario cuando se trabaja con una conexión de fibra, algunas de ellas también lo usan. Los enrutadores de Netgear ofrecen un aviso de inicio de sesión que le permite conectarse a estos tipos de redes fácilmente, pero llevará algo de trabajo conseguir que un enrutador Linux de construcción casera se interconecte correctamente con este tipo de tecnología.

Si no estás ya en tu navegador, entonces dirígete a http://releases.ubuntu.com/16.04.1/ . Podrías haber descargado la ISO de esta página si no la tuvieras, pero una vez que la tengas desplázate hacia abajo hasta el enlace que dice MD5SUMS y selecciónala.

Desde el indicador del CLI, ejecute md5sum en la ISO del servidor Ubuntu y asegúrese de que coincide con el número junto a ubuntu-16.04-desktop-amd64.iso en el listado.

Si lo hace, entonces consigue una memoria USB o tarjeta SD completamente en blanco y escribe sudo if=ubuntu-16.04-desktop-amd64.iso of=/dev/sdLetter bs=8M , reemplazando el prompt of= con el nombre del dispositivo en cuestión. Puede utilizar sudo fdisk -l para encontrar todos los dispositivos conectados a su sistema. Una vez que lo hayas hecho, retira el disco correctamente y conéctalo al sistema del router. Reinícialo y pulsa cualquier tecla que sea necesaria para arrancar dicho sistema desde el almacenamiento extraíble. Ubuntu Server se instala con relativa facilidad basándose en una serie de avisos de ncurses basados en texto.

Sin embargo, un problema de instalarlo de esta manera es que los medios extraíbles requerirán que esté conectado a Internet durante la instalación, y conectar una caja como ésta directamente a una red plantea algunos problemas de seguridad. Conéctela a uno de los puertos de red de su antiguo router para proporcionar servicios de cortafuegos hasta que la ponga en funcionamiento. Tan pronto como lo haga, necesitará hacer algunas modificaciones en el cargador de arranque GRUB. Si es posible, entonces desenchufe su router Linux de su máquina existente tan pronto como sea posible para continuar la instalación sin conexión. Esto evitará problemas extraños de DHCP que podría tener en su conexión existente de otra manera.

También te puede interesar:  SOLUCIÓN: Hacer que el bloqueo de números permanezca en el inicio en Windows 7/Vista

Lo más probable es que no quieras instalar ningún software adicional durante el proceso de configuración del sistema operativo. GRUB arranca silenciosamente en una instalación predeterminada de Ubuntu Server, lo que significa que no verá ningún mensaje de depuración. Si ve un cursor parpadeante sin nada más después de que arranque, entonces mantenga pulsadas las teclas Ctrl, Alt y F1 para llegar a una consola virtual. Inicie sesión en su cuenta, y luego escriba aunque también podría querer usar vi en su lugar. Encuentra una línea que diga GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash» y borra las palabras «quiet splash» entre comillas. También querrás editar una línea que diga GRUB_CMDLINE_LINUX=»» para incluir net.ifnames=0 biosdevname=0 entre comillas para nombrar correctamente tus tarjetas de red. Guarda el archivo y luego ejecuta sudo update-grub para actualizar tu loder de arranque, ya que el archivo grub probablemente esté en algún tipo de partición UEFI.

Encuentra una línea que diga GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash» y borra las palabras » quiet splash » que están entre comillas. fsafa

Eso es un pirata.

Escriba sudo nano para abrir su archivo de interfaces para editarlo, y luego cambie los nombres de las tarjetas de red que encuentre allí por los tradicionales eth0 y eth1 , luego guarde el archivo y salga. Una vez que salgas del archivo puedes reiniciar el sistema para asegurarte de que los cambios surtan efecto correctamente.

Ahora tendrás que instalar el software apropiado de PPPoE y OpenSSL para completar la instalación. Puedes instalar DNS, DHCP, PPPoE y OpenSSL con un solo problema de línea de comandos:

sudo apt-get install bind9 isc-dhcp-server openssl pppoeconf

Esto podría tomar unos momentos, y podría preguntar si estás listo para aprobar los cambios. Asegúrate de decirle que lo estás. Tan pronto como termine todo, puedes desconectarte de Internet y continuar sin conexión. Tal vez quieras usar el comando de sincronización unas cuantas veces para asegurarte de que todos los buffers están sincronizados en caso de que algo malo suceda.

Su ISP le proporciona un nombre de usuario y una contraseña, que tendrá que introducir en el archivo de secretos. Escriba pero recuerde que puede seguir usando vi si lo prefiere. Tu nombre de usuario y contraseña deben ser citados. Por ejemplo, potencialmente querrás:

«billy» * «mypass3»

Guarda el archivo y ahora navega al Encontrarás un archivo llamado proveedor en este directorio. Ábrelo con nano como lo hacías con los otros archivos de configuración, o crea uno nuevo de la misma manera. Pon cada uno de estos comandos en una línea separada del archivo:

noipdefault

ruta por defecto

sustituido por la ruta por defecto

persisten

plugin rr-pppoe.so eth0

usuario «billy»

También puedes poner una contraseña oculta y noautro si prefieres no usar los mensajes de inicio de sesión, ya que vas a usar esto como un enrutador y no como una máquina de producción real con una interfaz regular. Reemplaza el nombre billy por el nombre de usuario real que tienes, y luego ejecuta pon provider o el nombre del archivo que creas para conectarte. Debería darle cualquier mensaje de error relevante en el proceso, pero puede usar ifconfig para encontrar la interfaz de red ppp0 o ppp1. Tendrá que hacer referencia a esto más tarde. Podrías añadir usepeerdns si quieres pedirle al par un par de direcciones de servidores DNS, que luego se pasan a como variables de entorno etiquetadas DNS2 y DNS1. También forzarás a una variable de entorno llamada USEPEERDNS a que se establezca en 1 también. Si prefieres usar tus propios servidores de DNS y no los que te ha asignado tu ISP, puedes añadir líneas a tu archivo como:

También te puede interesar:  ¿Cómo descargar e instalar los mapas en Minecraft?

Estos deben estar aquí ya que cada vez que reinicias el servidor o estableces una nueva conexión PPPoE, los archivos son sobrescritos.

En la mayoría de los casos, su MTU está fijada en alrededor de 1500, pero lo más alto que podrá obtener es alrededor de 1492 o tal vez menos ya que está usando la interfaz PPPoE. Asumiendo que ha determinado el MTU máximo para su sistema ppp0 o ppp1, necesitará usar para abrir el archivo ip-up y luego agregar la línea /sbin/ifconfig ppp0 mtu #### en la parte inferior, reemplazando #### con su valor correcto. Puede ser alrededor de 1480 si no estás seguro.

Muchos tutoriales te dirán que configures la conexión de la WAN eth0 a DHCP, pero necesitas configurarla en manual debido a la conexión PPPoE con la que estás trabajando. Use y edítelo de manera que el bloque de código debajo de # La interfaz de red WAN lea auto eth0 y iface eth0 en el manual y luego el bloque de código debajo de él debe leer:

# La interfaz de la red LAN

auto eth1

iface eth1 inet static

dirección 192.168.1.1

máscara de red 255.255.255.0

Los enrutadores necesitan que el reenvío de paquetes esté activado para poder actuar como un enrutador, por lo tanto, utilice y luego retire el octothorpe delante de net.ipv4.ip_forward=1 antes de guardar. Lo encontrará bajo una cita que dice # Descomentar la siguiente línea para habilitar el reenvío de paquetes para IPv4, pero también podría querer eliminar la marca delante de net.ipv6.conf.all.forwarding=1 si planea utilizar el enrutamiento IPv6, lo cual puede ser un reto bajo un sistema PPPoE.

Abre el archivo iptables para editarlo con el comando y luego agrega estas líneas:

Guarda el archivo, y luego sal de nano o cualquier otro editor de texto que hayas usado antes de proceder. Las iptables constituyen el principal cortafuegos del núcleo de Linux, así que es una buena idea tener estas tablas en orden antes de iniciar la conexión con el ISP.

Ahora tendrás que cambiar los permisos del archivo en cuestión, así que quizás quieras usar sudo -i o sudo bash para obtener un aviso de raíz. Una vez que lo uses:

Una vez que se aplican estos permisos, puede escribir exit y pulsar la tecla enter para salir del aviso elevado.

El siguiente archivo de configuración que necesitamos abrir con y lo editarás exactamente de la misma manera. Necesitas añadir la siguiente configuración, reemplazando los octotorpes con la dirección IP correcta para tu router:

subred ###.###.##.# máscara de red 255.255.255.0 {

rango ###.###.##.### ###.###.##.###;

opción enrutadores ###.###.##.#;

opción nombre-dominio-servidores ###.###.##.#;

opción dirección de emisión ###.###.##.###;

}

Guarda y cierra el archivo. Si estás trabajando con una tarjeta SD o algo similar, entonces este es otro buen momento para emitir el comando de sincronización también.

Tendrás que usar sudo nano una vez más para abrir el archivo para incluir tus propias reglas personalizadas. Todavía estamos trabajando con una conexión PPPoE, así que usaremos el archivo de dispositivo ppp0 en lugar del eth0 por defecto.

Bajo un bloque de código que comienza con el comentario » # Pinza el MSS al tamaño MTU, » incluye la siguiente línea:

-A FORWARD -p tcp -tcp-flags SYN,RST SYN -j TCPMSS -clamp-mss-to-pmtu

Esta regla es necesaria para evitar que las páginas web se carguen sólo hasta la mitad o que se agoten. En cambio, une la MTU y la MSS, así que no tendrás estos problemas. Esto permite al núcleo de Linux adivinar los tamaños correctos, pero en realidad se pueden especificar si es necesario. Bajo un bloque de código que comienza con » # Especificar el tamaño del MSS, » tendrás que añadir:

También te puede interesar:  FIX: Cómo quitar la Saga de Candy Crush de Windows 10

-A FORWARD -p tcp -tcp-flags SYN,RST SYN -j TCPMSS -set-mss ####

Reemplaza la sección #### con el valor correcto de MSS. Puedes averiguarlo con un simple poco de matemáticas. Reste el tamaño del encabezado PPPoE de su MTU, y luego reste el encabezado IP y el encabezado TCP. La diferencia es el tamaño total del MSS.

Puede que tengas que modificar la regla de servicio de SSH para añadir la opción -syn que te permitirá acceder a SSH a este router desde otro ordenador que esté registrado en tu LAN. Comentar la regla de servicio ICMP hará que su máquina no responda a ningún ping. Esto hará que su ordenador sea bastante sigiloso, aunque no debería considerar esto como una especie de tratamiento final que hace que sus hábitos de navegación a través de este router sean invisibles. No lo hará, pero es una capa más de seguridad para protegerte.

A veces, las interfaces o conexiones PPPoE con las que estás trabajando no se conectan de inmediato al arrancar el router, por lo que puede que quieras crear un breve script de inicio para asegurarte de que funciona correctamente cuando el sistema arranque. Sólo añade alrededor de 8-10 segundos al tiempo total de arranque, así que realmente vale la pena. Edita el archivo con sudo nano una vez más, y luego añade

dormir 3

ifup eth0

dormir 3

ifup eth1

dormir 3

pon proveedor

Tendrá que sustituir el nombre del proveedor por el nombre de un archivo personalizado si ha creado uno para reemplazar el archivo del proveedor predeterminado. Muchos enrutadores sólo necesitan un tiempo de espera de 1-2 segundos, por lo que es posible que desee experimentar con eso para mejorar el rendimiento de arranque. De todos modos, no debería llevar mucho tiempo reiniciar en absoluto en primer lugar.

Esto debería ejecutar los comandos pon e ifup después de que el sistema se inicie totalmente, pero antes de que aparezcan los mensajes de inicio de sesión de la consola virtual real. Si la conexión está activada, entonces no pasa nada, pero si una de las conexiones no funciona correctamente, este script se asegurará de que se inicie correctamente. El último comando pon se basa en eth0 y eth1, por lo que siempre debes posicionarlo como el paso final o de lo contrario el script podría fallar.

Tan pronto como reinicies la máquina después de hacer todos estos cambios tendrás un router completamente funcional en el Servidor Ubuntu. Tal vez quieras usar ocasionalmente sudo iptables-L si necesitas comprobar su estado de vez en cuando, pero por lo demás todo funcionará tan bien o mejor que un router de fabricación comercial. Tu nuevo router ejecutará cualquier otro paquete de Ubuntu necesario, pero no deberías necesitar instalar un Servidor X o cualquier otra cosa, porque el sistema debería funcionar correctamente sin necesidad de software adicional de interfaz de usuario.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies