Этичный хакинг и тестирование на проникновение, информационная безопасность
Как веб-сервер на своём компьютере сделать доступным для других
После установки веб-сервера может понадобиться сделать его доступным для других в локальной или глобальной сети. Это может быть нужно, например, чтобы тестировать свой сайт на разных платформах (посмотреть, как выглядит сайт на мобильных телефонах) или если вы создали сервис (файлообменник, чат и т.п.), который должен быть доступен для других.
Локальные и глобальные компьютерные сети
Чтобы добиться нужного результата, необходимо знать, что компьютерные сети бывают локальными и глобальными. Пример локальной сети: домашний роутер, к которому подключены компьютеры и мобильные устройства. Глобальная сеть – это Интернет.
Глобальная сеть и локальные сети различаются 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 адреса.
- Если два устройства в локальной сети хотят обменяться данными, то они это делают через роутер, но сетевые пакеты не отправляются в глобальную сеть.
- Если какому-либо устройству понадобиться «выйти в Интернет», то он передаст соответствующий запрос роутеру, роутер подключится к нужному узлу в глобальной сети, роутер же получит ответ от узла в глобальной сети и передаст этот ответ устройству в локальной сети, которое сделало первоначальный запрос.
Настройка веб-сервера, чтобы его можно было открыть на других компьютерах в локальной сети
WI-FI и ИНТЕРНЕТ ПОДКЛЮЧЕН НО НЕ РАБОТАЕТ и СТРАНИЦЫ НЕ ОТКРЫВАЮТСЯ НИ В ОДНОМ БРАУЗЕРЕ
По умолчанию, веб-сервер 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). В открывшемся окне выполните команду
ipconfig
У вас, наверное, будет меньше сетевых устройств, но в любом случае, для всех из них будет выведена информация, в том числе 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:
ncpa
Выберите интересующий вас сетевой адаптер (сетевой подключение), нажмите на него правой кнопкой мыши и выберите «Свойства»:
В открывшемся окне выберите «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 адрес, то, скорее всего, его придётся покупать у вашего Интернет-провайдера как дополнительную услугу с ежемесячной абонентской платой.
Очень хороший хостинг сайтов
Если вы уже наигрались с локальным веб-сервером и почувствовали, что готовы выпустить ваш сайт в свет, то я рекомендую тот же хостинг, на котором работает этот сайт:
- Заказ хостинга
- Регистрация доменов (посмотрите, сколько там доменных зон – вы 100% подберёте себе красивое доменное имя
- Детальная техническая информация об услугах хостинга
Связанные статьи:
- Контроль доступа к сайту (блокировка по IP, User-Agent) (78.2%)
- Азы работы с веб-сервером для пентестера (75.5%)
- Как защитить веб сервер на Kali Linux от доступа посторонних (75.5%)
- Установка веб-сервера (Apache 2.4, MySQL 8.0, PHP 8, phpMyAdmin) на Windows 10 (72.2%)
- Настройка Apache в Windows (72.2%)
- Исследование периметра партнёрки по установке Adware (КЕЙС) (RANDOM — 6.1%)
Источник: hackware.ru
Как заставить одну программу выходить в сеть только через USB-модем, а остальное — по витой паре?
Стоит дома компьютер с Windows, подключен к сети через роутер (витая пара).
Есть у меня одно приложение, которое должно выходить в интернет не через домашнюю сеть, а через USB-модем. Есть способ это осуществить, желательно попроще?
- Вопрос задан более трёх лет назад
- 1771 просмотр
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Мне кажется, такие вещи надо делать через правила брандмауэра. Не вспомню на память, но что-то типа брандмауэр — добавить правило — правило для приложения. В правиле указать исполняемый файл и разрешить только траффик на указанный интерфейс, остальное — drop. Я не силен в брандмауэре windows, но думаю это делается примерно так.
Такие вещи точно можно сделать в каком-нибудь фаерволе, типа comodo firewall, kerio winroute firewall etc.
Ответ написан более трёх лет назад
Нравится 2 18 комментариев
Все гениальное просто )
Ход мысли верный. По старой линуксовой привычке я тоже так думал. Думал что в винде можно через стандартную оснастку управления файрволом, netsh, wmi или PowerShell можно привязать правило к интерфейсу. Но увы. Per interface rule могут работать только если самому их запрограммировать. Проект виндового iptables где-то с 2011 не поддерживается, и у него проблемы с 64 битными системами.
Я искал OpenSource решения. Вероятно есть какие-то файрволы которые это умеют.
younghacker: могу сказать за comodo firewall и kerio wimroute firewall, они сами определяют сети, дают им имена и можно рулить именно сетями и правилами для программ.
Kerio стоит денег, «если это кого-то останавливает», а comodo бесплатный, со своими задачами справляеся хорошо.
На работе у меня его нет, но когда буду дома могу накидать скринов. Если интересно и вопрос актуален — пишите.
кто мешает разнести подключения?
я тк понимаю дома у тебя частная сеть. а модем публичная. в чем сложности то?
внутри правила еще более гибкая настройка
делаем 2 правила. одним запрещаем работу данного приложения на данном интерфейсе. а вторым разрешаем
Господа, не путайте сетевые профили и адаптеры. Например у меня 5 VPN адаптеров. Каким образом в винде их выбрать отдельно? Винда всё слепит воедино. Или например 4 железные сетевухи. Все попадают в «Локальная сеть». В стандартной оснастке я не нашёл как их получить в таком виде чтобы прицепить к правилу Firewall.
Хочу дропать весь трафик через ETH0 за исключением трафика на скажем 8.8.8.8:443 (условно) а остальной трафик разрешить выводить через дефаул гейт который настроен чере TUN0?
В линуксе это парочка строчек. В винде — понятия не имею кроме как написать тулзу через API.
охереть. да простят меня модераторы. то у него локальная сеть и модем .. то у него с неба свалились 5 впн. что грибы после линукса не отпускают? задача какая была? напомню!
Стоит дома компьютер с Windows, подключен к сети через роутер (витая пара).
Есть у меня одно приложение, которое должно выходить в интернет не через домашнюю сеть, а через USB-модем. Есть способ это осуществить, желательно попроще?
Отметь человеку ответ как решение .. раз не умеешь формулировать .. и сиди молча!
если тебе не ймется . идешь покупаешь нахрен микротик .. как все трухацкеры .. цепляешь на него 1500 впн и назначаешь локальную сеть как доверенную . а модем втыкаешь в свой ноут и назначаешь его публичной сетью. и разруливаешь все правилами.
и еще . когда нахрен задаешь вопрос по жигулям .. не надо вспоминать про порш (это я просто для сравнения). да всем насрать что у тебя был порш. сейчас ты зеленый гоблин и спрашиваешь про жигули.
Воу, воу. Палехче. Ребят, почему вопросы в разделах вопросов по администрированию linux срачи разводят. чуть реже чеми никогда. А как разборы администриования в винде — так всё, приехали
По делу: человек спросил — я ответил как вижу вопрос. Всё остальное — полемика. Оно вам надо? Зачем нормальный ресурс (тостер прим. автора) превращать в быдлофорум? Есть что конкретео, по делу — отвечай, нету — проходи мимо.
Всем спасибо за понимание.
Так я и ответил. Точнее ты. Задача была поставлена. Кто ему виноват, что он не может почитать про устройство брандмауэра винды? И там явно про эти профили указано.
И вместо решения . началось . да вот я на линуксе . одной левой правило напишу . Потом появляются мифические пять впн. Наличие которых говорит о неправильной организации сети. Хранил ты тогда на винде сидишь . иди обратно.
sazhyk, я с Вами согласен. Я не собираюсь раздувать никакой холивар.
Соглашусь что моё упоминание Linux было ошибкой. Речь о других системах не стоит. Здесь речь только о Windows.
Сергей, Вы меня не поняли. 🙂 Давайте спокойно решим вопрос автора.
Признаюсь, я здесь преследую и свой интерес, так как самому хочется знать как его решить в Windows.
Позволю себе перефразировать задачу автора чтобы, как мне кажется, было понятнее.
Чтобы было ясно начну с того что для решения необходимо решить две задачи:
1) привязать правило Firewall к одному физическому интерфейсу
2) настроить маршрутизацию по умолчанию для одного приложения.
Дано:
Имеется компьютер под управлением Windows. В компьютере установлены два однотипных сетевых интерфейса IA и IB. Оба интерфейса «смотрят» в интернет через разные сети.
На компьютере одновременно работают два приложения A и B. Нужно сделать так чтобы в один и тот же момент приложение A «выходило в интернет» через интерфейс IA, а приложение B через интерфейс IB.
Выходило в интернет! Другими словами Default Gate для приложения А лежит через IA, а Default Gate для приложения B лежит через интерфейс IB.
Вопрос:
Как это сделать?
Желательно родными штатными средствами Windows.
Но если нет то подскажите приложения которые позволяют решить такую задачу.
Подчеркну что в моей задаче оба интерфейса находятся в одной двухпортовой сетевой карте тоесть они однотипны. Подсказка. В какой сетевой профиль они попадут? Как я могу изменить это поведение?
Большое Вам спасибо за копии экрана. Но 5 моих мифических VPN не шутка! Серьёзно! 🙂
Это был лишь пример для демонстрации того что Windows объединяет однотипные интерфейсы один сетевой тип. А типов есть только три.
И я не знаю как на разные интерфейсы одного типа привязать разные профили чтобы воспользоваться хотя бы этой возможностью.
Если подскажете где и как можно сетевым картам без ограничения по типам назначить сетевые типы и затем профили я буду благодарен.
У вас бы не возникал вопрос если бы вы почитали про профили в брандмауэре. Их три. Доменная сеть. Приватная сеть и публичная. Прошу обратить внимание на одну деталь. Не имеет значение какой тип интерфейса.
Вы сами задаёте ему профиль. То есть у вас может быть 15 локальных интерфейсов и только один относится к публичной сети. Но и тут не все заканчивается. Кроме профиля у вас есть ещё возможность выбрать тип интерфейса — локальная сеть, впн, беспроводной адаптер.
И тут мы подходим к главному! 3 на 3 даёт аж 9 комбинаций! 9 Карл. То есть ты говоришь . хочу чтоб программа смотрела в интернет . но только по локальной сети! И данное правило проигнорирует все ваше 12 локальных интерфейсов . так как они относятся к другому профилю!
А насчёт впн . мне вас жалко. Честно). Нормальные люди делают гейт и через него держат свои впн. А до Гейта цепляются одним единственным впн. А уж там все рулится правилами и маршрутизацией.
А если вы заглянете на другую закладку . правила . то вы там с удивлением и офигением обнаружите что можно выбирать айпишник с которого выходит программа в интернет. Я сейчас с айпада и поэтому скрин не кину. Там есть исходный адрес и конечный. Вам до сих пор мало.
Источник: qna.habr.com
Доступ в Internet минуя VPN канал (на примере)
Недавно решил следующую интересную задачу: требовалось обеспечить подключение до ресурсов на работе по защищенному каналу, при этом, использовать свой домашний интернет, а не рабочий интернет сквозь VPN соединение.
Перефразирую задачу, требуется, чтобы рабочий трафик ходил внутри VPN канала, а остальной — шел обычным путем.
У нас имеется настроенное VPN соединение (VPN активен). Подключим его и проверим параметры интерфейсов. Для этого запустим командную строку (здесь и далее, командная строка должна быть с правами администратора).
Выполним команду ipconfig
нас интересуют текущий IP-адрес локальной машины (192.168.0.164) и IP-адрес адаптера VPN соединения (192.168.112.45).
Проверим и убедимся, что у нас доступен интернет и трафик идет через VPN канал.
Для этого выполним ping 8.8.8.8 до общедоступного DNS и
tracert 8.8.8.8
Как видно, интернет есть, и он идет через IP VPN соединения по сети 192.168.112.0
Убедимся, что рабочий ресурс нам доступен, для этого выполним
ping 192.168.1.100 (это контроллер домена рабочей сети),
а также tracert 192.168.1.100
Для решения нашей задачи необходимо настроить интерфейс VPN: Свойства VPN -> Свойства TCP/IPv4 -> Дополнительно… ->
снять чек «Использовать основной шлюз в удаленной сети»
Так как соединение было активно, требуется отключить и снова включить соединение, для вступления изменений в силу, о чем нас любезно предупредят.
Теперь весь трафик, который раньше шел через VPN – будет идти так, как было бы без него. Проведем эксперимент, для этого вновь проверим доступность интернета и как идет трафик
Как видно из тестов, интернет идет через нужный нам канал, но доступ до рабочих ресурсов пропал. Нам необходимо явно добавить маршрут (маршруты), для которых необходим доступ по VPN.
Нам понадобится IP адрес шлюза VPN соединения или IP адрес, назначаемый при VPN подключении, если шлюз не известен. Для нашего примера это адрес 192.168.112.45.
Посмотрим таблицу маршрутизации введя route print
Нас интересует номер VPN интерфейса (подсвечен). Обратите внимание, что у нас отсутствуют постоянные маршруты.
Далее нам необходимо определить адрес(а) или подсеть трафик в которую необходимо направлять через VPN соединение. В нашем случае это весь трафик для рабочей сети 192.168.1.0/24., который необходимо направлять через интерфейс VPN соединения 192.168.112.45.
Пропишем постоянный маршрут:
route add 192.168.1.0 mask 255.255.255.0 192.168.112.45 if 36 -p
Здесь, параметр -p означает, что добавляемый маршрут будет сохранён (persistent). Параметр if 36 означает, что этот маршрут будет применяться только при поднятом интерфейсе 36 (т.е. при подключенном VPN, который имеет этот номер). Если не указать параметр if, то маршрут будет работать только до отключения VPN-соединения.
При отключении, Windows определит, что маршрут более неприменим, и удалит его. После повторного подключения VPN, маршрут не будет активным несмотря на то, что он создан с параметром -p. Если указан параметр if, то при отключении от VPN система определит, что маршрут не следует удалять, и временно отключит его до поднятия нужного интерфейса.
192.168.1.0 — имя сети (или IP адрес) в которую мы обращаемся,
mask 255.255.255.0 — определяет маску сети или конкретный адрес,
192.168.122.45 — адрес шлюза или интерфейса, через который должен направляться трафик.
Посмотрим таблицу маршрутизации. У нас появился постоянный маршрут.
Задача решена, проверим что все работает так как задумывалось.
Интернет есть и трафик идет по обычному каналу.
Доступ до рабочих ресурсов есть и идет внутри VPN.
Подобный подход можно использовать и для настройки одновременной работе двух (или больше) сетевых карт.
(Visited 29 320 times, 4 visits today)
- , Метки: Route.exe, VPN, Windows, Маршрутизация, настройка, Трафик минуя VPN
Источник: subreal-team.com