Durante mucho tiempo he querido “tocarme las manos” con los servicios de Internet configurando un servidor web desde cero y liberándolo en Internet. En este artículo quiero compartir mi experiencia al transformar un enrutador doméstico de un dispositivo altamente funcional en un servidor casi completo.
Todo comenzó con el hecho de que el enrutador TP-Link TL-WR1043ND, que había funcionado fielmente, ya no satisfacía las necesidades de una red doméstica; quería una banda de 5 GHz y acceso rápido a los archivos en un dispositivo de almacenamiento conectado al enrutador. . Después de revisar foros especializados (4pda, ixbt), sitios con reseñas y observar la variedad de tiendas locales, decidí comprar Keenetic Ultra.
Las buenas críticas de los propietarios favorecieron este dispositivo en particular:
no hay problemas de sobrecalentamiento (aquí tuvimos que abandonar los productos Asus);
confiabilidad operativa (aquí taché TP-Link);
fácil de configurar (tenía miedo de no poder manejarlo y taché Microtik).
Tuve que aceptar las desventajas:
sin WiFi6, quería llevarme equipo con reserva para el futuro;
4 puertos LAN, quería más, pero esta ya no es una categoría doméstica.
Como resultado, obtuvimos este "servidor":
a la izquierda está el terminal óptico de Rostelecom;
a la derecha está nuestro enrutador experimental;
un SSD m.2 de 128 GB por ahí, colocado en una caja USB3 de Aliexpress, está conectado al enrutador con un cable, ahora está cuidadosamente montado en la pared;
en primer plano hay un cable de extensión con enchufes desconectados independientemente, el cable que va a un UPS económico;
al fondo hay un montón de cables de par trenzado; en la etapa de renovación del apartamento, inmediatamente planeé enchufes RJ45 en los lugares donde se suponía que debía ubicarse el equipo, para no depender de que el WiFi estuviera contaminado.
Entonces, tenemos el equipo, necesitamos configurarlo:
La configuración inicial del enrutador tarda unos 2 minutos, indicamos los parámetros de conexión al proveedor (mi terminal óptico cambia al modo puente, la conexión PPPoE levanta el enrutador), el nombre de la red WiFi y la contraseña, básicamente eso es todo. , el enrutador se inicia y funciona.
Configuramos el reenvío de puertos externos a los puertos del propio enrutador en la sección "Reglas de red - Reenvío":
Ahora podemos pasar a la parte “avanzada”, lo que quería del router:
funcionalidad de un pequeño NAS para una red doméstica;
realizar funciones de servidor web para varias páginas privadas;
Funcionalidad de nube personal para acceder a datos personales desde cualquier parte del mundo.
El primero se implementa utilizando herramientas integradas, sin requerir mucho esfuerzo:
Tomamos una unidad destinada a esta función (unidad flash, tarjeta de memoria en un lector de tarjetas, disco duro o SSD en una caja externa y la formateamos en Ext4 usando MiniTool Partition Wizard Edición gratuita (No tengo una computadora con Linux a mano, es posible con herramientas integradas). Según tengo entendido, durante el funcionamiento el sistema solo escribe registros en la unidad flash, por lo que si los limita después de configurar el sistema, también puede usar tarjetas de memoria si planea escribir mucho y con frecuencia en la unidad: SSD o El disco duro es mejor.
Después de esto, conectamos la unidad al enrutador y lo observamos en la pantalla del monitor del sistema.
Haga clic en "Unidades USB e impresoras" en la sección "Aplicaciones" y configure el recurso compartido en la sección "Red de Windows":
Y tenemos un recurso de red que se puede utilizar desde ordenadores con Windows, conectándose como disco si es necesario: net use y:\192.168.1.1SSD /persistent:yes
La velocidad de un NAS tan improvisado es suficiente para uso doméstico: por cable utiliza todo el gigabit, por WiFi la velocidad es de unos 400-500 megabits.
Configurar el almacenamiento es uno de los pasos necesarios para configurar el servidor, entonces necesitamos:
- comprar un dominio y una dirección IP estática (puedes prescindir de esto usando DNS dinámico, pero yo ya tenía una IP estática, por lo que resultó ser más fácil de usar servicios gratuitos de Yandex - delegando el dominio allí, recibimos hosting DNS y correo en nuestro dominio);
Se necesitan varias horas para que la configuración de delegación de dominio y DNS surta efecto, por lo que estamos configurando el enrutador simultáneamente.
Primero, necesitamos instalar el repositorio de Entware, desde el cual podemos instalar los paquetes necesarios en el enrutador. me aproveché esta instrucción, simplemente no cargó el paquete de instalación a través de FTP, sino que creó una carpeta directamente en la unidad de red previamente conectada y copió el archivo allí de la forma habitual.
Habiendo obtenido acceso a través de SSH, cambie la contraseña con el comando passwd e instale todos los paquetes necesarios con el comando opkg install [nombres de paquetes]:
Durante la instalación, se instalaron los siguientes paquetes en el enrutador (el resultado del comando opkg list-installed):
Quizás había algo superfluo aquí, pero había mucho espacio en el disco, así que no me molesté en mirarlo.
Después de instalar los paquetes, configuramos nginx, lo probé con dos dominios: el segundo está configurado con https y por ahora hay un código auxiliar. Se utilizan los puertos internos 81 y 433 en lugar de 80 y 443, ya que el panel de administración del enrutador se bloquea en los puertos normales.
Para que el sitio funcione a través de https, utilicé el conocido script deshidratado, instalándolo usando esta instrucción. Este proceso no causó ninguna dificultad, solo me topé con el hecho de que en el texto del script para trabajar en mi enrutador necesitas comentar la línea en el archivo /opt/etc/ssl/openssl.cnf:
[openssl_conf]
#engines=engines
Y observo que generar dhparams.pem con el comando "openssl dhparam -out dhparams.pem 2048" en mi enrutador lleva más de 2 horas, si no fuera por el indicador de progreso, habría perdido la paciencia y habría reiniciado.
Después de recibir los certificados, reinicie nginx con el comando "/opt/etc/init.d/S80nginx restart". En principio, la configuración está completa, pero aún no hay un sitio web; si colocamos el archivo index.html en el directorio /share/nginx/html, veremos un código auxiliar.
Para colocar la información de manera hermosa, es más fácil para un no profesional como yo usar plantillas ya preparadas; después de una larga búsqueda en varios catálogos, encontré templatemo.com - hay una buena selección de plantillas gratuitas que no requieren atribución (lo cual es poco común en Internet; la mayoría de las plantillas de la licencia requieren que guarde un enlace al recurso del que se obtuvieron).
Seleccionamos una plantilla adecuada: las hay para una variedad de casos, descargamos el archivo y lo descomprimimos en el directorio /share/nginx/html, puede hacerlo desde su computadora y luego editar la plantilla (aquí necesitará conocimientos mínimos de HTML para no romper la estructura) y reemplazar los gráficos como se muestra en la figura siguiente.
Resumen: el enrutador es bastante adecuado para alojar un sitio web liviano, en principio; si no espera una gran carga, puede instalar y phpy experimentar con proyectos más complejos (miro nextcloud/owncloud, parece que hay instalaciones exitosas en dicho hardware). La capacidad de instalar paquetes aumenta su utilidad; por ejemplo, cuando fue necesario proteger el puerto RDP de una PC en una red local, instalé knockd en el enrutador y el reenvío de puertos a la PC se abrió solo después de llamar al puerto.
¿Por qué un enrutador y no una PC normal? Un router es uno de los pocos equipos informáticos que en muchos apartamentos funciona las XNUMX horas del día; un router doméstico suele ser absolutamente silencioso y un sitio ligero con menos de cien visitas al día no le molestará en absoluto.