Вопрос: Не удается получить доступ к серверу Ubuntu за маршрутизатором Huawei с переадресацией портов


У меня установлен сервер Ubuntu 12.10 и у меня есть статический IP-адрес от моего интернет-провайдера. Pinging IP приводит к успеху. У меня также есть модем Huawei Echo-Life HG-521. Я настраиваю перенаправление портов с инструкцией из этот сайт, Я также проверил это с парнями в Huawei. Проблема в том, что когда я ввожу свой статический IP-адрес в браузере, я всегда застрял в интерфейсе входа в модем / маршрутизатор.

Переходя к IP-адресу, назначенному моему серверу Ubuntu (в моей сети), я вижу, что nginx правильно обслуживает страницы. Другое дело, что получение моего модема / маршрутизатора возможно только через локальную сеть. Я попросил друга попробовать мой статический IP-адрес, но он сказал, что у него пустая страница. Я думаю, это означает, что шлюз недоступен из внешнего мира.

Любая идея, почему у меня может быть эта проблема? Как мне устранить эту проблему?


5
2017-12-23 01:15


Источник


Хороший первый вопрос. Пара идей. Попробуйте временно отключить iptables, если он включен. Также, если вы идете в grc.com и используйте ShieldsUP! сервис под услугами, чтобы узнать, какие порты вы открыли. - slm
Переадресация портов влияет только на соединения из-за пределов локальной сети. Вы не можете протестировать его из локальной сети. - David Schwartz
@DavidSchwartz Вы говорите, что во всех случаях кто-то со стороны локальной сети модема / маршрутизатора, пытающегося получить доступ к сокету WAN, не будет применять к ним правила пересылки портов? - Wesley
@slm Я попробовал grc.com и получил следующие строки для портов 22 и 80: 22|SSH|Closed|Your computer has responded that this port exists but is currently closed to connections.  80|HTTP|Stealth|There is NO EVIDENCE WHATSOEVER that a port (or even any computer) exists at this IP address! - rendekarf
@WesleyDavid: Да. Переадресация портов может работать только извне. Вам нужен шпилька NAT (форма двойного NAT), чтобы отражать локальное подключение к локальной службе. Видеть этот ответ для подробностей (это касается случая, когда он является одним и тем же машином, но он практически одинаковый для другого компьютера в той же локальной сети - сервер получает ответ с локальным IP-адресом и отклоняет его). - David Schwartz


Ответы:


Вы никогда не говорите, какой внешний порт вы отправляете на сервер Ubuntu, и вы также никогда не говорите, на каком порту работает ваш веб-сервер Ubuntu. Я собираюсь взять порт 80 и / или 443 для обоих случаев.

Весьма вероятно, что, несмотря на правила переадресации портов, страница веб-управления модемом припаркована на порту 80 и перехватывает трафик перед правилами пересылки. Я видел этот точный сценарий в более низких маршрутизаторах и модемах. Вам, скорее всего, потребуется изменить порт управления для модема на что-то другое, кроме порта 80, порт 8080 является популярной альтернативой.


1
2017-12-23 02:44



Когда я перехожу к интерфейсу своего маршрутизатора, чтобы установить, например, порт 80, который будет перенаправлен на мой внутренний IP-адрес сервера, я получаю окно предупреждения, в котором говорится, что я должен использовать порт 8080 для доступа к интерфейсу маршрутизатора в следующий раз. Кроме того, при установке порта 22 для ssh появляется аналогичное поле и говорит мне использовать порт 2222 в следующий раз, когда я захочу получить доступ к ssh-серверу шлюза. Плюс, когда я назвал техническую поддержку, парень сказал, что пересылку портов достаточно. - rendekarf


У вас есть 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 - Перенаправление портов и внешний доступ

Ошибка Ping от внешнего не может быть реальной проблемой, так как многие маршрутизаторы / модемы настроены на игнорирование пинга по умолчанию. Это может быть изменение от веб-интерфейса.

Невозможность доступа к вашему веб-серверу из внешнего IP-адреса имеет несколько возможностей

  • Внешний IP является выигрышным. Для быстрой проверки со своего внутреннего рабочего стола перейдите к http://whatismyip.com ,
  • Правило перенаправления портов неактивно из-за проблемы 1
  • Правило переадресации портов не было настроено или неправильно настроено. Проверьте правило в веб-интерфейсе маршрутизатора.

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) Я считаю, что для каждого интерфейса (внутреннего / внешнего) требуется одно правило. Если есть сомнения, обновите вопрос со списком имени интерфейса.


0
2017-12-23 02:52



Я обновил свой вопрос с помощью модели маршрутизатора, как вы рекомендовали. Во-первых, я могу получить доступ к моему сайту через 192.168.0.10 (используя вашу терминологию), внутренний ip. Я уверен, что правила переадресации портов установлены правильно (я установил их под надзорную техническую поддержку). Также статический ip также задан правильно, потому что, когда я ввожу в адресную строку, он принимает меня непосредственно в интерфейс модема. Я также могу подтвердить это через (whatismyip.com). О выпуске №1 я добавил комментарий к WesleyDavid. - rendekarf
Обновлено с помощью настройки перенаправления портов. - John Siu