Служба UDP вычислителя Google доступна только с внешних IP-адресов

У меня есть небольшой и простой UDP-сервер, который годами работает на нескольких хостингах.

Я только что создал новую виртуальную машину в облаке Google, Compute Engine, с Linux.

Настройки по умолчанию для небольшой машины (f1-micro (1 виртуальный ЦП, 0,6 ГБ памяти) Платформа ЦП Intel Sandy Bridge), только с изменениями:

  • статический общедоступный IP-адрес
  • правило брандмауэра для входящего трафика, разрешающее трафик UDP на порт сервера (22000)

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

Мне указали на изменение адреса, к которому привязан сервер, в качестве возможного решения, и, поскольку у меня есть доступ к исходному коду, я пробовал все, что мог вообразить, но безрезультатно (привязка к 127.0.0.1, 0.0.0.0, "localhost", конкретный IP ...).

Я также попытался добавить определенные правила брандмауэра для входящих и исходящих.

Существует масса информации о том, как исправить ситуацию, когда вы не можете подключиться извне - моя проблема противоположная, и я придерживаюсь идей.

Пинг и т. Д. Работают нормально.

Заранее спасибо

0
задан 3 August 2018 в 18:09
1 ответ

Решено!

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

Это не элемент администрирования сервера - это просто казалось как будто это могло быть.

0
ответ дан 5 December 2019 в 05:25

Теги

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