Как открыть определенный порт, такой как 9090 в Google Compute Engine

У меня есть 2 экземпляра Google Compute Engine, и я хочу открыть порт 9090 в обоих экземплярах. Я думаю, что нам нужно добавить некоторые правила брандмауэра.

Можете ли вы сказать мне, как я могу это сделать?

Ответ 1

Вам нужно:

  1. Перейдите на cloud.google.com.

  2. Перейти к моей консоли

  3. Выберите свой проект

  4. Выберите "Сеть"> "Сеть VPC".

  5. Выберите "Правила брандмауэров"

  6. Выберите "Создать правило брандмауэра"

  7. Чтобы применить правило для выбора экземпляров ВМ, выберите "Цели"> "Заданные целевые теги" и введите в "Целевые теги" имя тега. Этот тег будет использоваться для применения нового правила брандмауэра к любому экземпляру, который вы хотите. Затем убедитесь, что к экземплярам применен сетевой тег.

  8. Чтобы разрешить входящие TCP-подключения к порту 9090, в "Протоколы и порты" введите tcp:9090

  9. Нажмите Создать

Я надеюсь, это поможет вам.

Обновление Пожалуйста, обратитесь к документации, чтобы настроить ваши правила.

Ответ 2

Ниже приведен подход командной строки для ответа на этот вопрос:

gcloud compute firewall-rules create <rule-name> --allow tcp:9090 --source-tags=<list-of-your-instances-names> --source-ranges=0.0.0.0/0 --description="<your-description-here>"

Это откроет порт 9090 для имен, которые вы назовете. Опускание --source-tags и --source-ranges применит правило ко всем экземплярам. Более подробная информация содержится в документации Gcloud и руководство пользователя firewall-rule create

Предыдущие ответы велики, но Google рекомендует использовать новые команды gcloud вместо команд gcutil.

PS: Чтобы получить представление о правилах брандмауэра Google, запустите gcloud compute firewall-rules list и просмотрите все правила брандмауэра.

Ответ 3

Вам нужно добавить правило брандмауэра, чтобы открыть входящий доступ к tcp:9090 к вашим экземплярам. Если у вас больше двух экземпляров, и вы хотите открыть только 9090 для этих двух, вам нужно убедиться, что есть тег, который разделяют эти два экземпляра. Вы можете добавлять или обновлять теги через консоль или в командной строке; Я бы рекомендовал использовать GUI для этого, если это необходимо, потому что он обрабатывает цикл read-modify-write с помощью setinstancetags.

Если вы хотите открыть порт 9090 для всех экземпляров, вы можете создать правило брандмауэра, например:

gcutil addfirewall allow-9090 --allowed=tcp:9090

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

Если вы хотите открыть порт 9090 для двух экземпляров, обслуживающих ваше приложение, убедитесь, что у них есть тег типа my-app, а затем добавьте брандмауэр следующим образом:

gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app

Подробнее о о создании и управлении брандмауэрами в GCE здесь.

Ответ 4

У меня была такая же проблема, как и у вас, и я мог ее решить, следуя инструкциям @CarlosRojas с небольшой разницей. Вместо создания нового правила брандмауэра я отредактировал default-allow-internal один, чтобы принимать трафик из любого места, поскольку создание новых правил не имело никакого значения.

Ответ 5

Этот вопрос старый, и Карлос Рохас ответит хорошо, но я думаю, что я должен опубликовать несколько вещей, которые следует иметь в виду при попытке открыть порты.

Первое, что нужно запомнить, это то, что раздел Networking переименован в VPC Networking. Поэтому, если вы пытаетесь выяснить, где доступна опция " Правила межсетевого экрана", посмотрите на сеть VPC.

Во-вторых, если вы пытаетесь открыть порты на виртуальной ufw Linux, ни в коем случае не пытайтесь открыть порт с ufw команды ufw. Я попытался использовать это и потерял доступ SSH к виртуальной машине. Так что не повторяй мою ошибку.

В-третьих, если вы пытаетесь открыть порты на виртуальной машине Windows, вам необходимо создать правила брандмауэра внутри виртуальной машины также в брандмауэре Windows вместе с сетью VPC → Правила брандмауэра. Порт должен быть открыт в обоих правилах брандмауэра, в отличие от виртуальной машины Linux. Поэтому, если вы не получаете доступ к порту извне виртуальной машины, проверьте, открыли ли вы порт в консоли GCP и брандмауэре Windows.

Последнее (очевидное): не открывайте порты без необходимости. Закройте порты, как только они вам больше не понадобятся.

Я надеюсь, что этот ответ полезен.

Ответ 6

