Сервер через роутер на внешний ip

Введение

В мире современных технологий все большую роль играют серверы. Вы можете использовать их для различных целей, таких как обмен информацией между устройствами, запуск веб-сайтов, игр и многое другое. Однако, чтобы иметь доступ к серверам из внешней среды, вам необходимо знать, как настроить доступ к серверу через внешний IP-адрес и роутер.

Но что же такое внешний IP-адрес и роутер? Внешний адрес — это идентификатор вашей сети в мировой сети, который вы получаете от вашего интернет-провайдера. Роутер — это устройство, которое позволяет вам управлять вашей сетью и связывать ваши компьютеры и устройства с интернетом.

В этой статье мы рассмотрим, как настраивать доступ к вашему серверу через внешний адрес и роутер.

Шаг 1: Настройка портов на роутере

Первый шаг в настройке доступа к серверу через внешний IP-адрес и роутер — это открыть порты на вашем роутере. Порты — это путь входа в ваш сервер, и если они закрыты, то вы не сможете получить доступ к серверу из внешней среды.

Шаг 2: Настройка статического IP-адреса сервера

Для того, чтобы иметь доступ к вашему серверу через внешний адрес, вы должны установить статический IP-адрес для вашего сервера. Это даст вам возможность постоянно подключаться к вашему серверу через внешний IP-адрес.

Шаг 3: Настройка фаервола на сервере

Фаервол — это программа или устройство, которое анализирует трафик в вашей сети и блокирует доступ к определенным портам и информации. Чтобы иметь доступ к вашему серверу через внешний адрес, необходимо настроить фаервол на вашем сервере.

Шаг 4: Проверка подключения к серверу

После того, как вы настроили порты на вашем роутере, установили статический IP-адрес для вашего сервера и настроили фаервол на вашем сервере, вы должны проверить подключение к вашему серверу через внешний адрес.

Чтобы проверить подключение, вам нужно ввести ваш внешний IP-адрес в браузер. Если вы правильно настроили все настройки, то вы должны быть перенаправлены на ваш сервер.

Шаг 5: Защита вашего сервера

Однако, когда вы открываете порты на вашем роутере, вы также открываете доступ злоумышленникам. Чтобы предотвратить возможные угрозы безопасности, вы должны установить дополнительные меры защиты для вашего сервера, такие как установка паролей, настроек безопасности и многое другое.

Заключение

Настройка доступа к серверу через внешний IP-адрес и роутер может быть сложной задачей, но если вы правильно выполните все необходимые шаги, то вы сможете получить полный доступ к вашему серверу из внешней среды. Этот процесс может быть связан с определенными рисками, поэтому необходимо обеспечить дополнительную защиту вашего сервера. Если у вас есть дополнительные вопросы, не стесняйтесь обращаться к профессионалам.

Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.

Зачем открывать доступ извне?

Доступ «снаружи» нужен не только в экзотических случаях вроде открытия игрового сервера или запуска сайта на домашнем компьютере. Гораздо чаще приходится «открывать порт» для многопользовательской игры, а это — как раз предоставление внешнему пользователю (серверу игры) доступа к внутренней сети (порт компьютера). Если необходимо удаленно подключиться и настроить компьютер или роутер, скачать файл-другой из домашней сети, находясь в командировке, или посмотреть видео с подключенных к домашней сети IP-камер — нужно настроить доступ.

Цвета и формы IP-адресов

Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.

Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.

Допустим теперь, что кто-то хочет написать письмо вам. Причем не в ответ, а самостоятельно. Не проблема, если у вас статический белый адрес — при подключении сегодня, завтра, через месяц и год он не поменяется. Кто угодно, откуда угодно, зная этот адрес, может написать вам письмо и получите его именно вы. Это как почтовый адрес родового поместья или фамильного дома, откуда вы не уедете. Получить такой адрес у провайдера можно только за отдельную и регулярную плату. Но и с удаленным доступом проблем меньше — достаточно запомнить выданный IP.

Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.

Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.

Сам по себе «серый» адрес проблемой не является — в конце концов, у всех подключенных к вашему роутеру устройств адрес именно что «серый» — и это не мешает им пользоваться Интернетом. Проблема в том, что когда вам нужно чуть больше, чем просто доступ к Интернету, то настройки своего роутера вы поменять можете, а вот настройки роутера провайдера — нет. В случае с серым динамическим адресом спасет только VPN.

Кто я, где я, какого я цвета?

С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.

В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.

Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.

Если же адрес выглядит по-другому, надо посмотреть на него «снаружи» с помощью одного из сервисов, показывающих ваш IP-адрес, например, http://myip.ru/.

Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.

Что такое порты и зачем их бросать?

Порт — это пронумерованное виртуальное «устройство», предназначенное для передачи данных по сети. Каждая сетевая программа использует для установления связи отдельный порт или группу портов. К примеру, браузеры используют TCP-порт 80 для незашифрованного трафика (http) и 443 для зашифрованного (https).

Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.

Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.

Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.

Игровые порты: что, куда бросаем?

Какой порт открыть — зависит от конкретного программного обеспечения. Некоторые программы требуют проброса нескольких портов, другим — достаточно одного.

У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.

Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.

В следующей таблице приведены некоторые игры и используемые ими порты на ПК:

Fortnite

Overwatch

PUBG

Tekken 7

WoT

TCP: 5222, 5795:5847

TCP: 80, 1119, 3724, 6113

TCP: 27015:27030, 27036:27037

TCP: 27015:27030, 27036:27037

TCP: 80, 443, 5222, 5223, 6881, 6900:6905, 50010:50014

UDP: 5222, 5795:5847

UDP: 5060, 5062, 6250, 3478:3479, 12000:64000

UDP: 4380, 27000:27031, 27036

UDP: 4380, 27000:27031, 27036

UDP: 53, 1900, 3432, 3478, 3479, 5060, 5062, 6881, 12000:29999, 30443, 32800:32900

Настраиваем проброс портов

Пробросы настраиваются в админ-панели роутера на вкладке «Виртуальные серверы», «NAT», «Переадресация портов», «Трансляция сетевых адресов» и т. п. Они могут быть вложенными во вкладки «Интернет», «Переадресация», «Брандмауэр» или «Безопасность». Все зависит от марки и модели роутера.

Вам нужно определить, какие порты и какой протокол (UDP или TCP) использует программа, для которой вы настраиваете правило. Также следует задать статический IP-адрес для устройства, на которое пробрасывается порт — это делается в настройках DHCP и подробно разбиралось в статье про родительский контроль. Все эти данные следует ввести в соответствующие поля.

Некоторые роутеры позволяют задать также и внешний IP-адрес (или диапазон адресов). Так что если вы знаете IP-адрес, с которого будет идти обращение к вашему устройству (например, адрес игрового сервера), то его следует также ввести на странице — это повысит безопасность соединения.

Теперь все обращения с адреса 132.12.23.122 к порту 3074 вашего роутера он автоматически «перебросит» к вашей приставке PlayStation.

Больше пробросов для разных задач!

Аналогично производится настройка для других программ — и это могут быть не только игры:

  • задав порт и настроив удаленное управление для uTorrent, можно управлять его загрузками из любой точки мира с помощью браузера;

  • проброс портов часто требуется для специализированных программ удаленного управления компьютером; более простые, «гражданские» программы могут работать без этого — подробнее о них можно прочитать в этой статье;

  • для запуска на домашнем компьютере ftp-сервера потребуется открыть и пробросить управляющий порт 21 и отдельный диапазон портов для передачи данных;

  • пробросив порт 554 на домашнюю IP-камеру, которая умеет передавать видео по протоколу RTSP, можно будет подключиться к ней любым видеоплеером с поддержкой RTSP, вроде VLC;

  • проброс порта 3389 позволит задействовать службу RDP (Remote Desktop Protocol) в Windows для получения удаленного доступа к рабочему столу компьютера.

DDNS — зачем нужен и как настроить

Если IP-адрес постоянный, то его можно запомнить. Но если он меняется, запоминать его тяжело. Для решения этой проблемы предназначены службы динамического DNS. Вам будет достаточно запомнить определенное доменное имя.

Сервисы DDNS бывают платные и бесплатные, с разным набором возможностей и характеристик. Но пользоваться лучше теми, которые предусмотрел производитель роутера — когда внешний IP-адрес роутера поменяется, они с DDNS сами договорятся, без вашей помощи. Найдите вкладку «DDNS» или «Динамический DNS» в веб-интерфейсе вашего роутера. В пункте «сервис-провайдер» или «DDNS-сервис» вам будет предложен список из нескольких сервисов, можете выбрать любой. Многие производители роутеров имеют собственные DDNS-сервисы — довольно ограниченные в настройках, зато бесплатные. Это DLinkDDNS.com для роутеров D-Link, KeenDNS для роутеров Zyxel, «Облако ТР-Link» для роутеров TP-Link и т. п.

Определившись с будущим сервисом DDNS, нужно зайти на его сайт и создать аккаунт. Бесплатные DDNS-сервисы производителей роутеров могут потребовать ввести серийный номер устройства или как-то иначе подтвердить, что вы работаете с роутером их производства — у каждого производителя по-разному.

Далее вам предложат задать доменное имя для своего домашнего сервера — обычно это домен третьего уровня (то есть vash_vybor.DDNS-service.com). После этого уже можно вернуться в веб-интерфейс и настроить привязку созданного аккаунта к своему роутеру.

Удаленное управление роутером

Во всех прочих руководствах рекомендуется запрещать удаленное управление роутером. Но здесь желательно его разрешить — будет крайне обидно, если вы, например, при пробросе портов упустили какую-то мелочь и не можете из-за этого «достучаться» до сети, будучи в командировке или в отпуске. Удаленное управление роутером позволит внести необходимые исправления и получить доступ.

Разрешите «Удаленный доступ» в веб-интерфейсе и задайте правила удаленного доступа. Так, если вам известен постоянный IP-адрес компьютера, с которого вы будете производить настройку, его следует задать — это увеличит безопасность вашей сети.

Если же вы хотите получить возможность доступа к роутеру с любого устройства, подключенного к Интернету, это тоже можно сделать, но обязательно задайте сложный пароль на доступ к веб-интерфейсу — иначе ваша локальная сеть станет «легкой добычей» для хакеров.

VPN как крайний выход

Если провайдер выдает «серый» адрес и никак не желает давать «белый», даже за деньги, придется использовать VPN.

Обычно VPN-сервисы предоставляют выход в сеть через сервер в любой точке мира — Private Internet Access, TorGuard, CyberGhost VPN, Game Freedom и т. п. Бесплатных среди них нет, но для удаленного доступа к своему компьютеру или командных игр вам «внешний» сервер и не нужен. Достаточно создать «виртуальную сеть» из своего домашнего компьютера и, например, рабочего. Или ноутбука для поездок, с которого вы ходите получать доступ к домашней сети. Или всех компьютеров ваших игровых друзей. Достаточно выбрать какую-нибудь из бесплатных VPN-утилит, например, Hamachi, Remobo, NeoRouter и т. д. И запустить ее на всех компьютерах, которые нужно объединить.

Прелесть в том, что это можно сделать без настройки роутера, с самого «серого» адреса и под самым «злобным» файрволом. Можно соединить в сеть и больше двух компьютеров, хотя в бесплатных версиях их количество ограничено.

Кроме того, в Интернете существует множество открытых (без пароля) VPN, созданных специально для игр — вам остается только найти VPN вашей любимой игры, подключиться к ней с помощью одной из вышеупомянутых утилит — и играть. Чуть сложнее дело обстоит с играми, в которых требуется подключение к игровому серверу.

Существуют VPN-сети с запущенными серверами популярных игр, но пользователей на них в разы меньше, чем на открытых серверах. Кроме того, такие сервера есть не для всех игр. Сыграть в World of Tanks или World of Warcraft с помощью таких утилит не получится, придется раскошеливаться на полноценный VPN-сервис. Но об этом — в следующий раз.

Размещаем сайт на домашнем роутере

Время на прочтение
7 мин

Количество просмотров 59K

Мне давно хотелось «потрогать руками» интернет-сервисы, настроив веб-сервер с нуля и выпустив его в Интернет. В этой статье хочу поделиться полученным опытом превращения домашнего роутера из узкофункционального устройства в практически полноценный сервер.

Началось всё с того, что служивший верой и правдой роутер TP-Link TL-WR1043ND перестал удовлетворять потребности домашней сети, захотелось 5ГГц диапазона и быстрого доступа к файлам на накопителе, подключенном к роутеру. Просмотрев профильные форумы (4pda, ixbt), сайты с отзывами и посмотрев на ассортимент местных магазинов — решил приобрести Keenetic Ultra.

В пользу именно этого устройства сработали хорошие отзывы владельцев:

  • отсутствие проблем с перегревом (тут пришлось отказаться от продукции Asus);
  • надежность в работе (тут вычеркнул TP-Link);
  • простота в настройке (побоялся не справиться и вычеркнул MikroTik).

Пришлось примириться с минусами:

  • нет WiFi6, хотелось взять оборудование с запасом на будущее;
  • 4 LAN порта, хотелось больше, но это уже не домашняя категория.

В итоге получилась вот такая «серверная»:

  • слева оптический терминал Ростелекома;
  • справа наш подопытный роутер;
  • проводом к роутеру подсоединен завалявшийся m.2 SSD на 128 ГБ, помещенный в коробку USB3 с алиэкспресса, сейчас он аккуратно закреплен на стенке;
  • на переднем плане удлинитель с независимым отключением розеток, провод от него идет к недорогому UPS;
  • на заднем плане пучок витой пары — на этапе ремонта квартиры сразу запланировал RJ45 розетки в местах предполагаемого размещения техники, чтобы не зависеть от замусоренности WiFi.

Итак, у нас есть оборудование, необходимо его настроить:

  • первичная настройка роутера занимает около 2 минут, указываем параметры подключения к провайдеру (у меня оптический терминал переключен в режим бриджа, PPPoE соединение поднимает роутер), название WiFi сети и пароль — в принципе всё, роутер запускается и работает.

Ставим переадресацию внешних портов на порты самого роутера в разделе «Сетевые правила — Переадресация»:

Теперь можно перейти к «продвинутой» части, чего я хотел от роутера:

  1. функционал небольшого NAS для домашней сети;
  2. выполнение функций веб-сервера для нескольких частных страничек;
  3. функционал персонального облака для доступа к личным данным из любой точки мира.

