Webgune bat zure etxeko bideratzailean anstatatzea

Aspalditik nahi nuen "eskuak ukitu" Interneteko zerbitzuetan web zerbitzari bat hutsetik konfiguratuz eta Internetera askatuz. Artikulu honetan nire esperientzia partekatu nahi dut etxeko bideratzaile bat gailu oso funtzional batetik zerbitzari ia erabateko izatera eraldatzeko.

Dena hasi zen TP-Link TL-WR1043ND bideratzaileak, zintzoki zerbitzatu zuenak, ez zituela etxeko sare baten beharrak asetzen; 5 GHz-ko banda bat eta bideratzailera konektatutako biltegiratze gailu batean fitxategietara sarbide azkarra nahi nuen. . Foro espezializatuak (4pda, ixbt), iritziak dituzten guneak eta tokiko denden sorta aztertu ondoren, Keenetic Ultra erostea erabaki nuen.

Jabeen iritzi onek gailu jakin honen alde egin zuten:

  • gehiegi berotzeko arazorik ez (hemen Asus produktuak alde batera utzi behar izan ditugu);
  • fidagarritasun operatiboa (hemen TP-Link markatu dut);
  • konfiguratzeko erraza (beldur nintzen ezingo nuela maneiatu eta Microtik marraztu nuen).

Desabantailekin bat egin behar izan nuen:

  • WiFi6 ez, etorkizunerako erreserba duten ekipoak hartu nahi nituen;
  • 4 LAN ataka, gehiago nahi nituen, baina hau jada ez da etxeko kategoria.

Ondorioz, "zerbitzari" hau lortu dugu:

Webgune bat zure etxeko bideratzailean anstatatzea

  • ezkerraldean Rostelecom-en terminal optikoa dago;
  • eskuinaldean gure bideratzaile esperimentala dago;
  • 2 GB-ko m.128 SSD bat etzanda, Aliexpress-en USB3 kutxa batean jarria, bideratzaileari hari batekin konektatuta dago, orain horman txukun muntatuta dago;
  • lehen planoan, modu independentean deskonektatutako entxufeak dituen luzapen-kablea dago, bertatik datorren kablea UPS merke batera doa;
  • atzealdean pare bikoiztudun kable sorta bat dago - apartamentua berritzeko fasean, berehala planifikatu nituen RJ45 entxufeak ekipamendua kokatu behar zen lekuetan, WiFi-aren gainezka ez egoteko.

Beraz, ekipamendua daukagu, konfiguratu behar dugu:

Webgune bat zure etxeko bideratzailean anstatatzea

  • Bideratzailearen hasierako konfigurazioak 2 minutu inguru irauten du, hornitzaileari konexio-parametroak adierazten dizkiogu (nire terminal optikoa zubi moduan aldatzen da, PPPoE konexioak bideratzailea altxatzen du), WiFi sarearen izena eta pasahitza - funtsean, hori da. , bideratzailea martxan jarri eta funtzionatzen du.

Webgune bat zure etxeko bideratzailean anstatatzea

Kanpoko atakak bideratzailearen portuetara birbidaltzea ezarri dugu "Sare-arauak - Birbidaltzea" atalean:

Webgune bat zure etxeko bideratzailean anstatatzea

Webgune bat zure etxeko bideratzailean anstatatzea

Orain parte "aurreratua"ra pasa gaitezke, bideratzailetik nahi nuena:

  1. NAS txiki baten funtzionaltasuna etxeko sare baterako;
  2. hainbat orrialde pribatutarako web zerbitzariaren funtzioak egitea;
  3. hodei pertsonalaren funtzionaltasuna munduko edozein lekutatik datu pertsonalak atzitzeko.