Создание правил брандмауэра

Пожалуйста, просмотрите компоненты правил брандмауэра [1], если вы не знакомы с правилами брандмауэра в GCP. Правила брандмауэра определяются на уровне сети и применяются только к сети, в которой они созданы; однако имя, которое вы выбираете для каждого из них, должно быть уникальным для проекта.

Для облачной консоли:

  1. Перейдите на страницу правил брандмауэра в консоли облачной платформы Google.
  2. Нажмите Создать правило брандмауэра.
  3. Введите имя для правила брандмауэра. Это имя должно быть уникальным для проекта.
  4. Укажите Сеть, в которой будет реализовано правило брандмауэра.
  5. Укажите Приоритет правила. Чем меньше число, тем выше приоритет.
  6. Для направления движения выберите вход или выход.
  7. Для действия на матч выберите разрешить или запретить.
  8. Укажите Цели правила.

    • Если вы хотите, чтобы правило применялось ко всем экземплярам в сети, выберите Все экземпляры в сети.
    • Если вы хотите, чтобы правило применялось для выбора экземпляров по сетевым (целевым) тегам, выберите "Заданные целевые теги", затем введите теги, к которым правило должно применяться, в поле "Целевые теги".
    • Если вы хотите, чтобы правило применялось для выбора экземпляров по связанной учетной записи службы, выберите "Указанная учетная запись службы", укажите, находится ли учетная запись службы в текущем проекте или другую в области "Учетная запись службы", и выберите или введите имя учетной записи службы в целевой службе. поле аккаунта.
  9. Для правила входа укажите фильтр источника:

    • Выберите диапазоны IP-адресов и введите блоки CIDR в поле "Диапазоны IP-адресов источника", чтобы определить источник входящего трафика по диапазонам IP-адресов. Используйте 0.0.0.0/0 для источника из любой сети.
    • Выберите "Подсети", затем отметьте те, которые вам нужны, во всплывающей кнопке "Подсети", чтобы определить источник входящего трафика по имени подсети.
    • Чтобы ограничить источник по сетевому тегу, выберите "Исходные теги", затем введите сетевые теги в поле "Исходные теги". Для ограничения количества исходных тегов см. Квоты и ограничения VPC. Фильтрация по тегу источника доступна только в том случае, если цель не указана учетной записью службы. Дополнительные сведения см. В разделе "Фильтрация по учетной записи службы и тегу сети".
    • Чтобы ограничить источник учетной записью службы, выберите "Учетная запись службы", укажите, находится ли учетная запись службы в текущем проекте или другая в области "Учетная запись службы", и выберите или введите имя учетной записи службы в поле "Исходная учетная запись службы". Фильтрация по исходной учетной записи службы доступна только в том случае, если цель не указана сетевым тегом. Для получения дополнительной информации см. Раздел Фильтрация по учетной записи службы и сетевому тегу.
    • Укажите фильтр второго источника, если это необходимо. Фильтры вторичного источника не могут использовать те же критерии фильтра, что и первичный.
  10. Для выходного правила укажите фильтр назначения:

    • Выберите диапазоны IP-адресов и введите блоки CIDR в поле "Диапазоны IP-адресов назначения", чтобы определить назначение для исходящего трафика по диапазонам IP-адресов. Используйте 0.0.0.0/0, чтобы значить везде.
    • Выберите "Подсети", затем отметьте те, которые вам нужны, во всплывающей кнопке "Подсети", чтобы определить назначение для исходящего трафика по имени подсети.
  11. Определите протоколы и порты, к которым будет применяться правило:

    • Выберите Разрешить все или Запретить все, в зависимости от действия, чтобы правило применялось ко всем протоколам и портам.

    • Определите конкретные протоколы и порты:

      • Выберите tcp, чтобы включить протокол TCP и порты. Введите все или список портов через запятую, например, 20-22, 80, 8080.
      • Выберите udp, чтобы включить протокол UDP и порты. Введите все или список портов через запятую, например 67-69, 123.
      • Выберите Другие протоколы, чтобы включить протоколы, такие как icmp или sctp.
  12. (Необязательно) Вы можете создать правило брандмауэра, но не применять его, установив для него состояние принудительного отключения отключенным. Нажмите Отключить правило, затем выберите Отключено.

  13. (Необязательно) Вы можете включить ведение журнала правил брандмауэра:

    • Нажмите Журналы> Вкл.
    • Нажмите Включить.
  14. Нажмите Создать.

Ссылка: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components

Ответ 8

Мне пришлось исправить это, уменьшив приоритет (сделав его выше). Это вызвало немедленный ответ. Не то, что я ожидал, но это сработало.