Jospita websajt fuq router tad-dar

Ilni rrid "tmiss idejja" fuq is-servizzi tal-Internet billi nwaqqaf web server mill-bidu nett u nirrilaxxah fuq l-Internet. F'dan l-artikolu nixtieq naqsam l-esperjenza tiegħi fit-trasformazzjoni ta 'router tad-dar minn apparat funzjonali ħafna għal server kważi sħiħ.

Kollox beda bil-fatt li r-router TP-Link TL-WR1043ND, li kien serva fedelment, ma baqax jissodisfa l-ħtiġijiet ta 'netwerk domestiku; ridt medda ta' 5 GHz u aċċess rapidu għal fajls fuq apparat ta 'ħażna konness mar-router . Wara li ħarist minn fora speċjalizzati (4pda, ixbt), siti b'reviżjonijiet u ħarist lejn l-assortiment ta 'ħwienet lokali, iddeċidejt li nixtri Keenetic Ultra.

Reviżjonijiet tajbin mis-sidien ħadmu favur dan l-apparat partikolari:

  • l-ebda problemi bi sħana żejda (hawnhekk kellna nabbandunaw il-prodotti Asus);
  • affidabbiltà operattiva (hawnhekk qatgħet TP-Link);
  • faċli biex twaqqaf (bżajt li ma stajtx nittrattaha u qatgħet il-Microtik).

Kelli nifhem mal-iżvantaġġi:

  • l-ebda WiFi6, ridt nieħu tagħmir b'riżerva għall-futur;
  • 4 portijiet LAN, ridt aktar, iżda din m'għadhiex kategorija tad-dar.

Bħala riżultat, aħna ksibna dan is-"server":

Jospita websajt fuq router tad-dar

  • fuq ix-xellug hemm it-terminal ottiku ta 'Rostelecom;
  • fuq il-lemin hemm ir-router sperimentali tagħna;
  • a 2 GB m.128 SSD li tinsab madwar, imqiegħed f'kaxxa USB3 minn Aliexpress, huwa konness mar-router b'wajer, issa huwa mmuntat pulit mal-ħajt;
  • fit-tagħrif miksub hemm korda ta 'estensjoni b'sokits skonnettjati b'mod indipendenti, il-wajer minnu jmur għal UPS rħas;
  • fl-isfond hemm mazz ta 'kejbils ta' par mibrumin - fl-istadju tar-rinnovament tal-appartament, immedjatament ippjanajt sockets RJ45 fil-postijiet fejn suppost kien jinsab it-tagħmir, sabiex ma jiddependux fuq il-WiFi li jkun mifrux.

Allura, għandna t-tagħmir, irridu nikkonfigurawh:

Jospita websajt fuq router tad-dar

  • Is-setup inizjali tar-router tieħu madwar 2 minuti, aħna nindikaw il-parametri tal-konnessjoni lill-fornitur (it-terminal ottiku tiegħi jinbidel għall-modalità bridge, il-konnessjoni PPPoE tgħolli r-router), l-isem tan-netwerk WiFi u l-password - bażikament dak hu , ir-router jibda u jaħdem.

Jospita websajt fuq router tad-dar

Aħna stabbilixxew it-trażmissjoni ta 'portijiet esterni lill-portijiet tar-router innifsu fit-taqsima "Regoli tan-netwerk - Trażmissjoni":

Jospita websajt fuq router tad-dar

Jospita websajt fuq router tad-dar

Issa nistgħu ngħaddu għall-parti "avvanzata", dak li ridt mir-router:

  1. funzjonalità ta' NAS żgħir għal netwerk domestiku;
  2. It-twettiq ta' funzjonijiet ta' server tal-web għal bosta paġni privati;
  3. funzjonalità tal-cloud personali għall-aċċess tad-dejta personali minn kullimkien fid-dinja.

L-ewwel huwa implimentat bl-użu ta 'għodod integrati, mingħajr ma jeħtieġ ħafna sforz:

  • Nieħdu drive maħsub għal dan ir-rwol (flash drive, karta tal-memorja f'qarrej tal-kards, ħardrajv jew SSD f'kaxxa esterna u formattjaha għal Ext4 bl-użu MiniTool Partition Wizard Ħieles Edizzjoni (M'għandix kompjuter bil-Linux f'idejna, huwa possibbli b'għodod integrati). Kif nifhem jien, waqt it-tħaddim is-sistema tikteb biss zkuk fuq il-flash drive, għalhekk jekk tillimitahom wara li twaqqaf is-sistema, tista 'wkoll tuża karti tal-memorja jekk qed tippjana li tikteb ħafna u ħafna drabi fuq id-drajv - SSD jew HDD huwa aħjar.

Jospita websajt fuq router tad-dar

Wara dan, aħna nqabbdu d-drajv mar-router u nosservawh fuq l-iskrin tal-monitor tas-sistema

Jospita websajt fuq router tad-dar

Ikklikkja fuq "USB drives u printers" fit-taqsima "Applikazzjonijiet" u kkonfigura s-sehem fit-taqsima "Windows Network":

Jospita websajt fuq router tad-dar

U għandna riżorsa tan-netwerk li tista 'tintuża minn kompjuters Windows, li tikkonnettja bħala disk jekk meħtieġ: użu nett y: \192.168.1.1SSD /persistenti:iva

Il-veloċità ta 'NAS improvizzata bħal din hija biżżejjed għall-użu fid-dar; fuq wajer juża l-gigabit kollu, fuq WiFi il-veloċità hija madwar 400-500 megabit.

Jospita websajt fuq router tad-dar

It-twaqqif tal-ħażna huwa wieħed mill-passi meħtieġa biex jiġi kkonfigurat is-server, allura għandna bżonn:
- jixtru dominju u indirizz IP statiku (tista 'tagħmel mingħajr dan billi tuża Dynamic DNS, iżda diġà kelli IP statiku, għalhekk irriżulta li kien aktar faċli biex tużah servizzi Yandex b'xejn - billi tiddelega d-dominju hemmhekk, nirċievu DNS hosting u posta fuq id-dominju tagħna);

Jospita websajt fuq router tad-dar

- kkonfigurat servers DNS u żid rekords A li jindikaw l-IP tiegħek:

Jospita websajt fuq router tad-dar

Jieħdu bosta sigħat biex is-settings tad-delega tad-dominju u tad-DNS jidħlu fis-seħħ, għalhekk qed inwaqqfu r-router fl-istess ħin.

L-ewwel, irridu ninstallaw ir-repożitorju ta 'Entware, li minnu nistgħu ninstallaw il-pakketti meħtieġa fuq ir-router. Ħadt vantaġġ din l-istruzzjoni, sempliċement ma tellgħetx il-pakkett ta 'installazzjoni permezz ta' FTP, iżda ħoloq folder direttament fuq id-drajv tan-netwerk konness qabel u kkopja l-fajl hemmhekk bil-mod tas-soltu.

Wara li ksibt aċċess permezz ta' SSH, ibdel il-password bil-kmand passwd u installa l-pakketti kollha meħtieġa bil-kmand opkg install [ismijiet tal-pakketti]:

Jospita websajt fuq router tad-dar

Matul is-setup, il-pakketti li ġejjin ġew installati fuq ir-router (l-output tal-kmand installat fil-lista opkg):

Lista ta' pakketti
bash - 5.0-3
busybox - 1.31.1-1
ca-bundle - 20190110-2
ca-ċertifikati - 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
enware-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
libuid - 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

Forsi kien hemm xi ħaġa superfluwa hawn, iżda kien hemm ħafna spazju fuq is-sewqan, għalhekk ma ddejjaqx inħares fih.

Wara l-installazzjoni tal-pakketti, aħna kkonfigurat nginx, ippruvajt b'żewġ oqsma - it-tieni wieħed huwa kkonfigurat b'https, u għalissa hemm stub. Il-portijiet interni 81 u 433 jintużaw minflok 80 u 443, peress li l-pannell tal-amministrazzjoni tar-router huwa mdendel fuq portijiet normali.

eċċ/nginx/nginx.conf

user  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 support
        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;
            }
        }
}
</spoiler>
<spoiler title="etc/nginx/ssl.conf">
ssl_certificate /opt/etc/nginx/certs/milkov.su/fullchain.pem;
ssl_certificate_key /opt/etc/nginx/certs/milkov.su/privkey.pem;
ssl_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';
ssl_prefer_server_ciphers on;
ssl_dhparam /opt/etc/nginx/dhparams.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_stapling on;

