Կայքի տեղադրում ձեր տան երթուղիչում

Ես վաղուց էի ցանկանում «դիպչել իմ ձեռքերին» ինտերնետ ծառայություններին՝ զրոյից վեբ սերվեր տեղադրելով և այն ներբեռնելով ինտերնետ: Այս հոդվածում ես ուզում եմ կիսվել իմ փորձով տնային երթուղիչը բարձր ֆունկցիոնալ սարքից գրեթե լիարժեք սերվերի վերածելու հարցում:

Ամեն ինչ սկսվեց նրանից, որ TP-Link TL-WR1043ND երթուղիչը, որը հավատարմորեն ծառայում էր, այլևս չէր բավարարում տնային ցանցի կարիքները. ես ուզում էի 5 ԳՀց տիրույթ և արագ մուտք դեպի երթուղիչին միացված պահեստային սարքի ֆայլեր: . Մասնագիտացված ֆորումներից (4pda, ixbt), ակնարկներով կայքերից և տեղական խանութների տեսականին նայելուց հետո ես որոշեցի գնել Keenetic Ultra-ն:

Սեփականատերերի լավ ակնարկներն աշխատեցին այս կոնկրետ սարքի օգտին.

  • գերտաքացման հետ կապված խնդիրներ չկան (այստեղ մենք ստիպված էինք հրաժարվել Asus-ի արտադրանքներից);
  • գործառնական հուսալիություն (այստեղ ես հատեցի TP-Link-ը);
  • հեշտ է կարգավորվում (ես վախենում էի, որ չեմ կարող կարգավորել այն և հատեցի Microtik-ը):

Ես ստիպված էի հաշտվել թերությունների հետ.

  • ոչ WiFi6, ես ուզում էի ապագայի համար ռեզերվով սարքավորումներ վերցնել;
  • 4 LAN պորտ, ես ավելին էի ուզում, բայց սա այլևս տնային կատեգորիա չէ:

Արդյունքում մենք ստացանք այս «սերվերը».

Կայքի տեղադրում ձեր տան երթուղիչում

  • Ձախ կողմում Ռոստելեկոմի օպտիկական տերմինալն է.
  • աջ կողմում մեր փորձնական երթուղիչն է.
  • շուրջը պառկած 2 ԳԲ մ.128 SSD, որը տեղադրված է Aliexpress-ի USB3 տուփի մեջ, միացված է երթուղիչին մետաղալարով, այժմ այն ​​կոկիկ ամրացված է պատին;
  • առաջին պլանում երկարացման լարն է անկախ անջատված վարդակներով, դրանից լարը գնում է դեպի էժան UPS;
  • Հետին պլանում կա մի փունջ ոլորված զույգ մալուխներ - բնակարանի վերանորոգման փուլում ես անմիջապես պլանավորեցի RJ45 վարդակներ այն վայրերում, որտեղ պետք է տեղադրվեին սարքավորումները, որպեսզի կախված չլինեմ WiFi-ի աղբից:

Այսպիսով, մենք ունենք սարքավորումներ, մենք պետք է կարգավորենք այն.

Կայքի տեղադրում ձեր տան երթուղիչում

  • Երթուղիչի սկզբնական կարգավորումը տևում է մոտ 2 րոպե, մենք մատակարարին նշում ենք կապի պարամետրերը (իմ օպտիկական տերմինալը միացված է կամրջի ռեժիմին, PPPoE կապը բարձրացնում է երթուղիչը), WiFi ցանցի անունը և գաղտնաբառը. հիմնականում դա է: , երթուղիչը միանում է և աշխատում։

Կայքի տեղադրում ձեր տան երթուղիչում

Մենք դրել ենք արտաքին պորտերի վերահասցեավորումը հենց երթուղիչի նավահանգիստներին «Ցանցի կանոններ - Փոխանցում» բաժնում.

Կայքի տեղադրում ձեր տան երթուղիչում

Կայքի տեղադրում ձեր տան երթուղիչում

Այժմ մենք կարող ենք անցնել «առաջադեմ» մասին, ինչ ես ուզում էի երթուղիչից.

  1. փոքր ԳԱԱ-ի ֆունկցիոնալությունը տնային ցանցի համար.
  2. մի քանի մասնավոր էջերի համար վեբ սերվերի գործառույթների կատարում;
  3. անձնական ամպային գործառույթ՝ աշխարհի ցանկացած կետից անձնական տվյալների մուտք գործելու համար:

Առաջինն իրականացվում է ներկառուցված գործիքների միջոցով, առանց մեծ ջանք պահանջելու.

  • Մենք վերցնում ենք այս դերի համար նախատեսված սկավառակ (ֆլեշ սկավառակ, հիշողության քարտ քարտի ընթերցիչում, կոշտ սկավառակ կամ SSD արտաքին տուփի մեջ և ձևաչափում ենք Ext4-ի միջոցով՝ օգտագործելով MiniTool Partition Wizard Free Edition (Ես ձեռքի տակ չունեմ Linux-ով համակարգիչ, դա հնարավոր է ներկառուցված գործիքներով): Ինչպես հասկացա, աշխատանքի ընթացքում համակարգը գրում է միայն տեղեկամատյանները ֆլեշ կրիչում, այնպես որ, եթե համակարգը կարգավորելուց հետո դրանք սահմանափակեք, կարող եք նաև օգտագործել հիշողության քարտեր, եթե նախատեսում եք շատ և հաճախ գրել սկավառակի վրա՝ SSD կամ HDD-ն ավելի լավն է:

Կայքի տեղադրում ձեր տան երթուղիչում

Դրանից հետո մենք միացնում ենք սկավառակը երթուղիչին և դիտում այն ​​համակարգի մոնիտորի էկրանին

Կայքի տեղադրում ձեր տան երթուղիչում

Կտտացրեք «USB կրիչներ և տպիչներ» «Հավելվածներ» բաժնում և կարգավորեք «Windows Network» բաժնում բաշխումը.

Կայքի տեղադրում ձեր տան երթուղիչում

Եվ մենք ունենք ցանցային ռեսուրս, որը կարող է օգտագործվել Windows համակարգիչներից, անհրաժեշտության դեպքում միանալով որպես սկավառակ. net use y: \192.168.1.1SSD / persistent:yes

Նման իմպրովիզացված ԳԱԱ-ի արագությունը բավականին բավարար է տնային օգտագործման համար, լարով այն օգտագործում է ամբողջ գիգաբիթը, WiFi-ի վրա՝ մոտ 400-500 մեգաբիթ:

Կայքի տեղադրում ձեր տան երթուղիչում

Պահեստի կարգավորումը սերվերը կարգավորելու անհրաժեշտ քայլերից մեկն է, ապա մեզ անհրաժեշտ է.
- գնել տիրույթ և ստատիկ IP հասցե (կարող եք անել առանց դրա՝ օգտագործելով Dynamic DNS, բայց ես արդեն ունեի ստատիկ IP, ուստի պարզվեց, որ այն ավելի հեշտ է օգտագործել անվճար Yandex ծառայություններ - տիրույթն այնտեղ պատվիրակելով, մենք ստանում ենք DNS հոստինգ և փոստ մեր տիրույթում);

Կայքի տեղադրում ձեր տան երթուղիչում

- կարգավորել DNS սերվերները և ավելացրեք ձեր IP-ին մատնանշող A գրառումները.

Կայքի տեղադրում ձեր տան երթուղիչում

Մի քանի ժամ է պահանջվում, որպեսզի տիրույթի և DNS պատվիրակության կարգավորումներն ուժի մեջ մտնեն, ուստի մենք միաժամանակ կարգավորում ենք երթուղիչը:

Նախ պետք է տեղադրել Entware պահեստը, որտեղից կարող ենք անհրաժեշտ փաթեթները տեղադրել երթուղիչի վրա։ Ես օգտվեցի այս հրահանգով, պարզապես չվերբեռնեց տեղադրման փաթեթը FTP-ի միջոցով, այլ թղթապանակ ստեղծեց անմիջապես նախկինում միացված ցանցային սկավառակի վրա և ֆայլը պատճենեց այնտեղ սովորական ձևով:

SSH-ի միջոցով մուտք գործելով՝ փոխեք գաղտնաբառը passwd հրամանով և տեղադրեք բոլոր անհրաժեշտ փաթեթները opkg install [package names] հրամանով.

Կայքի տեղադրում ձեր տան երթուղիչում

Կարգավորման ընթացքում երթուղիչի վրա տեղադրվեցին հետևյալ փաթեթները (opkg list-installed հրամանի ելքը).

Փաթեթների ցանկ
բաշ - 5.0-3
busybox - 1.31.1-1
ca-bundle - 20190110-2
ca-վկայականներ - 20190110-2
coreutils - 8.31-1
coreutils-mktemp - 8.31-1
cron - 4.1-3
գանգուր - 7.69.0-1
diffutils - 3.7-2
dropbear - 2019.78-3
entware-release - 1.0-2
գտածոներ - 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
լիբլուա - 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
լիբուիդ - 2.35.1-1
libxml2 - 2.9.10-1
տեղանքները՝ 2.27-9
mc - 4.8.23-2
նդմք - 1.0.2-5ա
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
աղքատ տուփ - 1.31.1-2
տերմինֆո - 6.2-1
zlib - 1.2.11-3
zoneinfo-asia - 2019c-1
zoneinfo-europe - 2019c-1

Միգուցե այստեղ ինչ-որ ավելորդ բան կար, բայց սկավառակի վրա շատ տեղ կար, այնպես որ ես չանհանգստացա դրա մեջ նայել:

Փաթեթները տեղադրելուց հետո կարգավորում ենք nginx-ը, փորձեցի երկու տիրույթով - երկրորդը կոնֆիգուրացված է https-ով, իսկ առայժմ կոճղ կա։ Ներքին 81 և 433 պորտերը օգտագործվում են 80 և 443-ի փոխարեն, քանի որ երթուղիչի ադմինիստրատորի վահանակը կախված է սովորական նավահանգիստներից:

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;

Որպեսզի կայքը աշխատի https-ով, ես օգտագործեցի հայտնի ջրազրկված սկրիպտը՝ տեղադրելով այն օգտագործելով այս հրահանգը. Այս գործընթացը որևէ դժվարություն չառաջացրեց, ես միայն սայթաքեցի այն փաստի վրա, որ իմ երթուղիչի վրա աշխատելու սցենարի տեքստում. դուք պետք է մեկնաբանեք ֆայլի տողը /opt/etc/ssl/openssl.cnf:

[openssl_conf]
#engines=engines

Եվ ես նշում եմ, որ իմ երթուղղիչում «openssl dhparam -out dhparams.pem 2048» հրամանով dhparams.pem ստեղծելը տևում է ավելի քան 2 ժամ, եթե չլիներ առաջընթացի ցուցիչը, ես կկորցնեի համբերությունը և կվերագործարկեի:

Վկայականները ստանալուց հետո վերագործարկեք nginx-ը «/opt/etc/init.d/S80nginx restart» հրամանով։ Սկզբունքորեն կարգավորումն ավարտված է, բայց դեռ կայք չկա. եթե index.html ֆայլը դնենք /share/nginx/html գրացուցակում, կտեսնենք անավարտ:

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>

Տեղեկատվությունը գեղեցիկ տեղադրելու համար ինձ նման ոչ պրոֆեսիոնալների համար ավելի հեշտ է օգտագործել պատրաստի ձևանմուշներ. տարբեր կատալոգներում երկար փնտրտուքներից հետո ես գտա. templatemo.com — կա ազատ ձևանմուշների լավ ընտրություն, որոնք չեն պահանջում վերագրում (ինչը հազվադեպ է ինտերնետում. լիցենզիայի ձևանմուշներից շատերը պահանջում են, որ դուք պահպանեք հղումը դեպի այն ռեսուրսը, որտեղից դրանք ստացվել են):

Մենք ընտրում ենք հարմար ձևանմուշ. կան տարբեր դեպքերի համար, ներբեռնում ենք արխիվը և բացում այն ​​/share/nginx/html գրացուցակում, կարող եք դա անել ձեր համակարգչից, այնուհետև խմբագրել ձևանմուշը (այստեղ ձեզ անհրաժեշտ կլինի նվազագույն գիտելիքներ HTML-ի՝ կառուցվածքը չխախտելու համար) և փոխարինել գրաֆիկան, ինչպես ցույց է տրված ստորև նկարում:

Կայքի տեղադրում ձեր տան երթուղիչում

Ամփոփում. երթուղիչը բավականին հարմար է դրա վրա թեթև կայք տեղադրելու համար, սկզբունքորեն, եթե մեծ բեռ չի սպասվում, կարող եք տեղադրել և php, և փորձեր կատարել ավելի բարդ նախագծերի հետ (ես նայում եմ nextcloud/owncloud-ին, թվում է, որ հաջող տեղադրումներ կան այդպիսի սարքավորումների վրա): Փաթեթներ տեղադրելու ունակությունը մեծացնում է դրա օգտակարությունը, օրինակ, երբ անհրաժեշտ էր պաշտպանել ԱՀ-ի RDP պորտը տեղական ցանցում, ես տեղադրեցի knockd երթուղիչի վրա, և նավահանգիստը դեպի համակարգիչ փոխանցելը բացվեց միայն նավահանգիստը թակելուց հետո:

Ինչու՞ երթուղղիչ և ոչ սովորական համակարգիչ: Երթուղիչը այն սակավաթիվ համակարգչային սարքավորումներից է, որն աշխատում է շուրջօրյա շատ բնակարաններում, տնային երթուղիչը սովորաբար բացարձակապես լուռ է, և թեթև կայք, որտեղ օրական հարյուրից պակաս այցելություններ կան, բոլորովին չի խանգարի նրան:

Source: www.habr.com

Добавить комментарий