Aloxamento dun sitio web no seu enrutador doméstico
Hai tempo que quería "tocar as miñas mans" nos servizos de Internet configurando un servidor web desde cero e lanzándoo a Internet. Neste artigo quero compartir a miña experiencia na transformación dun enrutador doméstico dun dispositivo altamente funcional nun servidor case completo.
Todo comezou co feito de que o enrutador TP-Link TL-WR1043ND, que servira fielmente, xa non satisfacía as necesidades dunha rede doméstica; quería unha banda de 5 GHz e un acceso rápido aos ficheiros nun dispositivo de almacenamento conectado ao enrutador. . Despois de buscar foros especializados (4pda, ixbt), sitios con críticas e ollar a variedade de tendas locais, decidín mercar Keenetic Ultra.
As boas críticas dos propietarios traballaron a favor deste dispositivo en particular:
sen problemas co sobrequecemento (aquí tivemos que abandonar os produtos Asus);
fiabilidade operativa (aquí tachei TP-Link);
fácil de configurar (temín que non podía manexalo e tachei Microtik).
Tiven que aceptar as desvantaxes:
sen WiFi6, quería levar equipos con reserva para o futuro;
4 portos LAN, quería máis, pero esta xa non é unha categoría doméstica.
Como resultado, obtivemos este "servidor":
á esquerda está o terminal óptico de Rostelecom;
á dereita está o noso router experimental;
un SSD m.2 de 128 GB que hai, colocado nunha caixa USB3 de Aliexpress, está conectado ao router cun cable, agora está ben montado na parede;
en primeiro plano hai un cable de extensión con enchufes desconectados de forma independente, o cable do mesmo vai a un UPS barato;
ao fondo hai un montón de cables de par trenzado: na fase de renovación do apartamento, planeei inmediatamente tomas RJ45 nos lugares onde se supoñía que se ubicaría o equipo, para non depender da conexión WiFi.
Entón, temos o equipo, necesitamos configuralo:
A configuración inicial do enrutador leva uns 2 minutos, indicamos os parámetros de conexión ao provedor (o meu terminal óptico cambia ao modo ponte, a conexión PPPoE levanta o enrutador), o nome da rede WiFi e o contrasinal, basicamente iso é todo. , o router iníciase e funciona.
Establecemos o reenvío de portos externos aos portos do propio enrutador na sección "Regras de rede - Reenvío":
Agora podemos pasar á parte "avanzada", o que quería do router:
funcionalidade dun pequeno NAS para unha rede doméstica;
realizar funcións de servidor web para varias páxinas privadas;
funcionalidade de nube persoal para acceder a datos persoais desde calquera lugar do mundo.
O primeiro impléntanse mediante ferramentas integradas, sen esixir moito esforzo:
Collemos unha unidade destinada a este rol (unidade flash, tarxeta de memoria nun lector de tarxetas, disco duro ou SSD nunha caixa externa e formatámola a Ext4 usando MiniTool Partition Wizard Edición gratuíta (Non teño un ordenador con Linux a man, é posible con ferramentas integradas). Segundo entendo, durante o funcionamento o sistema só escribe rexistros na unidade flash, polo que se os limitas despois de configurar o sistema, tamén podes usar tarxetas de memoria se pensas escribir moito e moitas veces na unidade: un SSD ou O HDD é mellor.
Despois diso, conectamos a unidade ao enrutador e observamos na pantalla do monitor do sistema
Fai clic en "Unidades USB e impresoras" na sección "Aplicacións" e configura o recurso compartido na sección "Rede de Windows":
E temos un recurso de rede que se pode utilizar desde ordenadores Windows, conectándose como disco se é necesario: net use y: \192.168.1.1SSD /persistent:yes
A velocidade dun NAS tan improvisado é bastante suficiente para o uso doméstico; a través dun cable usa todo o gigabit, a través de WiFi a velocidade é duns 400-500 megabits.
Configurar o almacenamento é un dos pasos necesarios para configurar o servidor, entón necesitamos:
- mercar un dominio e un enderezo IP estático (podes prescindir diso usando Dynamic DNS, pero xa tiña unha IP estática, polo que resultou máis doado de usar Servizos gratuítos de Yandex - delegando alí o dominio, recibimos aloxamento DNS e correo no noso dominio);
Tarda varias horas en entrar en vigor a configuración de delegación de dominio e DNS, polo que ao mesmo tempo estamos configurando o enrutador.
En primeiro lugar, necesitamos instalar o repositorio de Entware, desde o que podemos instalar os paquetes necesarios no router. Aproveitei esta instrución, simplemente non cargou o paquete de instalación a través de FTP, senón que creou un cartafol directamente na unidade de rede conectada previamente e copiou o ficheiro alí do xeito habitual.
Despois de ter acceso a través de SSH, cambie o contrasinal co comando passwd e instale todos os paquetes necesarios co comando opkg install [nomes dos paquetes]:
Durante a configuración, instaláronse os seguintes paquetes no enrutador (a saída do comando opkg list-installed):
Quizais había algo superfluo aquí, pero había moito espazo na unidade, así que non me molestei en miralo.
Despois de instalar os paquetes, configuramos nginx, tenteino con dous dominios: o segundo está configurado con https e, polo de agora, hai un esbozo. Os portos internos 81 e 433 utilízanse en lugar dos 80 e 443, xa que o panel de administración do enrutador colga nos portos normais.
Para que o sitio funcione a través de https, usei o coñecido script deshidratado, instalándoo usando esta instrución. Este proceso non causou ningunha dificultade, só tropecei co feito de que no texto do script para traballar no meu enrutador cómpre comentar a liña no ficheiro /opt/etc/ssl/openssl.cnf:
[openssl_conf]
#engines=engines
E observo que xerar dhparams.pem co comando "openssl dhparam -out dhparams.pem 2048" no meu router leva máis de 2 horas, se non fose polo indicador de progreso, perdería a paciencia e reiniciaría.
Despois de recibir os certificados, reinicie nginx co comando "/opt/etc/init.d/S80nginx restart". En principio, a configuración está completa, pero aínda non hai sitio web: se poñemos o ficheiro index.html no directorio /share/nginx/html, veremos un esbozo.
Para colocar a información de xeito fermoso, é máis doado para un non profesional coma min usar modelos xa preparados; despois dunha longa busca en varios catálogos, atopei templatemo.com - hai unha boa selección de modelos gratuítos que non requiren atribución (o que é raro en Internet; a maioría dos modelos da licenza requiren que garde unha ligazón ao recurso do que se obtiveron).
Seleccionamos un modelo axeitado: hai outros para unha variedade de casos, descarga o arquivo e descomprimelo no directorio /share/nginx/html, podes facelo desde o teu ordenador e editar o modelo (aquí necesitarás un mínimo de coñecementos). de HTML para non romper a estrutura) e substitúa os gráficos como se mostra na figura seguinte.
Resumo: o enrutador é bastante axeitado para aloxar un sitio web lixeiro nel, en principio - se non esperas unha gran carga, podes instalar e php, e experimentar con proxectos máis complexos (miro a nextcloud/owncloud, parece que hai instalacións exitosas neste hardware). A posibilidade de instalar paquetes aumenta a súa utilidade; por exemplo, cando era necesario protexer o porto RDP dun PC nunha rede local, instalei knockd no enrutador, e o reenvío de portos ao PC abriuse só despois de golpear o porto.
Por que un enrutador e non un PC normal? Un enrutador é unha das poucas pezas de hardware de ordenador que funciona todo o día en moitos apartamentos; un enrutador doméstico adoita ser absolutamente silencioso e un sitio lixeiro con menos de cen visitas ao día non o molestará en absoluto.