Я использую соединение BSNL BroadBand, и предоставляется маршрутизатор DSL, который может выступать в качестве шлюза по умолчанию для многих беспроводных устройств. Одним из таких устройств является мой сервер. Я купил в аренду статический ip. Так что весь трафик на тот ip направлен на роутер.
Но направить запрос от маршрутизатора к моему серверу (который подключен с помощью Wi - Fi) требует перенаправления портов (получила помощь от сюда). Переадресацию портов для BSNL-маршрутизатора DSL можно выполнить, перейдя в раздел VIRTUAL SERVER
раздела NAT
. Там я перенаправил все запросы через порт 8080 (мой JBOSS использует порт 8080) на сервер, который имеет внутренний IP-адрес 192.168.1.7
.
Я могу подключиться к интернету с сервера (192.168.1.7
), все устройства, подключенные к маршрутизатору через wifi, могут пинговать друг друга. Но трафик через порт 8080 не направляется на сервер.
Каковы могут быть возможные причины этого?
НОТА
Я могу получить доступ к серверу, когда мой URL-адрес запроса http://192.168.1.7:8080/myapp
. Но когда мой URL-адрес http://118.XXX.XXX.XXX:8080/myapp
. Я не могу получить к нему доступ. 118.xxx.xxx.xxx - это публичный IP-адрес маршрутизатора.
6 ответов
Это не будет работать изнутри вашей локальной сети. Это будет работать только из остального Интернета. Вот почему:
Вы пытаетесь получить доступ к общедоступному IP-адресу с локальной сети.
Устройство видит, что адрес находится за пределами локальной сети, и отправляет пакет на маршрутизатор.
Маршрутизатор NAT назначает адрес машине с локальной сетью, но адрес источника не изменяется (по-прежнему машина локальной сети, которая отправила запрос).
Ваш сервер получает запрос и отправляет ответ источнику соединения (все еще в локальной сети).
Машина локальной сети получает ответ от сервера, но ожидает ответа от маршрутизатора (поскольку он подключен к общедоступному IP-адресу, он должен получить ответ от общедоступного IP-адреса, а не от адреса локальной сети сервера). Поскольку ответ имеет неверный адрес источника, он не принимается. К сожалению.
Переадресация портов (перезапись адреса назначения) работает только снаружи внутрь, а не изнутри внутрь. Для этого вам понадобится шпилька NAT, которая переписывает адрес назначения в дополнение к источнику.
Многие маршрутизаторы не позволяют соединениям, которые они перенаправили из локальной сети на свой порт WAN, проходить обратно в ЛВС (петля NAT или шпилька). В этом случае IP-адрес WAN недоступен изнутри, и вам придется использовать разные адреса для связи с маршрутизатором или машинами, на которые были перенаправлены порты, в вашем случае 192.168.1.7. Вы можете проверить порт вперед снаружи. С веб-сервером самый простой способ сделать это, вероятно, будет использовать прокси, такой как http://hidemyass.com.
Если вы хотите получить доступ к серверу через доменное имя, вы столкнетесь с той же проблемой. DNS-серверы направят вас к общедоступному IP-адресу. Редактируя файлы хостов на локальных машинах, вы можете вместо этого указывать на локальный IP-адрес сервера, и вы сможете использовать один и тот же адрес везде.
- Проверьте, можете ли вы получить доступ к 8080 напрямую (используя ваш IP 192.168)
- затем в маршрутизаторе перенаправьте 8080 на сервер 8080 jboss, иногда сам маршрутизатор может прослушивать 8080, в этом случае измените номер порта.
Маршрутизаторы, купленные в BSNL, в основном отключены для переадресации портов. То есть, даже если вы можете видеть страницы переадресации портов и устанавливать их, внутренняя блокировка заблокирует порт.
Купите сторонний маршрутизатор, такой как netgear, linksys .., чтобы вы могли использовать переадресацию портов.
2)
Это, вероятно, потому что ваш маршрутизатор не поддерживает поиск NAT. Вы не сможете получить доступ к внутренним компьютерам, используя ваш внешний IP, находясь в локальной сети, но внешний IP будет работать для остального мира.
Если вы хотите протестировать сайт через внешний IP, то вы можете использовать прокси. Мне нравится Anonymouse, но вы можете выбрать один из тысяч на proxy.org.
См. Является ли NAT Loopback на моем маршрутизаторе проблемой безопасности? для некоторых дебатов о том, является ли поиск NAT безопасным или нет.
Там могут быть некоторые проблемы с брандмауэром. Некоторые маршрутизаторы DSL могут иметь межсетевой экран. Несмотря на переадресацию портов, иногда вам нужно создать правило или полностью отключить этот внутренний брандмауэр.
Также проверьте брандмауэр сервера. 1-я рекомендация Срина также указывает на это.