3G Router поддерживает переадресацию портов, но не работает

562
Harry

Моя рабочая станция Linux использует USB-ключ MTS 3G Wifi для доступа в Интернет - эта рабочая станция не имеет другого сетевого подключения.

На этой странице администрирования перенаправления портов маршрутизатора я могу указать следующий набор из 4 значений в строке:

--------------------------------------------------------- Config name | Local port | Wan port | MAC  --------------------------------------------------------- 1. Service A | 8080 | 8888 | aa-bb-cc-dd-ee-ff 2. Service B | 9090 | 9999 | aa-bb-cc-dd-ee-ff ... --------------------------------------------------------- 

MAC-адрес, который я указываю выше, является тем, который я получаю из вывода ifconfig. (Это wlan1интерфейс, которому локальный IP-адрес назначен ему DHCP-сервером в маршрутизаторе - вот как я его узнаю.)

Когда я сохраняю вышеуказанные значения, та же самая страница администратора показывает следующие значения только для чтения внизу:

--------------------------------------- Config Name | Port | IP Address --------------------------------------- 1. Service A | 8888 | a.b.c.d 2. Service B | 9999 | a.b.c.d ... --------------------------------------- 

Этот вывод только для чтения, кажется, подсказывает мне, что Service Aпрослушивание на локальном порту 8080может быть доступно из общедоступного Интернета через a.b.c.d:8888. Но я не могу получить доступ Service A. На самом деле, я не могу даже пинговать a.b.c.d. (Я знаю, что маршрутизатор может намеренно запрещать входящий пинг, a.b.c.dно не уверен, что еще можно попробовать.)

Если я проверю общедоступный IP-адрес моей рабочей станции через сайт, например http://www.whatismyip.com/, я увижу, что e.f.g.hвместо моего публичного IP-адреса указывается a.b.c.d!

Итак, как мне перенаправить общедоступный порт WAN 8888на 8080работающий локальный порт Service A, а затем получить доступ к услуге A из общедоступного Интернета?

РЕДАКТИРОВАТЬ:

Мои IP-адреса следующие:

  • a.b.c.d = 100.84.c.d
  • e.f.g.h = 163.47.g.h
0

1 ответ на вопрос

5
Elahn

Поскольку ваш маршрутизатор сообщает IP-адрес, отличный от вашего общедоступного IP-адреса, вероятно, ваш сетевой провайдер 3G не выделяет вам общедоступный IP-адрес и вместо этого выполняет NAT, что также объясняет, почему не работает переадресация портов.

Это подтверждается, если abcd находится в диапазоне частных IP-адресов: от 10.0.0.0 до 10.255.255.255. С 172.16.0.0 по 172.31.255.255. С 192.168.0.0 по 192.168.255.255.

Когда я столкнулся с этой проблемой, я позвонил своему провайдеру 3G, и они «переключили меня в свою общедоступную сеть», что означало, что мне был назначен общедоступный IP-адрес и я могу принимать входящие соединения. Хотя это решило мою конкретную проблему, я обнаружил, что IP-адреса 3G меняются довольно быстро, что может вызвать проблемы с программным обеспечением, не предназначенным для такой поддержки. Использование службы динамического DNS с очень низким TTL, таким как 1 (1 секунда), может сделать его пригодным для использования. Или вы можете получить бизнес-план со статическим IP.

`abcd` не принадлежит частному диапазону (пожалуйста, см. РЕДАКТИРОВАТЬ). Кроме того, я не понимал часть «Использование службы динамического DNS с очень низким TTL, например, 1 ...», поскольку в наши дни TTL понимается в количестве прыжков, а не в секундах. Вы имели в виду: DDNS с высокой частотой обновления / обновления? Harry 9 лет назад 0
TTL - это предел пересылки, когда речь идет о IP-пакетах, но в контексте DNS это время в секундах, прежде чем истекает срок записи DNS, и клиент снова запрашивает у сервера имен IP-адрес. Elahn 9 лет назад 0
Да, целью низкого TTL на DDNS является достижение высокой частоты обновления / обновления. Есть ли у маршрутизатора страница состояния, на которой отображается IP-адрес WAN? Если так, то это то же самое, что abcd или efgh? Попробуйте обновить страницу маршрутизатора и whatismyip.com одновременно и посмотреть, получите ли вы один и тот же адрес. Кроме того, часто обновляйте страницы в течение 5 минут, чтобы увидеть, как быстро меняется ваш IP. Как вы тестируете переадресацию портов? Elahn 9 лет назад 0
(1) Спасибо за разъяснение TTL. (2) Да, у маршрутизатора есть страница состояния, показывающая адрес WAN - вот откуда я сказал, что получил адрес abcd. (3) Фактически, этот IP-адрес остается довольно постоянным, пока я не отключу и не подключу маршрутизатор! (4) Этот маршрутизатор даже предоставляет опцию DDNS через `no-ip.com`, которую я не использую, поскольку мой WAN-адрес вообще не меняется во время сеанса. Но использование его в любом случае тоже не помогает. Harry 9 лет назад 0
(5) Для тестирования я использую веб-сервер на основе python, обслуживающий файлы из моего Linux-бокса. Сервер прослушивает локальный порт `8080` на всех интерфейсах, и я пытаюсь (безуспешно) подключиться к` abcd: 8888` с той же или другой машины. Тестирование `localhost: 8080` очевидно работает! (6) Как вы можете видеть в моем EDIT, `100.84.cd` не находится в диапазоне частных адресов. Harry 9 лет назад 0
Многие маршрутизаторы не будут перенаправлять соединения на WAN IP с локального интерфейса. Вы пытались подключиться из коробки в другом месте в Интернете? Это не должно иметь никакого значения на веб-сервере, но попробуйте переадресовать 8080 на 8080 ... Я не уверен, что это маршрутизатор, протокол или сервер, но пересылка на тот же порт иногда устраняет странные проблемы. Efgh меняется во время сеанса или между сеансами? Я не знаю, почему ваш публичный IP-адрес отличается от вашего WAN-IP, возможно, ваш провайдер неправильно настроил свой прозрачный прокси-сервер. Elahn 9 лет назад 0

Похожие вопросы