Allotjament d'un lloc web en un encaminador domèstic
Feia temps que volia "tocar-me les mans" als serveis d'Internet configurant un servidor web des de zero i llançant-lo a Internet. En aquest article vull compartir la meva experiència en la transformació d'un encaminador domèstic d'un dispositiu altament funcional a un servidor gairebé complet.
Tot va començar amb el fet que l'encaminador TP-Link TL-WR1043ND, que havia servit fidelment, ja no satisfà les necessitats d'una xarxa domèstica; volia una banda de 5 GHz i un accés ràpid als fitxers en un dispositiu d'emmagatzematge connectat al router. . Després de mirar fòrums especialitzats (4pda, ixbt), llocs amb ressenyes i mirar l'assortiment de botigues locals, vaig decidir comprar Keenetic Ultra.
Les bones crítiques dels propietaris van treballar a favor d'aquest dispositiu en particular:
sense problemes amb el sobreescalfament (aquí vam haver d'abandonar els productes Asus);
fiabilitat operativa (aquí he ratllat TP-Link);
fàcil d'instal·lar (tenia por que no podia manejar-ho i vaig ratllar Microtik).
Vaig haver d'acceptar els inconvenients:
sense WiFi6, volia agafar equips amb reserva per al futur;
4 ports LAN, en volia més, però això ja no és una categoria domèstica.
Com a resultat, hem obtingut aquest "servidor":
a l'esquerra hi ha el terminal òptic de Rostelecom;
a la dreta hi ha el nostre encaminador experimental;
un SSD m.2 de 128 GB al voltant, col·locat en una caixa USB3 d'Aliexpress, està connectat al router amb un cable, ara està ben muntat a la paret;
en primer pla hi ha un cable d'extensió amb endolls desconnectats de manera independent, el cable d'aquest va a un SAI de baix cost;
al fons hi ha un munt de cables de parell trenat: en l'etapa de renovació de l'apartament, vaig planificar de seguida preses RJ45 als llocs on se suposava que s'havia d'ubicar l'equip, per no dependre de la xarxa WiFi.
Així doncs, tenim l'equip, hem de configurar-lo:
La configuració inicial de l'encaminador triga uns 2 minuts, indiquem els paràmetres de connexió al proveïdor (el meu terminal òptic està canviat en mode pont, la connexió PPPoE aixeca l'encaminador), el nom de la xarxa WiFi i la contrasenya, bàsicament això és tot. , l'encaminador s'engega i funciona.
Definim el reenviament de ports externs als ports del propi encaminador a la secció "Regles de xarxa - Reenviament":
Ara podem passar a la part "avançada", el que jo volia del router:
funcionalitat d'un petit NAS per a una xarxa domèstica;
realitzar funcions de servidor web per a diverses pàgines privades;
funcionalitat de núvol personal per accedir a dades personals des de qualsevol part del món.
El primer s'implementa mitjançant eines integrades, sense requerir gaire esforç:
Agafem una unitat destinada a aquesta funció (unitat flash, targeta de memòria en un lector de targetes, disc dur o SSD en una caixa externa i la formem a Ext4 utilitzant MiniTool Partition Wizard Free Edition (No tinc un ordinador amb Linux a mà, és possible amb eines integrades). Segons tinc entès, durant el funcionament el sistema només escriu registres a la unitat flaix, de manera que si els limiteu després de configurar el sistema, també podeu utilitzar targetes de memòria si teniu previst escriure molt i sovint a la unitat: un SSD o L'HDD és millor.
Després d'això, connectem la unitat al router i l'observem a la pantalla del monitor del sistema
Feu clic a "Unitats USB i impressores" a la secció "Aplicacions" i configureu la compartició a la secció "Xarxa de Windows":
I tenim un recurs de xarxa que es pot utilitzar des d'ordinadors Windows, connectant-se com a disc si cal: ús net y: \192.168.1.1SSD /persistent:sí
La velocitat d'un NAS tan improvisat és prou suficient per a l'ús domèstic; amb un cable s'utilitza tot el gigabit, amb WiFi la velocitat és d'uns 400-500 megabits.
Configurar l'emmagatzematge és un dels passos necessaris per configurar el servidor, llavors necessitem:
- comprar un domini i una adreça IP estàtica (pot prescindir d'això utilitzant Dynamic DNS, però ja tenia una IP estàtica, així que va resultar més fàcil d'utilitzar serveis gratuïts de Yandex - delegant-hi el domini, rebem allotjament i correu DNS al nostre domini);
La configuració de la delegació de domini i DNS triguen diverses hores a tenir efecte, de manera que estem configurant l'encaminador simultàniament.
En primer lloc, hem d'instal·lar el repositori Entware, des del qual podem instal·lar els paquets necessaris al router. Vaig aprofitar aquesta instrucció, simplement no va penjar el paquet d'instal·lació mitjançant FTP, sinó que va crear una carpeta directament a la unitat de xarxa prèviament connectada i hi va copiar el fitxer de la manera habitual.
Havent tingut accés mitjançant SSH, canvieu la contrasenya amb l'ordre passwd i instal·leu tots els paquets necessaris amb l'ordre opkg install [noms de paquets]:
Durant la configuració, es van instal·lar els paquets següents al router (la sortida de l'ordre d'instal·lació de la llista opkg):
Potser hi havia alguna cosa superflu aquí, però hi havia molt d'espai a la unitat, així que no em vaig molestar a mirar-ho.
Després d'instal·lar els paquets, configurem nginx, ho vaig provar amb dos dominis: el segon està configurat amb https i, de moment, hi ha un taló. Els ports interns 81 i 433 s'utilitzen en lloc dels 80 i 443, ja que el tauler d'administració de l'encaminador es penja als ports normals.
Per tal que el lloc funcioni mitjançant https, vaig utilitzar el conegut script deshidratat, instal·lant-lo mitjançant aquesta instrucció. Aquest procés no va causar cap dificultat, només em vaig ensopegar amb el fet que al text de l'script per treballar amb el meu encaminador heu de comentar la línia del fitxer /opt/etc/ssl/openssl.cnf:
[openssl_conf]
#engines=engines
I noto que generar dhparams.pem amb l'ordre "openssl dhparam -out dhparams.pem 2048" al meu encaminador triga més de 2 hores, si no fos per l'indicador de progrés, hauria perdut la paciència i hauria reiniciat.
Després de rebre els certificats, reinicieu nginx amb l'ordre "/opt/etc/init.d/S80nginx restart". En principi, la configuració està completa, però encara no hi ha cap lloc web: si posem el fitxer index.html al directori /share/nginx/html, veurem un taló.
Per col·locar la informació de manera meravellosa, és més fàcil que un no professional com jo utilitzi plantilles ja fetes; després d'una llarga recerca a través de diversos catàlegs, vaig trobar templatemo.com - hi ha una bona selecció de plantilles gratuïtes que no requereixen atribució (cosa poc freqüent a Internet; la majoria de plantilles de la llicència requereixen que deseu un enllaç al recurs del qual s'han obtingut).
Seleccionem una plantilla adequada: n'hi ha per a diversos casos, descarregueu l'arxiu i descomprimiu-lo al directori /share/nginx/html, podeu fer-ho des del vostre ordinador i, a continuació, editar la plantilla (aquí necessitareu un coneixement mínim). d'HTML per no trencar l'estructura) i substituïu els gràfics tal com es mostra a la figura següent.
Resum: l'encaminador és bastant adequat per allotjar-hi un lloc web lleuger, en principi, si no espereu una càrrega gran, podeu instal·lar i php, i experimentem amb projectes més complexos (miro nextcloud/owncloud, sembla que hi ha instal·lacions reeixides en aquest maquinari). La possibilitat d'instal·lar paquets augmenta la seva utilitat; per exemple, quan era necessari protegir el port RDP d'un ordinador en una xarxa local, vaig instal·lar knockd a l'encaminador, i el reenviament de ports a l'ordinador només es va obrir després de tocar el port.
Per què un encaminador i no un ordinador normal? Un encaminador és una de les poques peces de maquinari d'ordinador que funciona durant tot el dia a molts apartaments; un encaminador domèstic sol ser absolutament silenciós i un lloc lleuger amb menys de cent visites al dia no li molestarà gens.