Lehenengoa tresna integratuak erabiliz inplementatzen da, esfortzu handirik behar izan gabe:

  • Eginkizun honetarako pentsatutako disko bat hartzen dugu (flash drive, memoria txartela txartel irakurgailu batean, disko gogorra edo SSD kanpoko kutxa batean eta Ext4-ra formateatzen dugu. MiniTool Partition Wizard Doako Edizioa (Ez daukat esku artean Linux duen ordenagailurik, posible da barneko tresnekin). Ulertzen dudanez, funtzionamenduan sistemak erregistroak soilik idazten ditu flash unitatean, beraz, sistema konfiguratu ondoren mugatzen badituzu, memoria txartelak ere erabil ditzakezu diskoan asko eta sarri idazteko asmoa baduzu - SSD bat edo HDD hobea da.

Webgune bat zure etxeko bideratzailean anstatatzea

Horren ondoren, unitatea bideratzailera konektatzen dugu eta sistemaren monitorearen pantailan ikusten dugu

Webgune bat zure etxeko bideratzailean anstatatzea

Egin klik "USB unitateak eta inprimagailuak" atalean "Aplikazioak" atalean eta konfiguratu partekatzea "Windows sarea" atalean:

Webgune bat zure etxeko bideratzailean anstatatzea

Eta Windows ordenagailuetatik erabil daitekeen sareko baliabide bat dugu, beharrezkoa bada disko gisa konektatuz: net use y: \192.168.1.1SSD /persistent:yes

Horrelako NAS inprobisatu baten abiadura nahikoa da etxean erabiltzeko; kable baten bidez gigabit osoa erabiltzen du, WiFi bidez abiadura 400-500 megabit ingurukoa da.

Webgune bat zure etxeko bideratzailean anstatatzea

Biltegiratzea konfiguratzea zerbitzaria konfiguratzeko beharrezko urratsetako bat da, orduan behar dugu:
- domeinu bat erosi eta IP helbide estatiko bat (hori gabe egin dezakezu DNS dinamikoa erabiliz, baina IP estatiko bat neukan jada, beraz, erabiltzeko errazago izan da Doako Yandex zerbitzuak - domeinua bertan delegatuz, DNS ostalaritza eta posta jasotzen ditugu gure domeinuan);

Webgune bat zure etxeko bideratzailean anstatatzea

- konfiguratu DNS zerbitzariak eta gehitu zure IPra seinalatzen duten A erregistroak:

Webgune bat zure etxeko bideratzailean anstatatzea

Hainbat ordu behar dira domeinuaren eta DNS delegazioaren ezarpenak eragina izateko, beraz, aldi berean bideratzailea konfiguratzen ari gara.

Lehenik eta behin, Entware biltegia instalatu behar dugu, bertatik beharrezko paketeak bideratzailean instalatu ahal izateko. Aprobetxatu nuen argibide honekin, ez du instalatzeko paketea FTP bidez igo, baina karpeta bat sortu du zuzenean aurrez konektatutako sareko unitatean eta fitxategia bertan kopiatu du ohiko moduan.

SSH bidez atzitu ondoren, aldatu pasahitza passwd komandoarekin eta instalatu beharrezko pakete guztiak opkg install [pakete-izenak] komandoarekin:

Webgune bat zure etxeko bideratzailean anstatatzea

Konfigurazioan, pakete hauek instalatu ziren bideratzailean (opkg list-instalatutako komandoaren irteera):

Paketeen zerrenda
bash - 5.0-3
busybox - 1.31.1-1
ca-sorta - 20190110-2
ca-ziurtagiriak - 20190110-2
coreutils - 8.31-1
coreutils-mktemp - 8.31-1
cron - 4.1-3
kizkurra - 7.69.0-1
diffutilak - 3.7-2
dropbear - 2019.78-3
entware-oharra - 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
lokalak - 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

Beharbada, hemen soberan zegoen zerbait, baina leku asko zegoen diskoan, beraz, ez nintzen begiratzen kezkatu.

Paketeak instalatu ondoren, nginx konfiguratzen dugu, bi domeinurekin saiatu nintzen - bigarrena https-rekin konfiguratuta dago, eta oraingoz zirriborro bat dago. Barneko 81 eta 433 portuak erabiltzen dira 80 eta 443en ordez, bideratzailearen administrazio-panela portu arruntetan zintzilik baitago.

etc/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;

Guneak https bidez funtziona dezan, deshidratatutako script ezaguna erabili nuen, erabiliz instalatuz argibide hau. Prozesu honek ez zuen zailtasunik sortu, nire bideratzailea lantzeko gidoiaren testuan estropezu egin nuen. fitxategiko lerroa iruzkintu behar duzu /opt/etc/ssl/openssl.cnf:

[openssl_conf]
#engines=engines

Eta ohartzen naiz nire bideratzailean dhparams.pem "openssl dhparam -out dhparams.pem 2048" komandoarekin sortzeak 2 ordu baino gehiago behar dituela, aurrerapen adierazleagatik ez balitz, pazientzia galduko nuke eta berrabiaraziko nuke.

Ziurtagiriak jaso ondoren, berrabiarazi nginx "/opt/etc/init.d/S80nginx restart" komandoarekin. Printzipioz, konfigurazioa osatuta dago, baina oraindik ez dago webgunerik - index.html fitxategia /share/nginx/html direktorioan jartzen badugu, zirriborro bat ikusiko dugu.

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>

Informazioa ederki kokatzeko, errazagoa da ni bezalako profesional ez den batek prest egindako txantiloiak erabiltzea; hainbat katalogotan luze bilatu ondoren, aurkitu dut templatemo.com - Atribuziorik behar ez duten doako txantiloien aukeraketa ona dago (Interneten arraroa da; lizentziako txantiloi gehienek lortutako baliabiderako esteka gordetzea eskatzen dute).

Txantiloi egoki bat hautatzen dugu: kasu askotarako daude, deskargatu artxiboa eta deskargatu /share/nginx/html direktorioan, hau zure ordenagailutik egin dezakezu, eta gero txantiloia editatu (hemen gutxieneko ezagutza beharko duzu. HTMLren egitura ez apurtzeko) eta ordezkatu grafikoak beheko irudian erakusten den moduan.

Webgune bat zure etxeko bideratzailean anstatatzea

Laburpena: bideratzailea nahiko egokia da webgune arin bat antolatzeko, printzipioz - karga handirik espero ez baduzu, dezakezu instalatu eta php, eta proiektu konplexuagoekin esperimentatu (Nextcloud/owncloud-ari begiratzen diot, badirudi hardware horretan instalazio arrakastatsuak daudela). Paketeak instalatzeko gaitasunak bere erabilgarritasuna areagotzen du - adibidez, sare lokal batean ordenagailu baten RDP ataka babestea beharrezkoa zenean, knockd instalatu nuen bideratzailean - eta ordenagailurako portuak birbidaltzea ataka kolpatu ondoren soilik ireki zen.

Zergatik bideratzailea eta ez ohiko ordenagailu bat? Bideratzailea apartamentu askotan erloju osoan funtzionatzen duen hardware ordenagailu bakanetako bat da; etxeko bideratzailea erabat isila da normalean eta egunean ehun bisita baino gutxiago dituen gune argi batek ez du batere trabarik izango.

Iturria: www.habr.com

Gehitu iruzkin berria