Paigalda oma veebisait koduse ruuteri peale

Mulle on juba ammu meeldinud proovida internetiteenuseid, seades veebiserverit nullist ja viies selle Internetti. Selles artiklis tahan jagada saadud kogemust koduse ruuteri muutmisest praktiliselt tÀisvÀÀrtuslikuks serveriks.

KĂ”ik sai alguse sellest, et truud TP-Link TL-WR1043ND ruuter ei rahuldanud enam koduvĂ”rgu vajadusi, tekkinud oli soov 5 GHz sagedusala ja kiire juurdepÀÀs failidele, mis on ruuterile ĂŒhendatud salvestusseadmest. Uurisin spetsialiseeritud foorumeid (4pda, ixbt), arvustuste saite ja vaatasin kohalikke kauplusi — otsustasin osta Keenetic Ultra.

Selle seadme kasuks rÀÀkisid head omanike hinnangud:

  • ĂŒlevaatusprobleemide puudumine (siin tuli loobuda Asus toodetest);
  • töös usaldusvÀÀrsus (siin vĂ€listas TP-Link);
  • lihtsus seadistamisel (kartsin, et ei saa hakkama, ja vĂ€listas Microtiki).

Pidin leppima miinustega:

  • pole WiFi6, tahtsin seadme, mis oleks tulevikuks varuks;
  • 4 LAN porti, tahtsin rohkem, aga see pole enam kodukaubandus.

LÔpuks sai selline "serveri" kÀitamine:

Paigalda oma veebisait koduse ruuteri peale

  • vasakul on Rostelecomi optiline terminal;
  • paremal on meie katsealana kasutatav ruuter;
  • ruuteriga on ĂŒhendatud ĂŒhel kĂŒljel alustatud m.2 SSD, mille ma ostsin AliExpressist, see on praegu korralikult seinale kinnitatud;
  • esiplaanil on pikendusjuhe, millel on sĂ”ltumatu pistikute vĂ€ljalĂŒlitamine, juhe sellelt lĂ€heb odavale UPS-ile;
  • taustal on paarike keermejuhtmeid — korteri renoveerimise etapis planeerisin kohe RJ45 pistikud seadmete kavandatud asukoha juures, et vĂ€ltida WiFi rĂ€pasust.

Nii et meil on olemas varustus, tuleb see seadistada:

Paigalda oma veebisait koduse ruuteri peale

  • ruuteri esialgne seadistamine kestab umbes 2 minutit, mÀÀrame teenusepakkujaga ĂŒhenduse parameetrid (minu optiline terminal on lĂŒlitatud sillareĆŸiimi, PPPoE ĂŒhendus tĂ”statab ruuteri), WiFi vĂ”rgu nimi ja parool — pĂ”himĂ”tteliselt on kĂ”ik, ruuter kĂ€ivitub ja töötab.

Paigalda oma veebisait koduse ruuteri peale

Seame vĂ€lispordid suunama ruuteri portidesse jaotises "VĂ”rgureeglid — Suunamine":

Paigalda oma veebisait koduse ruuteri peale

Paigalda oma veebisait koduse ruuteri peale

NĂŒĂŒd saab edasi liikuda „edasiarendatud“ osani, mida ma ruuterilt tahtsin:

  1. vÀikese NAS-i funktsionaalsus koduvÔrgu jaoks;
  2. veebiserveri funktsioonide tÀitmine mitme privaatse lehe jaoks;
  3. isikliku pilve funktsioon, et pÀÀseda isiklikele andmetele igal pool maailmas.

Esimene saavutatakse sisseehitatud vahendite abil, mitte erilisi pingutusi nÔudmata:

  • vĂ”tame selleks mÀÀratud salvestusseadme (fleksi, mĂ€lukaardi kaardilugejas, vĂ€lise kĂ”vaketta vĂ”i SSD) ja vormindame selle Ext4 formaati MiniTool Partition Wizard Free Edition (mul ei ole kĂ€epĂ€rast Linuxi arvutit, seal saab kasutada sisseehitatud vahendeid). Kuidas ma aru saan, kirjutab sĂŒsteem failidele ainult logisid, seega, kui piirata neid pĂ€rast sĂŒsteemi seadistamist — vĂ”ivad mĂ€lukaardid olla ka kasutamiseks, kuid kui plaanite sageli salvestada — siis eelistage SSD vĂ”i HDD.

Paigalda oma veebisait koduse ruuteri peale

PĂ€rast seda ĂŒhendame salvestusseadme ruuteriga ja vaatame seda sĂŒsteemi monitori ekraanil

Paigalda oma veebisait koduse ruuteri peale

