У мене є 2 екземпляри Google Compute Engine, і я хочу відкрити порт 9090 в обох випадках. Я думаю, нам потрібно додати деякі правила брандмауера.
Ви можете мені сказати, як я можу це зробити?
У мене є 2 екземпляри Google Compute Engine, і я хочу відкрити порт 9090 в обох випадках. Я думаю, нам потрібно додати деякі правила брандмауера.
Ви можете мені сказати, як я можу це зробити?
Відповіді:
Тобі потрібно:
Перейдіть на cloud.google.com
Ідіть до моєї консолі
Виберіть свій проект
Виберіть Мережа> Мережа VPC
Виберіть "Правила брандмауера"
Виберіть "Створити правило брандмауера"
Щоб застосувати правило для вибору екземплярів VM, виберіть Цілі> "Вказані цільові теги" та введіть у "Цільові теги" назву тегу. Цей тег буде використовуватися для застосування нового правила брандмауера до будь-якого екземпляра. Потім переконайтеся, що до примірників застосовано мережевий тег.
Щоб дозволити вхідні TCP-з'єднання до порту 9090, введіть "Протоколи та порти" tcp:9090
Натисніть Створити
Я сподіваюся, що це вам допоможе.
Оновлення Щоб налаштувати правила, зверніться до документів .
allow http
і allow https
я додав нове правило брандмауера, але я не можу його знайти. Я також на вільному рівні, якщо це допоможе.
Ось командний рядок підходу до відповіді на це питання:
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
і перегляньте всі свої правила брандмауера
--description
деталь, але в іншому випадку це працює для мене.
source
означає вхідний трафік, тоді як target
посилається на випадки, до яких це правило слід застосувати.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission
@modulitos
telnet :instance_ip :port
чи nmap -p :port :instance_ip
?
Вам потрібно буде додати правило брандмауера, щоб відкрити вхідний доступ tcp:9090
до своїх примірників. Якщо у вас є більше двох екземплярів, і ви хочете відкрити лише 9090 для цих двох, ви хочете переконатися, що є тег, яким ці два екземпляри діляться. Ви можете додавати або оновлювати теги через консоль або командний рядок; Я рекомендую використовувати GUI для цього, якщо потрібно, оскільки він обробляє цикл читання-зміна-запис 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 можна прочитати тут .
gcutil
більше не доступні; будь ласка, перепишіть свої командні рядки, використовуючи gcloud
.
Це питання давнє, і відповідь Карлоса Рохаса хороша, але я думаю, що я повинен написати декілька речей, про які слід пам’ятати, намагаючись відкрити порти.
Перше, що потрібно пам’ятати, це те, що розділ « Мережа» перейменовано на мережу VPC . Тож якщо ви намагаєтеся з’ясувати, де доступний варіант Правил брандмауера , перегляньте мережу VPC .
Друга річ, якщо ви намагаєтесь відкрити порти на Linux VM, переконайтесь, що ні за яких обставин не намагайтеся відкрити порт за допомогою ufw
команди. Я спробував скористатися цим і втратив доступ ssh до VM. Тому не повторюйте моєї помилки.
Третє - якщо ви намагаєтесь відкрити порти в Windows VM, вам потрібно створити правила брандмауера всередині VM також у брандмауері Windows разом з VPC Networking -> Правилами брандмауера . Порт потрібно відкривати в обох правилах брандмауера, на відміну від Linux VM. Отож, якщо ви не отримуєте доступ до порту за межами VM, перевірте, чи відкрили ви порт як на консолі GCP, так і на брандмауері Windows.
Остання (очевидна) річ - не відкривати порти без потреби. Закрийте порти, як тільки вам це більше не потрібно.
Сподіваюся, ця відповідь корисна.
ufw
команди з командою, і я все ще маю доступ до ssh.
У мене була така ж проблема, як у вас, і я міг її вирішити, дотримуючись інструкцій @CarlosRojas з невеликою різницею. Замість того, щоб створити нове правило брандмауера, я відредагував те, default-allow-internal
щоб прийняти трафік з будь-якого місця, оскільки створення нових правил не мало жодної зміни.
Створення правил брандмауера
Перегляньте компоненти правила брандмауера [1], якщо ви не знайомі з правилами брандмауера в GCP. Правила брандмауера визначаються на рівні мережі та стосуються лише тієї мережі, де вони створені; однак назва, вибране для кожного з них, повинно бути унікальним для проекту.
Для Cloud Cloud Console:
Вкажіть цілі правила.
Для правила введення вкажіть джерельний фільтр:
Для правила виходу вкажіть фільтр призначення:
Визначте протоколи та порти, до яких застосовуватиметься правило:
Виберіть Дозволити всі або Заборонити всі, залежно від дії, щоб правило застосовувалося до всіх протоколів та портів.
Визначте конкретні протоколи та порти:
(Необов’язково) Ви можете створити правило брандмауера, але не застосовувати його, встановивши його стан виконання вимкненим. Клацніть правило «Відключити», а потім виберіть «Відключити».
(Необов’язково) Ви можете ввімкнути реєстрацію правил брандмауера:
Натисніть Створити.
Посилання: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components
console.cloud.google.com >> виберіть проект >> Мережа> мережа VPC >> брандмауері >> створити брандмауер.
Щоб застосувати правило до примірників VM, виберіть Цілі, "Вказані цільові теги" та введіть у "Цільові теги" назву тегу. Цей тег буде використовуватися для застосування нового правила брандмауера до будь-якого екземпляра.
у "Протоколи та порти" введіть tcp: 9090
Клацніть Зберегти.