У меня установлен сервер Ubuntu 12.10, и у меня есть статический IP-адрес от моего интернет-провайдера. Проверка IP-адреса приводит к успеху. Еще у меня есть модем Huawei Echo-Life HG-521. Я настраиваю переадресацию портов по инструкции от этот сайт. Я также проверил это с ребятами из Huawei. Проблема в том, что когда я ввожу свой статический IP-адрес в браузере, я всегда застреваю в интерфейсе входа в модем / маршрутизатор.
Переходя к IP-адресу, назначенному моему серверу Ubuntu (в моей сети), я вижу, что nginx правильно обслуживает страницы. Другое дело, что получить интерфейс моего модема / маршрутизатора можно только через мою локальную сеть. Я попросил друга попробовать мой статический IP-адрес, но он сказал, что получил пустую страницу. Я думаю, это означает, что шлюз недоступен из внешнего мира.
Есть идеи, почему у меня может быть эта проблема? Как мне решить эту проблему?
Вы никогда не говорите, какой внешний порт вы перенаправляете на сервер Ubuntu, и вы также никогда не говорите, на каком порту работает ваш веб-сервер Ubuntu. Я собираюсь принять порт 80
и / или 443
для обоих случаев.
Весьма вероятно, что, несмотря на правила переадресации портов, веб-страница управления модемом находится на порте. 80
и перехватывает трафик до того, как вступят в силу правила переадресации. Я видел этот точный сценарий в маршрутизаторах и модемах более низкого уровня. Вероятно, вам потребуется изменить порт управления для модема на другой, кроме порта. 80
. Порт 8080
это популярная альтернатива.
У вас есть 2 разные проблемы. Я обращусь к ним по отдельности.
Для удобства чтения сделаем некоторые предположения.
Router external IP : xxx.xxx.xxx.xxx
Router internal IP : 192.168.0.1
Server IP : 192.168.0.10
Your Desktop IP : 192.168.0.100
Проблема 1. Доступ к внутреннему сайту через перенаправление портов маршрутизатора
Это обычная проблема не только для домашнего офиса, но и для многих малых и средних офисов.
В этом случае предполагается, что порт 80 (для веб-трафика) будет перенаправлен с маршрутизатора на 192.168.0.10. Однако, поскольку веб-интерфейс конфигурации маршрутизатора также находится на порту 80. Это стало конфликтом.
Первым шагом будет вход в интерфейс маршрутизатора и изменение интерфейса для использования другого порта, например. 8000.
Это устранит конфликт на порту 80 для внутреннего интерфейса маршрутизатора. Вы должны (не на 100%) иметь доступ к серверу через внутренний IP-адрес маршрутизатора (http://192.168.0.1 или http://xxx.xxx.xxx.xxx).
Предполагается, что ваше правило переадресации портов правильно и активно.
PS: Существует небольшая вероятность того, что даже переадресация портов настроена правильно, и вы по-прежнему не можете получить доступ к своему серверу через маршрутизатор из внутренней сети. В этом случае маршрутизатор не имеет отражения порта или требует дополнительной настройки. Надеюсь, это не ваш случай.
Проблема 2 - Перенаправление портов и внешний доступ
Сбой эхо-запроса из внешнего источника может не быть реальной проблемой, поскольку многие маршрутизаторы / модемы по умолчанию игнорируют пинг. Это можно изменить в веб-интерфейсе.
Отсутствие доступа к вашему веб-серверу с внешнего IP-адреса имеет несколько возможностей
PS: Обновите вопрос с моделью маршрутизатора, если вам нужна помощь или указатель для его настройки через веб-интерфейс.
Настроить перенаправление портов
Я проверил ссылку portforward.com в OP. А также официальное руководство. Так как в последнем вообще нет информации о пробросе портов. Приходится полагаться на снимок экрана с сайта.
Конфигурация переадресации портов должна быть следующей
Type: Customization
Interface: <See (1) below>
Remote Host: <I believe it should be leave empty>
External Start Port: 80
External End Port: 80
Internal Host: 192.168.0.10
Internal Port: 80
Mapping Name: Seerver-Ext80
(1) Я считаю, что для каждого интерфейса (внутреннего / внешнего) необходимо одно правило. Если сомневаетесь, обновите вопрос списком названий интерфейсов.