Я использую простой сервер, использующий python -m SimpleHTTPServer и настроил переадресацию портов. Я также за vpn.

Когда я пытаюсь связаться с myexternalIP_ISP:myport с того же компьютера, я вижу папку, в которой я запустил сервер, и SimpleHTTPServer показывает соединение с IP-адресом моего провайдера vpn (т. Е. Внешним IP-адресом, расположенным в очень далекой стране, которая является отличается от myexternalIP_ISP выше).

Когда я пытаюсь подключиться к моему серверу через мой телефон (myexternalIP_ISP:myport , нет wifi, тот же vpn и тот же vpn IP в соответствии с whatsmyip), я получаю сообщение об ошибке connection has timed out .

Мой простой сервер также не показывает никаких попыток подключения.

Есть ли способ выяснить, что происходит? Почему я не могу подключиться?

Мой роутер - TP-Link Archer D7, мой телефон - андроид, работающий на CyanogenMod 13, и мой сервер работает под управлением Debian 8, Python 2.7.

Обновить

Я сделал еще два испытания:

  1. Включить удаленное управление маршрутизатором - я смог подключиться к маршрутизатору через соединение 4g и vpn моего телефона
  2. Запустите сервер программного обеспечения Calibre Book - то же самое, что и с сервером Python: я могу использовать локальный компьютер для подключения с использованием внешнего IP-адреса через vpn, однако я не могу подключиться через 4g-соединение моего телефона даже при использовании того же самого vpn

Я нахожу это действительно странным ...

1 ответ1

1

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

Если вы начинаете использовать DNS, способ обойти это (и это непросто) - использовать разделенный DNS, чтобы ваша ЛВС получала IP-адрес локальной сети сервера, а остальной мир - IP-адрес глобальной сети. Интересным моментом является запуск 2 серверов имен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .