Вопрос: Возможно ли иметь публичный IP для моего ПК, подключенного к шлюзу XFINITY (роутер / модем) через wifi? В моей домашней сети есть несколько компьютеров, подключенных к шлюзу XFINITY через Wi-Fi. Каждый из них имеет свой собственный частный / локальный IP-адрес, конечно. На моем ПК работает веб-сервер с разрабатываемыми веб-приложениями (в отличие от компьютеров моего супруга и детей). Поэтому я хотел бы иметь возможность получить доступ к своему ПК через общедоступный IP-адрес для тестирования моих веб-приложений devel без необходимости платить третьей стороне за эту услугу, поскольку я уже плачу Comcast за нашу интернет-услугу дома. Я занимался разработкой какое-то время, но не знаком с сетями, так как большая часть моей разработки была сделана на рабочей станции на работе, которая уже имеет публичный IP. Любая помощь и предложения будут с благодарностью.

2 ответа2

1

Вы можете разместить свой ПК «веб-сервера» на статическом частном IP-адресе, а затем настроить функцию шлюза NA [P] T внутри маршрутизатора, чтобы этот IP-адрес был "DMZ" (он же "хост по умолчанию", «хост-бастион»). "сервер по умолчанию" и т. д.). Или, поскольку вы, возможно, заботитесь только о веб-разработке, вы могли бы просто сделать небольшую горстку правил переадресации портов (сопоставления портов) для портов TCP 80 и 443, а также, возможно, также 8000, 8080 или чего-либо другого, если у вас есть несколько веб-сайтов, которые вы Развиваемся параллельно.

Затем вы можете указать DNS-имя хоста на публичном IP-адресе вашего кабельного шлюза. По моему опыту, Comcast не очень часто меняет мой публичный IP-адрес, поэтому, поскольку я всего лишь "провожу" эксперименты, а не реальные публичные веб-сайты, которые требуют серьезного времени безотказной работы, для меня этого достаточно. Я не смотрел на оплату статического публичного IP-адреса. Если Comcast сильно меняет ваш общедоступный IP-адрес, вы можете использовать решение Dynamic DNS, такое как Dyn.com (dyndns.org), чтобы имя вашего публичного домена указывало на ваш общедоступный IP-адрес, даже если ваш публичный IP-адрес изменяется.

Пожалуйста, обратите внимание, что для того, чтобы это работало хорошо, ваш шлюз NAT должен поддерживать "Loopback NAT" (он же NAT Hairpinning), что не все шлюзы NAT поддерживают. NAT Loopback предназначен для тех случаев, когда вы, например, запускаете веб-браузер на одном из ваших компьютеров в вашей домашней локальной сети и переходите к общедоступному доменному имени или общедоступному IP-адресу вашего веб-сайта. Ваш NAT-шлюз должен выполнить "исходящий NAT" для этого пакета, а затем понять, что пакет должен повернуться направо и пройти через "входящий NAT", чтобы добраться до вашего сервера на частной стороне шлюза.

Причина, по которой люди используют для этого функции переадресации портов или DMZ, заключается в том, что они чаще поддерживаются домашними шлюзами. Возможность делать NA [P] T для некоторых адресов, но соединять или маршрутизировать другие адреса, встречается реже. Сетевой уровень Linux настраивается практически бесконечно, поэтому, если вы можете разместить на своем шлюзе дистрибутив встроенного ПО Linux для вторичного рынка, вы можете настроить его так, чтобы он выполнял «NAT для некоторых адресов, мост для других адресов», как вы изначально предполагали, но я никогда не настраивал это сам, поэтому не могу за это поручиться.

0

Я хотел бы иметь возможность получить доступ к своему ПК через общедоступный IP-адрес для тестирования моих веб-приложений [разработки] без необходимости платить третьей стороне за эту услугу, поскольку я уже плачу Comcast за нашу интернет-услугу дома.

Это можно сделать с помощью Comcast.

Возможно ли иметь публичный IP для моего ПК, подключенного к шлюзу XFINITY (роутер / модем) через wifi?

Да.

Gateway Предостережения

По неофициальным данным, шлюзы Comcast не всегда надежны или легко настраиваются. В качестве рекомендации, вместо того, чтобы просто использовать сам шлюз, лучшим вариантом может быть просто перевести шлюз в режим "моста" (чтобы он эффективно работал только как модем) и купить роутер со шпилькой (обратная связь NAT), как уже упоминалось. @Spiff.

Я лично использую эту настройку (режим моста + внешний маршрутизатор) и был очень доволен ею.

Обратите внимание, что если вы используете метод "режима моста", описанный выше, вам, возможно, придется изменить внешний маршрутизатор с использования 192.168.1.x на использование внутренних адресов 10.0.0.x (что, вероятно, будет использовать шлюз). При необходимости это обычно очень простой процесс на большинстве маршрутизаторов.

Настройка вещей

Перенаправление порта

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

Точный метод настройки переадресации портов будет зависеть от шлюза или маршрутизатора, но если вы это сделаете, вам нужно будет переадресовать порт 80 (HTTP) как минимум, и вам, вероятно, также понадобится порт 443 (HTTPS) (для базовой сети). развитие как минимум).

Вы также можете перенаправлять порты для любых других служб, которые вы хотите сделать общедоступными (например, DNS, SMTP, FTP, SSH и т.д.) Или нестандартных портов (например, 8080 для доступа "альтернативного порта" к веб-серверу).

В любом случае, любые пересылки должны указывать на локальный IP-адрес (например, 10.0.0.x) сервера, обрабатывающего запрос (например, где установлен Apache или какая-либо другая программа).

Получение вашего публичного IP

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

Проверьте вещи в правильном порядке

  1. Убедитесь, что сервер / сервис работает на localhost, если это возможно.

  2. Убедитесь, что сервер / служба доступны для локальной сети (например, вы можете получить доступ к своему веб-серверу с локального IP-адреса с другого устройства в сети). Обычно это информирует вас о проблемах брандмауэра.

  3. Проверьте, что вы можете получить доступ к серверу / услуге из локальной сети через ваш публичный IP-адрес Comcast. Это поможет вам сообщить о любых проблемах с заколками.

  4. Убедитесь, что вы можете получить доступ к серверу / услуге из нелокальной сети (например, с помощью телефона через 3G / 4G) через публичный IP-адрес Comcast. Это должно сказать вам, действительно ли сервер / сервис общедоступен.

Если вы выбрали нестандартный сервисный порт (например, 8080), вам нужно будет добавить его к IP (например, 10.0.0.10:8080 или 99.100.101.102:8080). Для стандартных портов это не требуется (например, веб-сервер на порту 80).

Доменные имена

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

Другим дешевым вариантом является использование динамического DNS-провайдера, такого как No-IP или fear.org, у которого есть клиенты, которые периодически синхронизируют ваш общедоступный IP-адрес с доменным именем.

Обратите внимание, что (в настоящее время) Namecheap FreeDNS будет предоставлять бесплатные динамические DNS-сервисы для любого зарегистрированного домена, которым вы владеете (не только для Namecheap), если вам нужна такая настройка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .