Интернэтийн үйлчилгээнүүдийг эхнээс нь вэб сервер суулгаж, интернетэд гаргах замаар "гартаа хүрэхийг" би эртнээс хүсч байсан. Энэ нийтлэлд би гэрийн чиглүүлэгчийг өндөр ажиллагаатай төхөөрөмжөөс бараг бүрэн сервер болгон хувиргах туршлагаа хуваалцахыг хүсч байна.
Энэ бүхэн үнэнчээр үйлчилж байсан TP-Link TL-WR1043ND чиглүүлэгч нь гэрийн сүлжээний хэрэгцээг хангахаа больсоноос эхэлсэн; би 5 GHz давтамжтай, чиглүүлэгчтэй холбогдсон хадгалах төхөөрөмж дээрх файлуудад хурдан хандахыг хүссэн. . Мэргэшсэн форум (4pda, ixbt), тойм бүхий сайтуудыг үзэж, орон нутгийн дэлгүүрүүдийн нэр төрлийг харсны дараа би Keenetic Ultra худалдаж авахаар шийдсэн.
Эзэмшигчдийн сайн тоймууд нь энэ төхөөрөмжийг дэмжсэн:
- хэт халалтын асуудал байхгүй (энд бид Asus-ийн бүтээгдэхүүнээс татгалзах шаардлагатай болсон);
- үйл ажиллагааны найдвартай байдал (энд би TP-Link-ийг хассан);
- тохируулахад хялбар (би үүнийг даван туулж чадахгүй гэж айж, Microtik-ийг хассан).
Би сул талуудтай эвлэрэх ёстой байсан:
- WiFi6 байхгүй, би ирээдүйд нөөцтэй тоног төхөөрөмж авахыг хүссэн;
- 4 LAN порт, би илүү ихийг хүсч байсан ч энэ нь гэрийн ангилал байхаа больсон.
Үүний үр дүнд бид энэ "сервер"-тэй болсон:
- зүүн талд Ростелекомын оптик терминал;
- баруун талд нь бидний туршилтын чиглүүлэгч;
- Aliexpress-ийн USB2 хайрцагт байрлуулсан 128 ГБ м.3 SSD нь чиглүүлэгчтэй утсаар холбогдсон, одоо хананд сайтар суурилуулсан;
- урд талд нь бие даан салгагдсан залгуур бүхий өргөтгөлийн утас байгаа бөгөөд үүнээс утас нь хямд UPS руу ордог;
- цаана нь олон эрчилсэн хос кабель байдаг - орон сууцыг засварлах шатанд би Wi-Fi хог хаягдлаас хамаарахгүйн тулд тоног төхөөрөмж байх ёстой газруудад RJ45 залгууруудыг нэн даруй төлөвлөсөн.
Тиймээс, бидэнд тоног төхөөрөмж байгаа тул бид үүнийг тохируулах хэрэгтэй:
- Чиглүүлэгчийн анхны тохиргоо 2 минут орчим үргэлжилдэг, бид холболтын параметрүүдийг үйлчилгээ үзүүлэгч рүү зааж өгдөг (миний оптик терминал гүүр горимд шилжсэн, PPPoE холболт нь чиглүүлэгчийг өргөдөг), WiFi сүлжээний нэр, нууц үг - үндсэндээ ийм байна. , чиглүүлэгч эхэлж, ажиллаж байна.
Бид "Сүлжээний дүрэм - Дамжуулах" хэсэгт гадаад портуудыг чиглүүлэгчийн портууд руу дамжуулахыг тохируулсан.
Одоо бид чиглүүлэгчээс миний хүссэн "дэвшилтэт" хэсэг рүү шилжиж болно.
- гэрийн сүлжээнд зориулсан жижиг NAS-ийн ажиллагаа;
- хэд хэдэн хувийн хуудасны вэб серверийн функцийг гүйцэтгэх;
- дэлхийн хаанаас ч хувийн мэдээлэлд хандах хувийн үүлэн функц.
Эхнийх нь маш их хүчин чармайлт шаарддаггүй, суурилуулсан хэрэгслүүдийг ашиглан хэрэгжүүлдэг.
- Бид энэ үүрэгт зориулагдсан дискийг (флаш диск, карт уншигч дахь санах ойн карт, гадаад хайрцагт хатуу диск эсвэл SSD) аваад Ext4 болгон форматлана.
MiniTool хуваалтын шидтэний үнэгүй хувилбар (Надад Линукс бүхий компьютер байхгүй, үүнийг суулгасан хэрэгслүүдээр хийх боломжтой). Миний ойлгож байгаагаар систем нь ажиллах явцад зөвхөн флаш диск рүү лог бичдэг тул хэрэв та системийг тохируулсны дараа тэдгээрийг хязгаарлавал санах ойн картуудыг диск рүү олон удаа бичихээр төлөвлөж байгаа бол SSD эсвэл санах ойн карт ашиглаж болно. HDD илүү сайн.
Үүний дараа бид драйвыг чиглүүлэгч рүү холбож, системийн дэлгэцийн дэлгэц дээр ажиглана
"Applications" хэсэгт "USB drives and printers" дээр дарж, "Windows Network" хэсэгт хуваалцах тохиргоог хийнэ үү.
Мөн бид Windows компьютерээс ашиглах боломжтой сүлжээний нөөцтэй бөгөөд шаардлагатай бол диск болгон холбох боломжтой: цэвэр хэрэглээ y: \192.168.1.1SSD /байнгын:тийм
Ийм хиймэл NAS-ийн хурд нь гэрийн хэрэглээнд хангалттай бөгөөд утсаар бүх гигабитыг ашигладаг, WiFi дээр 400-500 мегабит хурдтай байдаг.
Хадгалах санг тохируулах нь серверийг тохируулах шаардлагатай алхмуудын нэг бөгөөд бидэнд дараах зүйлс хэрэгтэй болно:
-
-
Домэйн болон DNS төлөөлөгчийн тохиргоо хүчин төгөлдөр болох хүртэл хэдэн цаг шаардагдах тул бид чиглүүлэгчийг нэгэн зэрэг тохируулж байна.
Эхлээд бид чиглүүлэгч дээр шаардлагатай багцуудыг суулгаж болох Entware репозиторыг суулгах хэрэгтэй. Би давуу талыг ашигласан
SSH-ээр нэвтрэх эрх авсны дараа passwd тушаалаар нууц үгээ сольж, opkg install [package names] тушаалаар шаардлагатай бүх багцуудыг суулгана уу.
Тохируулгын явцад чиглүүлэгч дээр дараах багцуудыг суулгасан (opkg жагсаалтад суулгасан тушаалын гаралт):
Багцуудын жагсаалт
bash - 5.0-3
завгүй хайрцаг - 1.31.1-1
ca-багц - 20190110-2
ca-сертификатууд - 20190110-2
coreutils - 8.31-1
coreutils-mktemp - 8.31-1
крон - 4.1-3
буржгар - 7.69.0-1
diffutils - 3.7-2
dropbear - 2019.78-3
програм хангамжийн хувилбар - 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
орон нутаг - 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
ядуу хайрцаг - 1.31.1-2
нэр томъёо - 6.2-1
zlib - 1.2.11-3
zoneinfo-asia - 2019c-1
zoneinfo-europe - 2019c-1
Магадгүй энд ямар нэгэн илүүц зүйл байсан байх, гэхдээ жолоодлогын зай их байсан тул би үүнийг хайж байсангүй.
Багцуудыг суулгасны дараа бид nginx-ийг тохируулсан, би үүнийг хоёр домэйн дээр туршиж үзсэн - хоёр дахь нь https-ээр тохируулагдсан бөгөөд одоогоор stub байна. Чиглүүлэгчийн админ самбар нь ердийн портууд дээр өлгөөтэй байдаг тул 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-ээр дамжуулан ажиллуулахын тулд би сайн мэддэг усгүйжүүлсэн скриптийг ашигласан бөгөөд үүнийг ашиглан суулгасан
[openssl_conf]
#engines=engines
Миний чиглүүлэгч дээр "openssl dhparam -out dhparams.pem 2048" командыг ашиглан dhparams.pem-ийг үүсгэхэд 2 цаг гаруй хугацаа шаардагддаг, хэрэв ахиц дэвшлийн үзүүлэлт байхгүй бол би тэвчээр алдаж, дахин ачаалах байсан.
Сертификатуудыг хүлээн авсны дараа "/opt/etc/init.d/S80nginx restart" командыг ашиглан nginx-г дахин эхлүүлнэ үү. Зарчмын хувьд тохиргоо дууссан, гэхдээ одоогоор вэбсайт байхгүй байна - хэрэв бид 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>
Мэдээллийг сайхан байрлуулахын тулд над шиг мэргэжлийн бус хүмүүст бэлэн загвар ашиглах нь илүү хялбар байдаг; янз бүрийн каталогоор удаан хайсны эцэст би олсон.
Бид тохирох загварыг сонгодог - янз бүрийн тохиолдлуудад зориулагдсан загварууд байдаг, архивыг татаж аваад /share/nginx/html лавлах руу задлаарай, та үүнийг компьютерээсээ хийж, дараа нь загварыг засах боломжтой (энд танд хамгийн бага мэдлэг хэрэгтэй болно) бүтцийг эвдэхгүйн тулд HTML-ийн) болон доорх зурагт үзүүлсэн шиг графикийг солино.
Дүгнэлт: чиглүүлэгч нь үүн дээр хөнгөн вэбсайт байрлуулахад тохиромжтой, зарчмын хувьд - хэрэв та том ачаалал хүлээхгүй бол та боломжтой.
Яагаад ердийн компьютер биш чиглүүлэгч вэ? Чиглүүлэгч нь олон орон сууцанд өдөр бүр ажилладаг компьютерийн цөөн хэдэн техник хангамжийн нэг бөгөөд гэрийн чиглүүлэгч нь ихэвчлэн чимээгүй байдаг бөгөөд өдөрт зуу хүрэхгүй удаа зочилдог хөнгөн сайт нь түүнд огт саад болохгүй.
Эх сурвалж: www.habr.com