- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Как веб-сервер на своём компьютере сделать доступным для других
- Локальные и глобальные компьютерные сети
- Локальные и глобальные IP адреса
- Настройка веб-сервера, чтобы его можно было открыть на других компьютерах в локальной сети
- Как узнать локальный IP адрес
- Настройка постоянного IP в Windows
- Настройка статичного IP в роутере
- Как открыть веб-сервер для доступа из Интернета
- Как сделать глобальный IP адрес статичным
- Очень хороший хостинг сайтов
- Связанные статьи:
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как веб-сервер на своём компьютере сделать доступным для других
После установки веб-сервера может понадобиться сделать его доступным для других в локальной или глобальной сети. Это может быть нужно, например, чтобы тестировать свой сайт на разных платформах (посмотреть, как выглядит сайт на мобильных телефонах) или если вы создали сервис (файлообменник, чат и т.п.), который должен быть доступен для других.
Локальные и глобальные компьютерные сети
Чтобы добиться нужного результата, необходимо знать, что компьютерные сети бывают локальными и глобальными. Пример локальной сети: домашний роутер, к которому подключены компьютеры и мобильные устройства. Глобальная сеть – это Интернет.
Глобальная сеть и локальные сети различаются IP адресами. Каждое сетевое устройство в любой сети должно иметь свой уникальный IP адрес. Особенностью IP адресов в глобальной сети является то, что они уникальны на глобальном уровне, т.е. к Интернету не могут быть подключены устройства, у которых одинаковый IP. В локальных сетях IP адреса также уникальны, но уникальны они только на локальном уровне: т.е. в вашей домашней сети IP адрес, к примеру, 192.168.0.2 может быть только у одного устройства, иначе это вызовет проблемы; но у других пользователей, имеющих свои локальные сети, в этих сетях также может использоваться IP адрес 192.168.0.2.
Поскольку локальные сети напрямую не связаны друг с другом, не возникает путаницы из-за одинаковых IP адресов. Связь между локальными сетями может происходить черед подключение к глобальной сети. Это происходит обязательно через устройства, которые имеют глобальный IP.
Примечание: Я знаю про NAT (технология, позволяющая нескольким устройствам иметь Интернет-подключение через один IP адрес), про объединение локальных сетей с помощью другой локальной сети, про туннелированние и т.д., но сознательно пропускаю это для упрощения.
Локальные и глобальные IP адреса
Чтобы не запутаться в терминологии, глобальный IP адрес ещё называют «внешним», «белым» — это разные обозначения одного и того же.
Локальный IP адрес называют «внутренним», «серым», «приватным» — это всё одно и то же.
Работа домашней (локальной) сети, в которой присутствует роутер и несколько устройств, подключённых к роутеру, обычно выглядит следующим образом:
- Роутер подключается к Интернет-провайдеру. Интернет-провайдер назначает роутеру внешний IP адрес, который позволяет устанавливать соединения с глобальной сетью Интернет.
- Компьютеры по кабелю или Wi-Fi, а также мобильные телефоны через Wi-Fi подключаются к роутеру. Роутер раздаёт им локальные IP адреса.
- Если два устройства в локальной сети хотят обменяться данными, то они это делают через роутер, но сетевые пакеты не отправляются в глобальную сеть.
- Если какому-либо устройству понадобиться «выйти в Интернет», то он передаст соответствующий запрос роутеру, роутер подключится к нужному узлу в глобальной сети, роутер же получит ответ от узла в глобальной сети и передаст этот ответ устройству в локальной сети, которое сделало первоначальный запрос.
Настройка веб-сервера, чтобы его можно было открыть на других компьютерах в локальной сети
По умолчанию, веб-сервер Apache настроен отвечать всем, кто пытается к нему подключиться. Подключиться к компьютеру, а, следовательно, и к веб-серверу, проще всего по его IP адресу.
Если вы хотите открыть страницу локального веб-сервера на другом устройстве (компьютер, телефон), подключённом к этой же локальной сети, то достаточно в строке браузера набрать IP адрес компьютера, на котором запущен веб-сервер.
Как узнать локальный IP адрес
Но чтобы это сделать, нужно знать, какой у компьютера с веб-сервером IP адрес. Как уже было сказано, локальные IP раздаёт роутер. Локальные IP могут быть в следующих диапазонах:
- 10.0.0.0 — 10.255.255.255
- 100.64.0.0 — 100.127.255.255
- 172.16.0.0 — 172.31.255.255
- 192.168.0.0 — 192.168.255.255
Причём, если вы не меняли настройки роутера, чаще всего используется диапазон 192.168.0.0 — 192.168.255.255. Скорее всего, ваш компьютер имеет адрес вида 192.168.0.* или 192.168.1.*. Но какой именно?
В Windows чтобы узнать локальный IP адрес откройте командную строку (нажмите Win+x, и выберите Windows PowerShell). В открывшемся окне выполните команду
У вас, наверное, будет меньше сетевых устройств, но в любом случае, для всех из них будет выведена информация, в том числе IP адреса.
Мой компьютер имеет локальный IP адрес 192.168.0.90. Если я, например, в телефоне, подключённому по Wi-Fi к роутеру наберу в адресной строке 192.168.0.90, то откроется веб-страница моего локального веб-сервера, запущенного на компьютере (да, у меня там бардак):
Внимание: если у вас не получается открыть веб-сервер, хотя IP адрес введён правильно – попробуйте отключить файервол. Если это помогло, то файервол можно включить, но настройте исключение для 80 порта.
Всё довольно просто, но имеется проблема – после перезагрузки компьютера IP адрес, скорее всего, изменится. Т.е. чтобы вновь открыть локальный веб-сервер понадобится проверять IP адрес и сообщать его другим желающим посетить ваш локальный веб-сайт.
Как уже было сказано, локальный IP адреса «раздаёт» роутер. Адреса являются произвольными в рамках данной подсети.
Чтобы исправить ситуацию с постоянно меняющимся локальным IP, давайте познакомимся с такими понятиями как динамичный и статичный IP адреса.
Динамичный IP адрес выдаётся произвольно (роутером, Интернет-провайдером). Он может меняться при последующих подключениях.
Статичный IP адрес закреплён за сетевым интерфейсом (фактически, закреплён за компьютером, мобильным телефоном). Он не меняется при последующих переключениях.
В локальной сети, по умолчанию используются динамичные IP адреса, но это легко изменить.
Имеется, как минимум, два способа поменять динамичный локальный адрес на статичный локальный адрес:
- в настройках сетевого интерфейса (на компьютере, в мобильном телефоне)
- в настройках роутера
Не нужно делать изменения и там, и там – достаточно сделать настройки или на компьютере, или в роутере. Принципиальной разницы нет, какой именно метод вы будете использовать.
Настройка постоянного IP в Windows
Для настройки статичного локального адреса на компьютере откройте «Сетевые подключения». Проще всего это сделать набрав в командной строке Windows:
Выберите интересующий вас сетевой адаптер (сетевой подключение), нажмите на него правой кнопкой мыши и выберите «Свойства»:
В открывшемся окне выберите «IP версии 4 (TCP/IPv4)» и нажмите кнопку «Свойства»:
Переключите на «Использовать следующий IP адрес».
Теперь нужно заполнить все поля. Первые три поля являются взаимосвязанными и также связаны с роутером. Когда ранее мы смотрели свой локальный IP адрес, нам также была показана такая информация как Маска подсети (на моём скриншоте это 255.255.255.0) и Основной шлюз (на моём скриншоте это 192.168.0.1). Посмотрите ваши значения (вполне вероятно, что они будут такими же) и введите их в поля «Маска подсети» и «Основной шлюз». Кстати, основной шлюз – это адрес роутера. Очень часто локальными адресами роутера являются 192.168.0.1 и 192.168.1.1
В поле IP-адрес введите желаемый IP. Он должен соответствовать вашей сети. Т.е. если роутер имеет IP 192.168.0.1, то компьютер должен иметь IP вида 192.168.0.* (например, 192.168.0.100), если роутер имеет IP 192.168.1.1, то компьютер должен иметь адрес вида 192.168.1.* (например, 192.168.1.100).
Чтобы не было проблем, устройства в одной локальной сети не должны иметь одинаковый IP адрес.
В качестве DNS серверов («Предпочитаемый DNS-сервер» и «Альтернативный DNS-сервер») введите 8.8.8.8 и 8.8.4.4 соответственно.
У меня получилось так (для компьютера я выбрал IP 192.168.0.100):
Закройте окна с сохранением настроек.
Теперь при каждом подключении ваш компьютер будет иметь один и тот же IP адрес.
Настройка статичного IP в роутере
Для каждого роутера детальная инструкция по настройке различается. Но схема общая: в настройках локальной сети перейдите к настройкам DHCP-сервера, выберите желаемые компьютеры/телефоны по MAC-адресу и привяжите их к определённым локальным IP адресам.
Пример настройки статических IP адресов в ZyXEL Keenetic Lite II.
Имеется перечень компьютеров со следующими именами и следующими желательными статичными IP адресами:
- HackWare-Server-2022 — 192.168.1.60
- VYACHESLAV — 192.168.1.61
- HackWare — 192.168.1.62
- HackWare-Win — 192.168.1.63
- HackWare-Windows-En — 192.168.1.64
- HackWare-Server — 192.168.1.65
На роутере Переходим в Домашняя сеть → Параметры IP. По умолчанию размер пула адресов был равен 20, увеличиваем его количество до 40. Поскольку первым IP адресом пула является 192.168.1.33, то теперь доступный для использования диапазон стал 192.168.1.33-192.168.1.72.
Переходим в список устройств (вкладка «Устройства»):
Выбираем поочереди каждое устройство, ставим галочку «Постоянный IP-адрес», вводим желаемый статичный IP и нажимаем кнопку «Зарегистрировать»:
Повторяем эту операцию для каждого компьютера и устройства, которым мы хотим назначить статичные IP адреса.
Когда всё будет готово, все устройства со статичными адресами будут выделены полужирным шрифтом.
Изменения вступят в силу при следующем подключения устройств к роутеру.
Как открыть веб-сервер для доступа из Интернета
Поскольку Apache по умолчанию прослушивает все сетевые интерфейсы и отвечает всем, то можно предположить, что если в веб-браузере ввести глобальный адрес, то мы увидим наш веб-сайт.
Если кабель Интернет-провайдера подключён к вашему компьютеру напрямую, то, вероятно, доступ по IP адресу будет работать (имеются нюансы с NAT).
Но если вы используете роутер, то IP адрес принадлежит роутеру. Если из Интернета приходит запрос на роутер, то он просто не знает, какому именно устройству в локальной сети переадресовать этот запрос. Более того, большинство роутеров имеют свой собственный веб-сервер – это он показывает страницы с настройками роутера в веб-браузере.
Поэтому для того, чтобы ваш локальный сайт начал быть видимом в Интернете, необходимо настроить переадресацию портов.
Переадресация портов доступна для настроек локальной сети и для настроек Интернет-подключения – нам нужно именно второе.
В роутере перейдите в настройки Интернета, найдите там переадресацию портов. Некоторые роутеры поддерживают Переключение портов – нам это не подойдёт.
В качестве порта для переадресации выберите 80, введите локальный IP адрес компьютера, на котором размещён веб-сервер и введите порт, на который будет происходить переадресация – 80, протокол – TCP.
Теперь мой веб-сервер доступен также по внешнему IP:
Кстати, чтобы узнать свой внешний IP адрес перейдите на эту страницу: https://suip.biz/ru/?act=myip
Как сделать глобальный IP адрес статичным
Вы столкнётесь с той же проблемой, что и для локального IP адреса – скорее всего, ваш внешний IP адрес является динамичным и будет время от времени меняться. Если вам нужен статичный IP адрес, то, скорее всего, его придётся покупать у вашего Интернет-провайдера как дополнительную услугу с ежемесячной абонентской платой.
Очень хороший хостинг сайтов
Если вы уже наигрались с локальным веб-сервером и почувствовали, что готовы выпустить ваш сайт в свет, то я рекомендую тот же хостинг, на котором работает этот сайт: