Как открыть определенный порт, такой как 9090 в Google Compute Engine
У меня есть 2 экземпляра Google Compute Engine, и я хочу открыть порт 9090 в обоих экземплярах. Я думаю, что нам нужно добавить некоторые правила брандмауэра.
Можете ли вы сказать мне, как я могу это сделать?
Ответы
Ответ 1
Вам нужно:
-
Перейдите на cloud.google.com.
-
Перейти к моей консоли
-
Выберите свой проект
-
Выберите "Сеть"> "Сеть VPC".
-
Выберите "Правила брандмауэров"
-
Выберите "Создать правило брандмауэра"
-
Чтобы применить правило для выбора экземпляров ВМ, выберите "Цели"> "Заданные целевые теги" и введите в "Целевые теги" имя тега. Этот тег будет использоваться для применения нового правила брандмауэра к любому экземпляру, который вы хотите. Затем убедитесь, что к экземплярам применен сетевой тег.
-
Чтобы разрешить входящие TCP-подключения к порту 9090, в "Протоколы и порты" введите tcp:9090
-
Нажмите Создать
Я надеюсь, это поможет вам.
Обновление Пожалуйста, обратитесь к документации, чтобы настроить ваши правила.
Ответ 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. Правила брандмауэра определяются на уровне сети и применяются только к сети, в которой они созданы; однако имя, которое вы выбираете для каждого из них, должно быть уникальным для проекта.
Для облачной консоли:
- Перейдите на страницу правил брандмауэра в консоли облачной платформы Google.
- Нажмите Создать правило брандмауэра.
- Введите имя для правила брандмауэра. Это имя должно быть уникальным для проекта.
- Укажите Сеть, в которой будет реализовано правило брандмауэра.
- Укажите Приоритет правила. Чем меньше число, тем выше приоритет.
- Для направления движения выберите вход или выход.
- Для действия на матч выберите разрешить или запретить.
-
Укажите Цели правила.
- Если вы хотите, чтобы правило применялось ко всем экземплярам в сети, выберите Все экземпляры в сети.
- Если вы хотите, чтобы правило применялось для выбора экземпляров по сетевым (целевым) тегам, выберите "Заданные целевые теги", затем введите теги, к которым правило должно применяться, в поле "Целевые теги".
- Если вы хотите, чтобы правило применялось для выбора экземпляров по связанной учетной записи службы, выберите "Указанная учетная запись службы", укажите, находится ли учетная запись службы в текущем проекте или другую в области "Учетная запись службы", и выберите или введите имя учетной записи службы в целевой службе. поле аккаунта.
-
Для правила входа укажите фильтр источника:
- Выберите диапазоны IP-адресов и введите блоки CIDR в поле "Диапазоны IP-адресов источника", чтобы определить источник входящего трафика по диапазонам IP-адресов. Используйте 0.0.0.0/0 для источника из любой сети.
- Выберите "Подсети", затем отметьте те, которые вам нужны, во всплывающей кнопке "Подсети", чтобы определить источник входящего трафика по имени подсети.
- Чтобы ограничить источник по сетевому тегу, выберите "Исходные теги", затем введите сетевые теги в поле "Исходные теги". Для ограничения количества исходных тегов см. Квоты и ограничения VPC. Фильтрация по тегу источника доступна только в том случае, если цель не указана учетной записью службы. Дополнительные сведения см. В разделе "Фильтрация по учетной записи службы и тегу сети".
- Чтобы ограничить источник учетной записью службы, выберите "Учетная запись службы", укажите, находится ли учетная запись службы в текущем проекте или другая в области "Учетная запись службы", и выберите или введите имя учетной записи службы в поле "Исходная учетная запись службы". Фильтрация по исходной учетной записи службы доступна только в том случае, если цель не указана сетевым тегом. Для получения дополнительной информации см. Раздел Фильтрация по учетной записи службы и сетевому тегу.
- Укажите фильтр второго источника, если это необходимо. Фильтры вторичного источника не могут использовать те же критерии фильтра, что и первичный.
-
Для выходного правила укажите фильтр назначения:
- Выберите диапазоны IP-адресов и введите блоки CIDR в поле "Диапазоны IP-адресов назначения", чтобы определить назначение для исходящего трафика по диапазонам IP-адресов. Используйте 0.0.0.0/0, чтобы значить везде.
- Выберите "Подсети", затем отметьте те, которые вам нужны, во всплывающей кнопке "Подсети", чтобы определить назначение для исходящего трафика по имени подсети.
-
Определите протоколы и порты, к которым будет применяться правило:
-
Выберите Разрешить все или Запретить все, в зависимости от действия, чтобы правило применялось ко всем протоколам и портам.
-
Определите конкретные протоколы и порты:
- Выберите tcp, чтобы включить протокол TCP и порты. Введите все или список портов через запятую, например, 20-22, 80, 8080.
- Выберите udp, чтобы включить протокол UDP и порты. Введите все или список портов через запятую, например 67-69, 123.
- Выберите Другие протоколы, чтобы включить протоколы, такие как icmp или sctp.
-
(Необязательно) Вы можете создать правило брандмауэра, но не применять его, установив для него состояние принудительного отключения отключенным. Нажмите Отключить правило, затем выберите Отключено.
-
(Необязательно) Вы можете включить ведение журнала правил брандмауэра:
- Нажмите Журналы> Вкл.
- Нажмите Включить.
-
Нажмите Создать.
Ссылка: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components
Ответ 7
Вы можете проверить ниже ссылку для открытия порта Google Cloud.
Открытие порта в Google Cloud
Ответ 8
Мне пришлось исправить это, уменьшив приоритет (сделав его выше). Это вызвало немедленный ответ. Не то, что я ожидал, но это сработало.