Мне давно хотелось «потрогать руками» интернет-сервисы, настроив веб-сервер с нуля и выпустив его в Интернет. В этой статье хочу поделиться полученным опытом превращения домашнего роутера из узкофункционального устройства в практически полноценный сервер.
Началось всё с того, что служивший верой и правдой роутер TP-Link TL-WR1043ND перестал удовлетворять потребности домашней сети, захотелось 5ГГц диапазона и быстрого доступа к файлам на накопителе, подключенном к роутеру. Просмотрев профильные форумы (4pda, ixbt), сайты с отзывами и посмотрев на ассортимент местных магазинов — решил приобрести Keenetic Ultra.
В пользу именно этого устройства сработали хорошие отзывы владельцев:
отсутствие проблем с перегревом (тут пришлось отказаться от продукции Asus);
آپریشنل وشوسنییتا (یہاں میں نے TP-Link کو عبور کیا)؛
سیٹ اپ کرنا آسان ہے (مجھے ڈر تھا کہ میں اسے سنبھال نہیں سکا اور مائیکروٹک کو پار کر گیا)۔
مجھے نقصانات کے ساتھ شرائط پر آنا پڑا:
нет WiFi6, хотелось взять оборудование с запасом на будущее;
4 LAN порта, хотелось больше, но это уже не домашняя категория.
نتیجے کے طور پر، ہمیں یہ "سرور" ملا:
بائیں طرف Rostelecom کا آپٹیکل ٹرمینل ہے۔
دائیں طرف ہمارا تجرباتی راؤٹر ہے۔
проводом к роутеру подсоединен завалявшийся m.2 SSD на 128 ГБ, помещенный в коробку USB3 с алиэкспресса, сейчас он аккуратно закреплен на стенке;
на переднем плане удлинитель с независимым отключением розеток, провод от него идет к недорогому UPS;
پس منظر میں بٹی ہوئی جوڑی کیبلز کا ایک گچھا ہے - اپارٹمنٹ کی تزئین و آرائش کے مرحلے پر، میں نے فوری طور پر ان جگہوں پر RJ45 ساکٹ کا منصوبہ بنایا جہاں آلات کو ہونا چاہیے تھا، تاکہ وائی فائی کے گندے ہونے پر انحصار نہ کیا جائے۔
لہذا، ہمارے پاس سامان ہے، ہمیں اسے ترتیب دینے کی ضرورت ہے:
первичная настройка роутера занимает около 2 минут, указываем параметры подключения к провайдеру (у меня оптический терминал переключен в режим бриджа, PPPoE соединение поднимает роутер), название WiFi сети и пароль — в принципе всё, роутер запускается и работает.
ہم نے "نیٹ ورک کے قوانین - فارورڈنگ" سیکشن میں بیرونی بندرگاہوں کو خود روٹر کی بندرگاہوں پر فارورڈنگ سیٹ کیا ہے:
Теперь можно перейти к «продвинутой» части, чего я хотел от роутера:
گھریلو نیٹ ورک کے لیے چھوٹے NAS کی فعالیت؛
выполнение функций веб-сервера для нескольких частных страничек;
دنیا میں کہیں سے بھی ذاتی ڈیٹا تک رسائی کے لیے ذاتی کلاؤڈ کی فعالیت۔
Первое реализуется встроенными средствами, не требуя особых усилий:
ہم اس کردار کے لیے ایک ڈرائیو لیتے ہیں (فلیش ڈرائیو، کارڈ ریڈر میں میموری کارڈ، ہارڈ ڈرائیو یا ایس ایس ڈی ایک بیرونی باکس میں اور اسے Ext4 میں فارمیٹ کرتے ہیں۔ مینی ٹول پارٹیشن مددگار مفت ایڈیشن (میرے پاس ہاتھ میں لینکس والا کمپیوٹر نہیں ہے، یہ بلٹ ان ٹولز سے ممکن ہے)۔ جیسا کہ میں اسے سمجھتا ہوں، آپریشن کے دوران سسٹم فلیش ڈرائیو پر صرف لاگ لکھتا ہے، لہذا اگر آپ سسٹم کو ترتیب دینے کے بعد انہیں محدود کر دیتے ہیں، تو آپ میموری کارڈز بھی استعمال کر سکتے ہیں اگر آپ ڈرائیو پر بہت کچھ لکھنے کا ارادہ رکھتے ہیں - ایک SSD یا HDD بہتر ہے۔
اس کے بعد، ہم ڈرائیو کو روٹر سے جوڑتے ہیں اور اسے سسٹم مانیٹر اسکرین پر دیکھتے ہیں۔
Переходим щелчком по «USB-диски и принтеры» в раздел «Приложения» и настраиваем общий ресурс в разделе «Сеть Windows»:
И у нас имеется сетевой ресурс, который можно использовать с компьютеров под Windows, подключив при необходимости как диск: net use y: \192.168.1.1SSD /persistent:yes
اس طرح کے این اے ایس کی رفتار گھریلو استعمال کے لیے کافی ہے؛ ایک تار پر یہ پوری گیگابٹ استعمال کرتی ہے، وائی فائی پر اس کی رفتار تقریباً 400-500 میگا بٹ ہے۔
Настройка хранилища — один из необходимых шагов для настройки сервера, далее нам нужно:
- приобрести домен и статический IP адрес (можно обойтись и без этого, используя Dynamic DNS, но статический IP у меня уже был, поэтому проще оказалось воспользоваться бесплатными сервисами Яндекса - делегировав туда домен, мы получаем DNS-хостинг и почту на своем домене);
ڈومین اور ڈی این ایس ڈیلیگیشن سیٹنگز کو اثر انداز ہونے میں کئی گھنٹے لگتے ہیں، اس لیے ہم بیک وقت روٹر سیٹ اپ کر رہے ہیں۔
سب سے پہلے، ہمیں Entware ریپوزٹری کو انسٹال کرنے کی ضرورت ہے، جہاں سے ہم راؤٹر پر ضروری پیکجز انسٹال کر سکتے ہیں۔ میں نے فائدہ اٹھایا этой инструкцией, только не заливал установочный пакет по FTP, а создал папку прямо на подключенном ранее сетевом диске и скопировал туда файл обычным способом.
Получив доступ по SSH, меняем пароль командой passwd и ставим командой opkg install [имена пакетов] все нужные пакеты:
سیٹ اپ کے دوران، راؤٹر پر درج ذیل پیکیجز انسٹال کیے گئے تھے (opkg list-installed کمانڈ کا آؤٹ پٹ):
شاید یہاں کچھ ضرورت سے زیادہ تھی، لیکن ڈرائیو پر کافی جگہ تھی، اس لیے میں نے اسے دیکھنے کی زحمت نہیں کی۔
پیکجز کو انسٹال کرنے کے بعد، ہم نے nginx کو کنفیگر کیا، میں نے اسے دو ڈومینز کے ساتھ آزمایا - دوسرا https کے ساتھ کنفیگر کیا گیا ہے، اور ابھی ایک اسٹب موجود ہے۔ 81 اور 433 کی بجائے اندرونی پورٹس 80 اور 443 استعمال کی جاتی ہیں، کیونکہ روٹر ایڈمن پینل نارمل پورٹس پر ہینگ ہوتا ہے۔
https کے ذریعے سائٹ کے کام کرنے کے لیے، میں نے معروف ڈی ہائیڈریٹڈ اسکرپٹ کا استعمال کیا، اسے استعمال کرکے انسٹال کیا یہ ہدایت. اس عمل سے کوئی دشواری نہیں ہوئی، میں نے صرف اس حقیقت پر ٹھوکر کھائی کہ میرے روٹر پر کام کرنے کے لیے اسکرپٹ کے متن میں надо закомментировать строчку в файле /opt/etc/ssl/openssl.cnf:
[openssl_conf]
#engines=engines
И отмечу, что генерация dhparams.pem командой «openssl dhparam -out dhparams.pem 2048» на моем роутере занимает больше 2 часов, если бы не индикатор прогресса — потерял бы терпение и перезагрузил.
После получения сертификатов перезапускаем nginx командой "/opt/etc/init.d/S80nginx restart". В принципе на этом настройка закончена, но сайта еще нет — если положим в каталог /share/nginx/html файл index.html, увидим заглушку.
Чтобы разместить информацию красиво, непрофессионалу типа меня проще воспользоваться готовыми шаблонами, после долгого перебора различных каталогов нашел templatemo.com — там неплохой выбор бесплатных шаблонов, не требующих обязательного указания авторства (что редкость в интернете, большая часть шаблонов в лицензии требуют сохранить ссылку на ресурс, откуда они получены).
ہم ایک مناسب ٹیمپلیٹ منتخب کرتے ہیں - مختلف صورتوں کے لیے وہاں موجود ہیں، آرکائیو کو ڈاؤن لوڈ کریں اور اسے /share/nginx/html ڈائریکٹری میں کھولیں، آپ یہ اپنے کمپیوٹر سے کر سکتے ہیں، پھر ٹیمپلیٹ میں ترمیم کریں (یہاں آپ کو کم سے کم علم کی ضرورت ہوگی۔ HTML کا تاکہ ڈھانچہ نہ ٹوٹے) اور گرافکس کو تبدیل کریں جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے۔
خلاصہ: راؤٹر اس پر ہلکی ویب سائٹ کی میزبانی کرنے کے لئے کافی موزوں ہے، اصولی طور پر - اگر بڑے بوجھ کی توقع نہیں ہے، تو آپ کر سکتے ہیں انسٹال اور php, и экспериментировать с более сложными проектами (смотрю на nextcloud/owncloud, вроде есть успешные установки на такое железо). Возможность установки пакетов поднимает его полезность — например, когда надо было защитить RDP порт ПК в локальной сети, поставил knockd на роутер — и проброс порта к ПК открывался только после port knocking.
ایک راؤٹر اور باقاعدہ پی سی کیوں نہیں؟ ایک راؤٹر ہارڈ ویئر کے ان چند کمپیوٹر ٹکڑوں میں سے ایک ہے جو بہت سے اپارٹمنٹس میں چوبیس گھنٹے کام کرتا ہے؛ ایک ہوم راؤٹر عام طور پر بالکل خاموش ہوتا ہے اور ایک ہلکی سائٹ جس میں روزانہ سو سے کم وزٹ ہوتے ہیں اسے بالکل پریشان نہیں کرتے ہیں۔