Назад | Перейти на главную страницу

Подключение к сокету Python за маршрутизатором

У меня есть сценарий Python на моем сервере, который открывает сокет, к которому можно подключиться откуда угодно. Он работает на моем тестовом сервере digitalocean, у которого есть общедоступный IP-адрес, как показано ifconfig. Он не работает на моем рабочем сервере, который находится за маршрутизатором и, возможно, брандмауэром (ifconfig показывает частный IP-адрес)

Нужно ли мне вмешиваться в настройки роутера и разрешать переадресацию портов?

Я установил apache, поскольку я понимаю, что он должен делать что-нибудь с сетью (например, сокеты), хотя я не размещаю никаких веб-страниц или материалов на основе браузера, только сокет.

Спасибо

У вас есть несколько вариантов разрешения внешнего доступа к вашему серверу с частным IP:

  1. Перенаправление порта от маршрутизатора / межсетевого экрана, который защищает этот сервер. Как это сделать, зависит от типа маршрутизатора / межсетевого экрана.
  2. С помощью нгрок чтобы обойти брандмауэр.
  3. Создайте VPN-соединение с локальной сетью сервера - снова через маршрутизатор / брандмауэр. Опять же, зависит от типа маршрутизатора / межсетевого экрана.
  4. Запустите какой-нибудь король прокси на маршрутизаторе / брандмауэре, который проксирует входящие соединения на внутренний IP-адрес вашего сервера. Какой прокси зависит от протокола, который вы используете, для HTTP я предлагаю haproxy или nginx.

Зависит от того, чего вам нужно достичь.

Если вам нужен постоянный всемирный доступ к сервису, который вы используете, я предлагаю номер 1 или 4.

Если вы хотите просто провести временные тесты, номер 2 или 3.