KlĂ”psame „USB-diskid ja printerid“ ja liikume jaotisse „Rakendused“, et seadistada jagatud ressurssi jaotises „Windowsi vĂ”rk“:

Paigalda oma veebisait koduse ruuteri peale

Ja meil on vĂ”rguressurss, mida saab kasutada Windowsi arvutitest, vajadusel ĂŒhendades selle kettana: net use y: \\192.168.1.1SSD \/persistent:yes

Sellise improvisatsiooni NAS-i kiirus on tÀiesti piisav koduseks kasutamiseks; kaabli kaudu kasutab see kogu gigabitti, WiFi kiirus on umbes 400-500 megabitti.

Paigalda oma veebisait koduse ruuteri peale

Salvestuse seadistamine on ĂŒks vajalikest sammudest serveri seadistamisel; jĂ€rgmised toimingud, mida peame tegema:
— osta domeen ja staatiline IP-aadress (selle vĂ”ib lahendada ka dĂŒnaamilise DNS-iga, kuid mul oli juba staatiline IP olemas, seega oli lihtsam kasutada Yandexi tasuta teenuseid — domeeni sinna delegeerides, saame domeeni DNS-hostingu ja postkasti);

Paigalda oma veebisait koduse ruuteri peale

— seada DNS-serverid ja lisada A-kirjeid, mis viitavad teie IP-le:

Paigalda oma veebisait koduse ruuteri peale

Domeeni delegeerimise ja DNS-i seadete jÔustumine vÔtab paar tundi, seega tegeleme samal ajal ruuteri seadistamisega.

Esiteks on vajalik paigaldada Entware'i repostiit, kust me saame ruuterile vajalikke pakette installida. Kasutasin seda juhendit, ainult et ei laadinud installipaketti FTP kaudu ĂŒles, vaid lĂ”in kausta otse varem ĂŒhendatud vĂ”rgudiskile ja kopeerisin sinna faili tavalisel viisil.

SSH-ĂŒhenduse saamisel muudame parooli kĂ€suga passwd ja installime kĂ€suga opkg install [pakettide nimed] kĂ”ik vajalikud paketid:

Paigalda oma veebisait koduse ruuteri peale

Seadistamisel avastati ruuteris jÀrgmised paketid (kÀsu opkg list-installed vÀljund):

Pakettide nimekiri
bash — 5.0-3
busybox — 1.31.1-1
ca-bundle — 20190110-2
ca-certificates — 20190110-2
coreutils — 8.31-1
coreutils-mktemp — 8.31-1
cron — 4.1-3
curl — 7.69.0-1
diffutils — 3.7-2
dropbear — 2019.78-3
entware-release — 1.0-2
findutils — 4.7.0-1
glib2 — 2.58.3-5
grep — 3.4-1
ldconfig — 2.27-9
libattr — 2.4.48-2
libblkid — 2.35.1-1
libc — 2.27-9
libcurl — 7.69.0-1
libffi — 3.2.1-4
libgcc — 8.3.0-9
libiconv-full — 1.11.1-4
libintl-full — 0.19.8.1-2
liblua — 5.1.5-7
libmbedtls — 2.16.5-1
libmount — 2.35.1-1
libncurses — 6.2-1
libncursesw — 6.2-1
libndm — 1.1.10-1a
libopenssl — 1.1.1d-2
libopenssl-conf — 1.1.1d-2
libpcap — 1.9.1-2
libpcre — 8.43-2
libpcre2 — 10.34-1
libpthread — 2.27-9
libreadline — 8.0-1a
librt — 2.27-9
libslang2 — 2.3.2-4
libssh2 — 1.9.0-2
libssp — 8.3.0-9
libstdcpp — 8.3.0-9
libuuid — 2.35.1-1
libxml2 — 2.9.10-1
locales — 2.27-9
mc — 4.8.23-2
ndmq — 1.0.2-5a
nginx — 1.17.8-1
openssl-util — 1.1.1d-2
opkg — 2019-06-14-dcbc142e-2
opt-ndmsv2 — 1.0-12
php7 — 7.4.3-1
php7-mod-openssl — 7.4.3-1
poorbox — 1.31.1-2
terminfo — 6.2-1
zlib — 1.2.11-3
zoneinfo-asia — 2019c-1
zoneinfo-europe — 2019c-1

VĂ”imalik, et siin on midagi ĂŒleliigset, aga mĂ€luruumi on palju, seega ei hakanud sĂŒvenema.