Первое реализуется встроенными средствами, не требуя особых усилий:

  • берем предназначенный для этой роли накопитель (флешку, карту памяти в картридере, жесткий диск или SSD во внешнем боксе и форматируем в Ext4 с помощью MiniTool Partition Wizard Free Edition (у меня нет компьютера с linux под рукой, там можно встроенными средствами). Как я понимаю, при работе система пишет на флешку только логи, поэтому, если их ограничить после настройки системы — можно использовать и карты памяти, если планируете много и часто писать на накопитель — лучше SSD или HDD.

После этого подключаем накопитель к роутеру и наблюдаем его на экране системного монитора

Переходим щелчком по «USB-диски и принтеры» в раздел «Приложения» и настраиваем общий ресурс в разделе «Сеть Windows»:

И у нас имеется сетевой ресурс, который можно использовать с компьютеров под Windows, подключив при необходимости как диск: net use y: \\192.168.1.1\SSD /persistent:yes

Скорость такого импровизированного NAS вполне достаточна для домашнего применения, по проводу он использует весь гигабит, по WiFi скорость составляет около 400-500 мегабит.

Настройка хранилища — один из необходимых шагов для настройки сервера, далее нам нужно:
— приобрести домен и статический IP адрес (можно обойтись и без этого, используя Dynamic DNS, но статический IP у меня уже был, поэтому проще оказалось воспользоваться бесплатными сервисами Яндекса — делегировав туда домен, мы получаем DNS-хостинг и почту на своем домене);

— настроить DNS сервера и добавить A-записи, указывающие на ваш IP:

Вступление в силу настроек делегирования домена и DNS занимает несколько часов, поэтому параллельно занимаемся настройкой роутера.

Для начала необходимо установить репозиторий Entware, из которого мы сможем ставить на роутер необходимые пакеты. Я воспользовался этой инструкцией, только не заливал установочный пакет по FTP, а создал папку прямо на подключенном ранее сетевом диске и скопировал туда файл обычным способом.

Получив доступ по SSH, меняем пароль командой passwd и ставим командой opkg install [имена пакетов] все нужные пакеты:

В ходе настройки на роутере оказались установлены следующие пакеты (результат вывода команды opkg list-installed):

Список пакетов

bash — 5.0-3
busybox — 1.31.1-1
ca-bundle — 20190110-2
ca-certificates — 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
entware-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
libuuid — 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

Возможно, тут что-то лишнее затесалось, но места на накопителе много, поэтому разбираться не стал.

После установки пакетов настраиваем 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;
            }
        }
}

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, воспользовался известным скриптом dehydrated, установив его по этой инструкции. Затруднений этот процесс не вызвал, запнулся только на том, что в тексте скрипта для работы на моем роутере надо закомментировать строчку в файле /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, увидим заглушку.

<!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 — там неплохой выбор бесплатных шаблонов, не требующих обязательного указания авторства (что редкость в интернете, большая часть шаблонов в лицензии требуют сохранить ссылку на ресурс, откуда они получены).

Выбираем подходящий шаблон — там есть на самые разные случаи, скачиваем архив, и раcпаковываем его в каталог /share/nginx/html, делать это можно уже со своего компьютера, затем редактируем шаблон (тут потребуются минимальные знания HTML, чтобы не нарушить структуру) и заменяем графику, как показано на рисунке ниже.

Резюме: роутер вполне пригоден для размещения на нем легкого сайта, в принципе — если не предполагается большой нагрузки, можно поставить и php, и экспериментировать с более сложными проектами (смотрю на nextcloud/owncloud, вроде есть успешные установки на такое железо). Возможность установки пакетов поднимает его полезность — например, когда надо было защитить RDP порт ПК в локальной сети, поставил knockd на роутер — и проброс порта к ПК открывался только после port knocking.

Почему именно роутер, а не обычный PC? Роутер — одна из немногих компьютерных железяк, круглосуточно работающих во многих квартирах, домашний роутер обычно абсолютно бесшумен и легкий сайт с числом посещений в сутки меньше сотни его совершенно не напряжет.

В моем случае есть несколько сервисов для работы которых нужно было пробросить порты из интернета в локальную сеть что бы я мог ими пользоваться откуда угодно.

Скажем если я нахожусь дома, то я могу стучать к серверу умного дома на прямую по 192.168.88.229, но из мира это будет например 1.1.1.1. Но если я из локальной сети обращусь по внешнему IP роутер отбросит мой запрос.

  • Роутер с внешним IP (WAN IP) 1.1.1.1.
  • Компьютер с локальным адресом 192.168.88.229, и запущенным на нем сервером, приложением и т. д. для доступа из внешней сети. В нашем случае для соединения используется порт 8080.
  • Компьютер в локальной сети с адресом 192.168.88.110.

У нас уже проброшен порт 8080:

Но оно не будет срабатывать при обращении из локалки, так как настройки ориентированы на пакеты из внешней сети, через WAN-порт. Поэтому нам нужно прописать дополнительно еще 2 правила.

1. Создаем правило для перенаправления обращений по внешнему IP из локальной сети.

Вкладка General:

  • Chain  — dstnat.
  • Src. Address — пишем здесь локальный адрес компьютера, с которого будем заходить по внешнему IP, или диапазон адресов, если такой доступ нужно предоставить нескольким компьютерам сети.
  • Dst. Address — указываем внешний адрес компьютера/ сервера и т. п., по которому будет осуществляться доступ из локалки.
  • Protocol,  Dst. Port — здесь прописываем параметры порта и протокола, которые соответствуют нашему соединению (те же, что и в пробросе портов).

Вкладка Action

  • To Addresses — указываем локальный адрес нашего сервера, компьютера, на который мы заходим по внешнему IP-адресу.
  • To Ports — порт тот же самый, что на предыдущей вкладке, поэтому здесь можно ничего не указывать.

Теперь на компьютер 192.168.88.229 можно зайти из локальной сети по внешнему IP-адресу 1.1.1.1.

Но при попытке какого-то взаимодействия с ним ничего не получится. Почему? Посмотрим, что происходит.

  • Наш компьютер (192.168.88.110) посылает пакет на внешний адрес сервера, который является и адресом роутера, соответственно — 1.1.1.1.
  • Роутер добросовестно перенаправляет его по нашему правилу dst-nat на компьютер с адресом 192.168.88.229
  • Тот его принимает и отправляет ответ. Но так как он видит в качестве адреса источника локальный IP-адрес (ведь пакет поступил от компьютера в локальной сети), он отправляет ответ не на маршрутизатор, а напрямую получателю
  • Получатель же (192.168.88.10) отправляя данные по внешнему IP, и ответ также ожидает от внешнего IP. Получив пакет от локального 192.168.88.229, он его просто сбрасывает, как ненужный

Поэтому нам нужно еще одно правило, которое будет подменять локальный адрес источника при отправке пакета на внешний IP.

Подменяем локальный адрес компьютера на внешний IP-адрес

На вкладке Action выставляем маскарадинг (masquerade), т. е. подмену адреса источника на локальный адрес маршрутизатора.
На вкладке General прописываем правила, при которых он будет применяться:

  • Chain  — srcnat, т. е. при запросах из локальной сети.
  • Src. Address — пишем здесь локальный адрес компьютера, или диапазон адресов, с которых будут отправляться пакеты.
  • Dst. Address — здесь конкретизируем «адрес получателя», т. е. правило будет применяться только для пакетов, адресованных нашему серверу.
  • Protocol,  Dst. Port — здесь прописываем те же параметры порта и протокола.

Теперь, получив пакет из локальной сети, адресованный на внешний IP 1.1.1.1, маршрутизатор не только перенаправит его на 192.168.88.229 (по первому правилу), но и заменит в пакете адрес источника (192.168.88.110) на свой локальный адрес.

Ответ от сервера поэтому отправится не напрямую в локальную сеть, а на маршрутизатор, который, в свою очередь направит его источнику.

Второй способ Hairpin NAT MikroTik: 2 правила вместо 3

Можно сделать еще проще, заменив правило проброса портов первым правилом Hairpin NAT. В этом случае в настройках не нужно указывать In. Interface и Src Address, но нужно прописать адрес назначения.

Доступ на внешний IP адрес вашего сервера или компьютера с приложением будет открыт как для обращений извне, так и из локальной сети, с любых адресов, но только для пакетов с адресом назначения 1.1.1.1:80.

Теперь добавляете описанное выше правило srcnat, и все. Можно добавить дополнительную фильтрацию, прописав в out-interface тот интерфейс, с которого будут осуществляться отправки пакетов, если есть такая необходимость.

Недостатком Hairpin NAT является только то, что нагрузка на роутер возрастает, ведь те обращения, что раньше проходили через локальную сеть непосредственно между компьютерами, теперь будут идти через маршрутизатор.

Второй способ проще, но, в зависимости от конфигурации вашей сети, может использоваться и первый.

Статья скопирована на 95% и используется как заметка. Источник: https://lantorg.com/article/kak-zajti-po-vneshnemu-ip-adresu-iz-lokalnoj-seti-dlya-mikrotik © LanTorg.com

Если на вашем роутере TP-LINK есть USB-разъем, то скорее всего на нем можно запустить FTP-сервер для доступа к файлам из локальной сети, или из интернета. Имеется введу доступ к тем файлам, которые находятся на накопителе, который подключен к роутеру.

Очень удобно. Подключаем к роутеру флешку, или внешний жесткий диск, запускам FTP-сервер, и получаем доступ к этому накопителю со всех устройств, которые подключены к роутеру. И не только с компьютеров, но и с мобильных устройств. Честно говоря, не знаю как там с устройствами на iOS, а вот мобильные устройства на Android без проблем подключаться к FTP серверу, и получают доступ к файлам.

Доступ к файлам, которые находятся на накопителе подключенному к роутеру TP-LINK можно получить не только с локальной сети, но и удаленно, через интернет. Все что понадобиться, это только знать свой внешний IP-адрес (который выдает провайдер). То есть, вы можете с любого места, где есть подключение к интернету, получить доступ к файлам на флешке, которая подключена к домашнему маршрутизатору. К сожалению, у меня сейчас нет возможности продемонстрировать доступ к FTP-серверу из интернета. Как только появится такая возможность, обязательно дополню эту инструкцию.

Обратите внимание. Мы будем настраивать именно FTP-сервер, а не просто совместный доступ к накопителю. Многие путают эти две функции, а они абсолютно разные. О настройке совместного доступа, я подготовлю отдельную статью.

Подключаем флешку к роутеру TP-LINK и настраиваем FTP-сервер

Показывать я буду на примере роутера TP-LINK Archer C20i. Подключил я к нему обычную флешку. Вы так же подключите свой накопитель в USB-разъем маршрутизатора. У меня получилось вот так:

Подключение USB флешки, или внешнего HDD к роутеру TP-LINK

Роутер должен быть включен. И устройство, с которого вы будете настраивать, должно быть подключено к роутеру по Wi-Fi, или по сетевому кабелю.

Дальше открываем любой браузер, и переходим по адресу tplinklogin.net, 192.168.1.1, или 192.168.0.1. Точный адрес указан на наклейке снизу маршрутизатора. На странице авторизации указываем имя пользователя и пароль. Если вы их не меняли, то это admin и admin. Если не получается, то смотрите подробную инструкцию.

Перейдите сразу на вкладку «USB Settings» (Настройки USB) – «USB Mass Storage» (USB-хранилище). На этой странице будет отображаться USB накопитель, который мы подключили к маршрутизатору.

USB накопитель на роутере TP-LINK

Убедились, что накопитель есть и он работает. Дальше я советовал бы отключить совместный доступ к этому накопителю, так как он по умолчанию почему-то включен. Что бы он не отображался на устройствах в локальной сети. А использовался только для FTP сервера. Для этого откройте вкладку «Storage Sharing» (Совместный доступ), и нажмите на кнопку «Disable» (Отключить).

Отключаем совместный доступ к накопителю

Переходим на вкладку «FTP Server». Он должен быть включен, в статусе «Enabled». По умолчанию он у меня был включен.

FTP сервер на роутере TP-LINK

По умолчанию, уже создан каталог «volume» с доступом ко всему накопителю. И с правами администратора. Сейчас объясню. Сам сервер уже работает, и к нему можно получить доступ. По умолчанию, доступ настроен ко всему накопителю. И с правами администратора «Super User». Права администратора дают полный доступ к файлам на накопителе. В том числе, на их изменение.

Это значит, что мы уже можем получить доступ к FTP серверу с любого устройства, которое подключено к нашему роутеру. Для этого, на вкладке «USB Settings»– «FTP Server», справа (где инструкция), скопируйте ftp адрес (или просто запомните, он нам понадобится):

Адрес ftp сервера на роутере TP-LINK

Для получения доступа, нам нужно будет указать имя пользователя и пароль. Это те же данные, которые мы указывали при входе в настройки маршрутизатора (заводские – admin и admin).

Если вы хотите, что бы доступ по FTP был ко всему накопителю (а не к какой-то конкретной папке), и доступ был только с правами администратора (со всеми правами), то можете сразу переходить к подключению к серверу на компьютере.

А если вам нужно настроить доступ только к какой-то конкретной папке, и создать других пользователей (с разными правами доступа), то я расскажу как это сделать в конце этой статьи.

Еще один важный момент: как я уже писал выше, по умолчанию, доступ к запущенному на роутере TP-LINK FTP серверу предоставляется с правами администратора. Под именем пользователя и паролем администратора. Если вы не сменили стандартный пароль admin, который используется для входа в настройки роутера, то я настоятельно рекомендую это сделать. Так как этот пароль и стандартное имя пользователя (которое так же admin) будет использоваться для подключения к FTP серверу. Я уже писал, о том как сменить заводской пароль роутера. На TP-LINK, это делается на вкладке «System Tools» (Системные инструменты) – «Password» (Пароль).

Подключение к запущенному FTP-серверу на компьютере

Просто открываем проводник «Мой компьютер», или «Этот компьютер» (Windows 10), и переходим по адресу, который указан в настройках роутера. У меня это «ftp://192.168.0.1». Если у вас IP-адрес роутера 192.168.1.1, то адрес будет «ftp://192.168.1.1».

ftp://192.168.0.1 – адрес локального сервера

Дальше появится запрос имени пользователя и пароля. Я об этом писал выше. Здесь нужно указать те же данные, которые вы используете для входа в настройки роутера TP-LINK (стандартные admin и admin). Можете поставить галочку «Сохранить пароль», и нажмите «Вход».

Авторизация на FTP сервере роутера TP-LINK

После этого, вы увидит файлы, которые находятся на флешке, которая подключена к роутеру. Если у вас на накопителе были какие-то файлы, то они будут в папке «volume».

Общий FTP доступ к файлам на USB накопителе через роутер TP-LINK

Вы можете создавать новые папки, копировать туда файлы, или просматривать их. Все работает независимо от версии Windows. Проверял на Windows 10, и Windows 7.

Для подключения к созданному серверу можно так же использовать сторонние программы. Такие как «FileZilla». А можно обойтись и стандартным средством Windows.

Настройка FTP подключения к сетевому диску

Думаю вы согласитесь, что не очень удобно каждый раз вводить адрес в проводнике. Поэтому, я предлагаю создать подключение, что бы в дальнейшем просто заходить в папку, которая все время будет в проводнике.

Для этого, заходим в «Мой компьютер» (не забываем, что в Windows 10, это «Этот компьютер»), и нажимаем на пункт «Подключить сетевой диск». Если у вас Windows 10, то сначала нажимаем на пункт «Файл» – «Подключить сетевой диск».

"Подключить сетевой диск" в Windows 7

Появится окно, в котором нажимаем на «Подключение к сайту, на котором можно хранить документы и изображения». И в следующем окне нажимаем «Далее».

Подключение к FTP серверу стандартным средством Windows

Два раза нажимаем на «Выберите другое сетевое размещение», указываем адрес нашего сервера, и нажимаем «Далее».

Подключение к FTP серверу роутера

Убираем галочку «Анонимный вход», и в поле «Пользователь» указываем имя пользователя (напомню, что стандартное admin, если вы его не меняли). Запрос пароля должен появится уже при входе на сервер (стандартный так же admin).

И в следующем окне придумываем и записываем любое имя для нашего подключения. Нажимаем «Далее».

Подключение к FTP под пользователем admin

В последнем окне нажимаем кнопку «Готово», и сразу откроется папка с файлами. Если появится запрос пароля, то укажите его.

Эта папка всегда будет отображаться в проводнике, на вкладке «Компьютер».

Обмена файлами между роутером TP-LINK и компьютером по FTP

Открыв эту папку, вы сразу получаете доступ к USB накопителю. Мы знаем адрес сервера, имя пользователя и пароль (которое можно сменить в настройках роутера), поэтому, можем подключаться к серверу с любого устройства в локальной сети. На Android устройствах я советую подключаться через файловый менеджер «ES проводник». Позже напишу об этом отдельную статью.

Подключение к FTP-серверу TP-Link через интернет

К настроенному на роутере TP-Link FTP-серверу можно получить доступ через интернет. Это значит, что с любого устройства, которое подключено к интернету можно зайти на флешку (которая подключена к роутеру) и получить доступ к файлам.

Для доступа к FTP-серверу используется внешний IP-адрес, который роутер получает от провайдера. Если ваш провайдер выдает белый, статический внешний IP-адрес (WAN IP), то после настройки FTP (активации функции «Доступ к Интернет») по этому адресу можно получить доступ к файлам откуда угодно. Достаточно узнать свой IP-адрес (например, на сайте 2ip.ru) и перейти по нему в браузере, добавив в начале ftp://

Удаленный доступ к FTP-серверу TP-Link

Но обычно провайдеры выдают динамические IP-адреса, которые могут меняться. В таком случае, есть два варианта: либо заказать у провайдера услугу «статический IP-адрес», либо настроить DDNS (об этом подробнее напишу ниже и дам ссылку на инструкцию).

Но еще хуже, это когда провайдер выдает серый IP-адрес. Тогда даже DDNS не поможет. Подробнее в статье: DDNS (динамический DNS) на роутере: что это, как работает и как пользоваться. Нужно просить у провайдера белый, публичный IP-адрес и настраивать DDNS, или заказывать сразу услугу «статический IP-адрес».

Чтобы FTP-сервер был доступен удаленно, нужно включить функцию «Доступ к Интернет» в настройках FTP на роутере TP-Link.

Активация функции доступа через интернет для FTP-сервера на TP-Link

В строке «Интернет-адрес» будет указан IP-адрес, по которому можно зайти на FTP-сервер (писал об этом выше и показывал на скриншоте).

Мы уже выяснили, как зайти на FTP-сервер через внешний, статический IP-адрес. Если роутер от провайдера получает динамический IP-адрес, то доступ к серверу тоже будет. Но провайдер выдаст роутеру новый IP-адрес и доступ пропадет (а смотреть каждый раз этот адрес не очень удобно, да и не всегда есть возможность). В таком случае проблема решается настройкой DDNS на роутере TP-Link.

Настраиваем DDNS, получаем постоянный адрес и используем его для удаленного входа на FTP-сервер. Прописав в начале адреса ftp://

Удаленный доступ к файлам на роутере TP-Link через DDNS

Важно! Так как к нашему FTP-серверу открыт доступ из сети интернет, то нужно создать хороший пароль учетной записи администратора и другим учетным записям (если они созданы). Так же желательно сменить имя пользователя admin на какое-то другое. О настройке учетных записей читайте ниже.

