Переадресация портов не работает в DSL Router

Я использую соединение BSNL BroadBand, и предоставляется маршрутизатор DSL, который может выступать в качестве шлюза по умолчанию для многих беспроводных устройств. Одним из таких устройств является мой сервер. Я купил в аренду статический ip. Так что весь трафик на тот ip направлен на роутер.
Но для пересылки запроса от маршрутизатора на мой сервер (который подключен с помощью Wi-Fi) требуется переадресация портов (здесь можно получить помощь). Переадресацию портов для BSNL DSL Router можно выполнить, перейдя в VIRTUAL SERVER раздел NAT раздел. Там я перенаправил все запросы через порт 8080 (мой JBOSS использует порт 8080) на сервер, который имеет внутренний IP-адрес 192.168.1.7,
Я могу подключиться к интернету с сервера (192.168.1.7), все устройства, подключенные к маршрутизатору через Wi-Fi, могут пинговать друг друга. Но трафик через порт 8080 не направляется на сервер.
Каковы могут быть возможные причины этого?

НОТА

Я могу получить доступ к серверу, когда URL моего запроса http://192.168.1.7:8080/myapp, Но когда мой URL http://118.XXX.XXX.XXX:8080/myapp, Я не могу получить к нему доступ. 118.xxx.xxx.xxx - это публичный IP-адрес маршрутизатора.

6 ответов

Решение

Это не будет работать внутри вашей локальной сети. Это будет работать только из остального Интернета. Вот почему:

  1. Вы пытаетесь получить доступ к общедоступному IP-адресу с компьютера локальной сети.

  2. Устройство видит, что адрес находится за пределами локальной сети, и отправляет пакет на маршрутизатор.

  3. Маршрутизатор NAT назначает адрес машине с локальной сетью, но адрес источника не изменяется (по-прежнему машина локальной сети, которая отправила запрос).

  4. Ваш сервер получает запрос и отправляет ответ источнику соединения (все еще в локальной сети).

  5. Машина ЛВС получает ответ от сервера, но ожидает ответа от маршрутизатора (поскольку он подключен к общедоступному IP-адресу, он должен получить ответ от общедоступного IP-адреса, а не от адреса ЛВС сервера). Поскольку ответ имеет неправильный адрес источника, он не принимается. К сожалению.

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

Многие маршрутизаторы не позволяют соединениям, которые они перенаправили из локальной сети на свой порт WAN, проходить обратно в ЛВС (петля NAT или шпилька). Тогда WAN IP становится недоступным изнутри, и вам придется использовать разные адреса для связи с маршрутизатором или машинами, на которые были перенаправлены порты, в вашем случае 192.168.1.7. Вы можете проверить порт вперед снаружи. С веб-сервером самый простой способ сделать это, вероятно, будет использовать прокси, такой как http://hidemyass.com/.

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

  1. Проверьте, можете ли вы получить доступ к 8080 напрямую (используя ваш IP 192.168)
  2. затем в маршрутизаторе перенаправьте 8080 на сервер 8080 jboss, иногда сам маршрутизатор может прослушивать 8080, в этом случае измените номер порта.

2)

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

Если вы хотите протестировать сайт через внешний IP, то вы можете использовать прокси. Мне нравится Anonymouse, но вы можете выбрать один из тысяч на proxy.org.

См. Является ли NAT Loopback на моем маршрутизаторе проблемой безопасности? для некоторых дебатов о том, является ли поиск NAT безопасным или нет.

Маршрутизаторы, купленные в BSNL, в основном отключены средствами переадресации портов. То есть, даже если вы можете видеть страницы переадресации портов и устанавливать их, внутренняя блокировка заблокирует порт.

Купите сторонний маршрутизатор, такой как netgear, linksys .., чтобы вы могли использовать переадресацию портов.

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

Также проверьте брандмауэр сервера. 1-я рекомендация Срина также указывает на это.

Другие вопросы по тегам