Sabiex is-sit jaħdem permezz ta 'https, użajt l-iskript deidratat magħruf, installawh bl-użu din l-istruzzjoni. Dan il-proċess ma kkawża l-ebda diffikultajiet, tfixkel biss il-fatt li fit-test tal-iskrittura għax-xogħol fuq ir-router tiegħi trid tikkummenta l-linja fil-fajl /opt/etc/ssl/openssl.cnf:

[openssl_conf]
#engines=engines

U ninnota li l-ġenerazzjoni ta 'dhparams.pem bil-kmand "openssl dhparam -out dhparams.pem 2048" fuq ir-router tiegħi tieħu aktar minn sagħtejn, jekk mhux għall-indikatur tal-progress, kont tlift il-paċenzja u nibda mill-ġdid.

Wara li tirċievi ċ-ċertifikati, ibda mill-ġdid nginx bil-kmand "/opt/etc/init.d/S80nginx restart". Fil-prinċipju, is-setup hija kompluta, iżda għad m'hemm l-ebda websajt - jekk inpoġġu l-fajl index.html fid-direttorju /share/nginx/html, se naraw stub.

index.html

<!DOCTYPE html>
<html>
<head>
<title>Тестовая страничка!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Тестовая страничка!</h1>
<p>Это простая статическая тестовая страничка, абсолютно ничего интересного.</p>
</body>
</html>

Biex tpoġġi l-informazzjoni b'mod sabiħ, huwa aktar faċli għal persuna mhux professjonali bħali li tuża mudelli lesti; wara tfittxija twila f'diversi katalgi, sibt templatemo.com - hemm għażla tajba ta' mudelli b'xejn li ma jeħtiġux attribuzzjoni (li huwa rari fuq l-Internet; ħafna mill-mudelli fil-liċenzja jeħtieġu li inti tissejvja link għar-riżors li minnha nkisbu).

Aħna nagħżlu mudell adattat - hemm dawk għal varjetà ta 'każijiet, niżżel l-arkivju u spakkjah fid-direttorju /share/nginx/html, tista' tagħmel dan mill-kompjuter tiegħek, imbagħad teditja l-mudell (hawnhekk ikollok bżonn għarfien minimu ta’ HTML sabiex ma tiksirx l-istruttura) u ibdel il-grafika kif muri fil-figura hawn taħt.

Jospita websajt fuq router tad-dar

Sommarju: ir-router huwa pjuttost adattat biex jospita websajt ħafifa fuqu, fil-prinċipju - jekk ma tistennix tagħbija kbira, tista ' tinstalla u php, u jesperimenta bi proġetti aktar kumplessi (nħares lejn nextcloud/owncloud, jidher li hemm installazzjonijiet ta 'suċċess fuq hardware bħal dan). Il-ħila li tinstalla pakketti żżid l-utilità tagħha - per eżempju, meta kien meħtieġ li jipproteġi l-port RDP ta 'PC fuq netwerk lokali, installajt knockd fuq ir-router - u port forwarding għall-PC infetaħ biss wara li jħabbtu l-port.

Għaliex router u mhux PC regolari? Router huwa wieħed mill-ftit biċċiet tal-kompjuter tal-ħardwer li jaħdem madwar l-arloġġ f'ħafna appartamenti; router tad-dar ġeneralment ikun assolutament sieket u sit ħafif b'inqas minn mitt żjara kuljum ma jolqot xejn.

Sors: www.habr.com

Żid kumment