Paketite paigaldamise jĂ€rel seadistame nginx'i. Proovisin kahte domeeni — teisel on seadistatud https ja seal ripub hetkel vaikimisi leht. 81 ja 433 on sisemised pordid, mida kasutatakse 80 ja 443 asemel, kuna tavapĂ€rastes portides on suunatud ruuteri admin paneelid.

etc/nginx/nginx.conf

kasutaja nobody;
worker_processes  1;
#error_log  /opt/var/log/nginx/error.log;
#error_log  /opt/var/log/nginx/error.log  notice;
#error_log  /opt/var/log/nginx/error.log  info;
#pid        /opt/var/run/nginx.pid;

events {
    worker_connections  64;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  /opt/var/log/nginx/access.log main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;

server {
    listen 81;
    server_name milkov.su www.milkov.su;
    return 301 https://milkov.su$request_uri;
}

server {
        listen 433 ssl;
        server_name milkov.su;
        #SSL toetus
        include ssl.conf;
        location / {
            root   /opt/share/nginx/html;
            index  index.html index.htm;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
            }
        }
}
\n\nssl_certificate /opt/etc/nginx/certs/milkov.su/fullchain.pem;\nssl_certificate_key /opt/etc/nginx/certs/milkov.su/privkey.pem;\nssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';\nssl_prefer_server_ciphers on;\nssl_dhparam /opt/etc/nginx/dhparams.pem;\nssl_session_cache shared:SSL:10m;\nssl_session_timeout 5m;\nssl_stapling on;

Selleks, et veebisait töötaks https-i kaudu, kasutasin tuntud skripti dehydrated, installides selle selle juhendi jÀrgi. Selle protsessiga ei olnud probleeme, komistasin vaid sellel, et skripti tekstis minu ruuteril töötamiseks tuleb kommentaarida rida faili /opt/etc/ssl/openssl.cnf:

[openssl_conf]
#engines=engines

Ja mĂ€rgin, et dhparams.pem genereerimine kĂ€suga „openssl dhparam -out dhparams.pem 2048” minu ruuteril vĂ”tab rohkem kui 2 tundi; kui mitte progressi indikaatori eest — oleksin kaotanud kannatlikkuse ja taaskĂ€ivitanud.

PĂ€rast sertifikaatide saamist taaskĂ€ivitame nginx-i kĂ€suga "/opt/etc/init.d/S80nginx restart". Praktiliselt on seade lĂ”petatud, kuid veebisaiti veel ei ole — kui paneme katalooge /share/nginx/html faili index.html, nĂ€eme peatumispunkti.

index.html

<!DOCTYPE html>
<html>
<head>
<title>Testleht!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Testleht!</h1>
<p>See on lihtne staatiline testleht, täiesti mitte midagi huvitavat.</p>
</body>
</html>

Et esitada teavet kaunilt, on algajale nagu mina lihtsam kasutada valmis malle, pĂ€rast pikka erinevate kataloogide sirvimist leidsin templatemo.com — seal on hea valik tasuta malle, mis ei nĂ”ua autorikrediidi sĂ€ilitamist (see on internetis haruldus, enamik malle litsentsides nĂ”uavad lingi sĂ€ilitamist allika juurde, kust need on saadud).

Valime sobiva ĆĄablooni — seal on erinevatele juhtumitele, laadime arhiivi alla ja puhastame selle katalooge /share/nginx/html, seda saab teha juba oma arvutist, seejĂ€rel redigeerime ĆĄablooni (siin on vajalikud minimaalset HTML-oskused, et mitte rikkuda struktuuri) ja asendame graafika, nagu on nĂ€idatud alloleval joonisel.

Paigalda oma veebisait koduse ruuteri peale

KokkuvĂ”te: ruuter sobib hĂ€sti kerge saidi majutamiseks, pĂ”himĂ”tteliselt — kui ei planeerita suurt koormust, on vĂ”imalik. paigaldada ka php, ja katsetada keerukamate projektidega (olen jĂ€lginud nextcloud/owncloud, tundub, et sellisel riistvaral on edukaid paigaldusi). Pakettide installimise vĂ”imalus suurendab selle kasulikkust — nĂ€iteks, kui oli vaja kaitsta RDP-porti PC-s kohalikus vĂ”rgus, paigaldasin knockd ruuterisse — ja porti ĂŒlekandmine PC-le avaneb ainult pĂ€rast port knockingut.

Miks just ruuter, mitte tavaline PC? Ruuter on ĂŒks vĂ€heseid arvuti komponente, mis töötab ööpĂ€evaringselt paljudes korterites, kodune ruuter on tavaliselt tĂ€iesti mĂŒravaba ja kerge sait, millel on pĂ€evas vĂ€hem kui sada kĂŒlastust, ei koorma seda absoluutselt.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster