У меня есть 2 экземпляра Google Compute Engine, и я хочу открыть порт 9090 в обоих экземплярах. Я думаю, что нам нужно добавить некоторые правила брандмауэра.
Можете ли вы сказать мне, как я могу это сделать?
google-cloud-platform
port
google-compute-engine
Субрадип Бозе
источник
источник
Ответы:
Тебе надо:
Перейдите на cloud.google.com.
Перейти к моей консоли
Выберите свой проект
Выберите «Сеть»> «Сеть VPC».
Выберите «Правила брандмауэров»
Выберите «Создать правило брандмауэра»
Чтобы применить правило для выбора экземпляров ВМ, выберите «Цели»> «Заданные целевые теги» и введите в «Целевые теги» имя тега. Этот тег будет использоваться для применения нового правила брандмауэра к любому экземпляру, который вы хотите. Затем убедитесь, что к экземплярам применен сетевой тег.
Чтобы разрешить входящие TCP-подключения к порту 9090, в поле «Протоколы и порты» введите
tcp:9090
Нажмите Создать
Я надеюсь, это поможет вам.
Обновление Пожалуйста, обратитесь к документации, чтобы настроить ваши правила.
источник
allow http
иallow https
я добавил новое правило брандмауэра , но я не могу найти его. Я тоже на свободном уровне, если это поможет.Вот подход командной строки, чтобы ответить на этот вопрос:
Это откроет порт
9090
для названных вами экземпляров. Опуская--source-tags
и--source-ranges
применив правило ко всем экземплярам. Более подробная информация в документации Gcloud и вfirewall-rule create
руководстве командыПредыдущие ответы великолепны, но Google рекомендует использовать более новые
gcloud
команды вместоgcutil
команд.PS: Чтобы получить представление о правилах брандмауэра Google, запустите
gcloud compute firewall-rules list
и просмотрите все правила брандмауэра.источник
--description
часть, но в остальном это работает для меня.source
означает входящий трафик, тогда какtarget
относится к экземплярам, к которым применяется правило.ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission
@modulitostelnet :instance_ip :port
илиnmap -p :port :instance_ip
?Вам нужно будет добавить правило брандмауэра, чтобы открыть входящий доступ
tcp:9090
к вашим экземплярам. Если у вас есть более двух экземпляров, и вы хотите открыть 9090 для этих двух экземпляров, вы должны убедиться, что есть тег, который разделяют эти два экземпляра. Вы можете добавлять или обновлять теги через консоль или командную строку; Я бы рекомендовал использовать графический интерфейс для этого, если это необходимо, потому что он обрабатывает цикл чтения-изменения-записи сsetinstancetags
.Если вы хотите открыть порт 9090 для всех экземпляров, вы можете создать правило брандмауэра, например:
который будет применяться ко всем вашим экземплярам.
Если вы хотите открыть порт 9090 только для двух экземпляров, обслуживающих ваше приложение, убедитесь, что у них есть тег, подобный этому
my-app
, а затем добавьте брандмауэр, например, так:Подробнее о создании и управлении межсетевыми экранами в GCE вы можете прочитать здесь .
источник
gcutil
больше недоступно; пожалуйста, перепишите ваши командные строки, используяgcloud
.Этот вопрос старый, и ответ Карлоса Рохаса хороший, но я думаю, что я должен опубликовать несколько вещей, которые следует учитывать при попытке открыть порты.
Первое, что нужно запомнить, это то, что раздел Networking переименован в VPC Networking . Так что, если вы пытаетесь выяснить, где доступна опция « Правила межсетевого экрана» , посмотрите на VPC Networking .
Во-вторых, если вы пытаетесь открыть порты на виртуальной машине Linux, ни в коем случае не пытайтесь открыть порт с помощью
ufw
команды. Я попытался использовать это и потерял доступ SSH к виртуальной машине. Так что не повторяй мою ошибку.В-третьих, если вы пытаетесь открыть порты на виртуальной машине Windows, вам необходимо создать правила брандмауэра внутри виртуальной машины также в брандмауэре Windows вместе с сетью VPC -> Правила брандмауэра . Порт должен быть открыт в обоих правилах брандмауэра, в отличие от виртуальной машины Linux. Поэтому, если вы не получаете доступ к порту извне виртуальной машины, проверьте, открыли ли вы порт в консоли GCP и брандмауэре Windows.
Последнее (очевидное), что не открывайте порты без необходимости. Закройте порты, как только они вам больше не понадобятся.
Я надеюсь, что этот ответ полезен.
источник
ufw
команды, и у меня все еще есть доступ по ssh.У меня была та же проблема, что и у вас, и я мог ее решить, следуя инструкциям @CarlosRojas, с небольшой разницей. Вместо того, чтобы создавать новое правило брандмауэра, я отредактировал правило,
default-allow-internal
принимающее трафик из любой точки, поскольку создание новых правил не имело никакого значения.источник
Создание правил брандмауэра
Пожалуйста, просмотрите компоненты правил брандмауэра [1], если вы не знакомы с правилами брандмауэра в GCP. Правила брандмауэра определяются на уровне сети и применяются только к сети, в которой они созданы; однако имя, которое вы выбираете для каждого из них, должно быть уникальным для проекта.
Для облачной консоли:
Укажите Цели правила.
Для правила входа укажите фильтр источника:
Для выходного правила укажите фильтр назначения:
Определите протоколы и порты, к которым будет применяться правило:
Выберите Разрешить все или Запретить все, в зависимости от действия, чтобы правило применялось ко всем протоколам и портам.
Определите конкретные протоколы и порты:
(Необязательно) Вы можете создать правило брандмауэра, но не применять его, установив для него состояние принудительного отключения отключенным. Нажмите Отключить правило, затем выберите Отключено.
(Необязательно) Вы можете включить ведение журнала правил брандмауэра:
Нажмите Создать.
Ссылка: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components
источник
Мне пришлось исправить это, уменьшив приоритет (сделав его выше). Это вызвало немедленный ответ. Не то, что я ожидал, но это сработало.
источник
console.cloud.google.com >> выберите проект >> Сеть> Сеть VPC >> брандмауэры >> создать брандмауэр.
Чтобы применить правило к экземплярам виртуальной машины, выберите «Цели», «Заданные целевые теги» и введите в «Целевые теги» имя тега. Этот тег будет использоваться для применения нового правила брандмауэра к любому экземпляру, который вы хотите.
в "Протоколы и порты" введите tcp: 9090
Нажмите Сохранить.
источник