Заходить на FTP-сервер можно не только через браузер, но и через специальные FTP-клиенты. Их можно установить как на компьютеры с Windows и Mac OS, так и на мобильные устройства. В Windows я использую FileZilla Client. Нужно создать новое подключение и указать хост (адрес сервера), имя пользователя и пароль.

Дело в том, что через браузер можно только считывать файлы. Копировать файлы на сервер, удалять их и изменять через браузер не получится. Даже если у вас (в учетной записи, под которой вы заходите) есть права на это. А через FTP-клиент можно выполнять любые операции с файлами.

Настройки учетной записи и папки для FTP сервера на TP-LINK

Эти настройки не обязательны. И нужны лишь в том случае, если вы хотите настроить доступ для определенных пользователей, с разными правами доступа.

Начнем с того, что можно создать несколько учетных записей. Например, учетную запись для гостей, для которой запретить полный доступ к накопителю, а только к конкретной папке, и только с определенными правами. Или, запретить изменять файлы, а только считывать их.

Для начала нам нужно создать пользователя. В настройках роутера откройте вкладку «USB Settings» (Настройки USB) – «User Accounts» (Учётные записи пользователей).

По умолчанию там будет пользователь admin*. Что бы создать нового пользователя, заполните снизу поля:

  • Choose Index (Выберите номер) – выбираем номер для пользователя.
  • New Username (Имя пользователя) – указываем имя для нового пользователя.
  • И два раза указываем пароль для этого пользователя.

Нажимаем на кнопку «Set» (Применить), и новый пользователь появится в таблице. Там же его можно отключить, удалить, или отредактировать.

TP-LINK: учетные записи пользователей для FTP

Дальше снова переходим на вкладку «FTP Server». Самая запутанная часть. Как-то сложно и не понятно все это сделали в компании TP-LINK. Каким-то системным администратором нужно быть, что бы разобраться.

Значит, на вкладке «FTP Server» мы видим таблицу, в которой по умолчанию уже есть один ресурс «volume». Это доступ ко всему накопителю (к корневой папке накопителя). Мы можем создать еще одну папку, к которой разрешить доступ например для созданного пользователя (группы пользователя), и с определенными правами. Или же, изменить права доступа ко всему накопителю, для созданной учетной записи.

Сейчас все покажу. Давайте сначала создадим еще один общий ресурс. Нажмите на кнопку «Add New Folder» (Добавить новую папку).

Создаем новый каталог на накопителе

В поле «Share Name» (Имя ресурса с совместным доступом) указываем имя папки. Нажимаем на кнопку «Browse» (Обзор).

Share Name

Выбираем свой накопитель и указываем директорию, до которой будет доступ. Но, обратите внимание, что роутер не даст вам выбрать папку, у которой название прописано НЕ английскими буквами. Нужно сначала переименовать.

После того, как выбрали директорию, мы можем задать права доступа, для созданного нами пользователя. Просто в таблице, напротив пользователя установите нужные права доступа к этой папке. Там есть три варианта: Full Access (полный доступ), Read Only (только чтение), No-Access (нет доступа). Я поставил только чтение. Нажимаем на кнопку «Apply» (Применить).

Создаем папку на FTP сервере роутера TP-LINK

Эта папка появится в таблице, где можно увидеть права доступа для каждой учетной записи, к определенной директории. Права доступа можно изменять для каждой папки, нажав напротив нее на ссылку «Edit» (изменить).

Для примера: у меня, на скриншоте ниже, пользователь admin (он под номером 1) имеет доступ к обоим папкам. К «volume» и «test2». В таблице стоят буквы F.

А пользователь «guest» (который под номером 2) не имеет доступа к каталогу «volume» (к корню накопителя), но имеет доступ к ресурсу «test2». А это директория «/Music». Поэтому, когда мы перейдем по адресу ftp://192.168.0.1 и укажем имя пользователя guest и пароль от этой учетной записи, то мы получим доступ только к директории /Music (не сможем просматривать весь накопитель). И этот доступ будет с правами «только чтение». То есть, мы не сможем удалять файлы и создавать новые.

Управление правами доступа на FTP сервере роутера

Действительно сложно разобраться. Но если понять как все это работает, то можно очень тонко настроить доступ к разным директориям и для разных учетных записей.

Послесловие

На первый взгляд очень все сложно, и очень много настроек. Но, если вам не нужны все эти права доступа, доступ по директориям и т. д. (что для домашнего пользования как правило не нужно), то все можно настроить очень быстро.

Все хорошо и стабильно работает. Очень удобно, если вам нужно использовать общие файлы на нескольких устройствах в сети. И что бы эти файлы находились не на одном из устройств, а на USB накопителе, подключенному к роутеру TP-LINK.

Вопросы можете задавать в комментариях. Так же, не забывайте делиться опытом, и интересными советами по этой теме. Всего хорошего!

Другие наши интересноые статьи:

  • Сеть с двумя роутерами zyxel
  • Сеть работает не видит роутер
  • Сервер самба на роутере что это
  • Сеть с двумя роутерами cisco
  • Сеть ноутбук компьютер вай фай роутером

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии