Моя рабочая станция 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
интерфейс, которому DHCP-сервер в маршрутизаторе назначил локальный IP-адрес — так я его узнаю.)
Когда я сохраняю указанные выше значения, на той же странице администратора отображается следующее:только для чтениязначения в нижней части:
---------------------------------------
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
. Фактически, я даже не могу выполнить ping a.b.c.d
. (Я знаю, что маршрутизатор может намеренно запрещать входящий ping на , a.b.c.d
но не уверен, что еще можно попробовать.)
Если я проверю публичный IP-адрес моей рабочей станции через такой сайт, какhttp://www.whatismyip.com/, я вижу, что мой публичный IP-адрес отображается e.f.g.h
как 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
решение1
Поскольку ваш маршрутизатор сообщает IP-адрес, отличный от вашего публичного IP-адреса, вполне вероятно, что ваш провайдер сети 3G не выделяет вам публичный IP-адрес, а вместо этого выполняетНАТ, что также объясняет, почему не работает переадресация портов.
Это подтверждается, если 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-адрес, и я мог принимать входящие соединения. Хотя это решило мою конкретную проблему, я обнаружил, что 3G IP-адреса меняются довольно быстро, что может вызвать проблемы с программным обеспечением, которое не предназначено для поддержки этого. Использование службы Dynamic DNS с очень низкимТТЛкак 1 (1 секунда) может сделать его пригодным для использования. Или вы можете получить бизнес-план со статическим IP.