Google Compute Engine'de 9090 gibi belirli bir bağlantı noktası nasıl açılır


196

2 Google Compute Engine örneğim var ve her iki durumda da 9090 numaralı bağlantı noktasını açmak istiyorum. Bazı güvenlik duvarı kuralları eklememiz gerektiğini düşünüyorum.

Bunu nasıl yapabileceğimi söyleyebilir misin?


7
Bence bu soru cevaplandı. Aşağıdaki cevaplardan birini seçer misiniz? Gelecekteki okuyucuların bu sorunun çözüldüğünü daha kolay fark etmelerine yardımcı olacaktır.
Modulitos

Subhradip, bir cevap seç.
oligofren

Yanıtlar:


340

Gerek:

  1. Cloud.google.com adresine gidin

  2. Konsoluma git

  3. Projenizi seçin

  4. Ağ> VPC ağı'nı seçin

  5. "Güvenlik duvarları kuralları" nı seçin

  6. "Güvenlik Duvarı Kuralı Oluştur" u seçin

  7. VM örneklerini seçmek üzere kuralı uygulamak için Hedefler> "Belirtilen hedef etiketler" i seçin ve etiketin adını "Hedef etiketler" e girin. Bu etiket, yeni güvenlik duvarı kuralını istediğiniz örneğe uygulamak için kullanılır. Ardından, örneklerde ağ etiketi uygulandığından emin olun.

  8. 9090 numaralı bağlantı noktasına gelen TCP bağlantılarına izin vermek için "Protokoller ve Bağlantı Noktaları" alanına tcp:9090

  9. Oluştur'u tıklayın

Umarım bu sana yardımcı olur.

Güncelleme Kurallarınızı özelleştirmek için lütfen dokümanlara bakın .


4
Hesaplama motoru (artık?) Hayır "ağlar" seçeneği vardır
AFR

8
Evet, şimdi Ağ seçeneği yok, güncellenen yol Proje -> Ağ -> Güvenlik Duvarı Kuralları
Caio Vertematti

1
Benim Mesela, ben sadece var allow httpve allow httpsben yeni bir güvenlik duvarı kuralı ekledim ama onu bulmak için görünmüyor olabilir. Eğer yardımcı olursa, ben de ücretsiz seviyedeyim.
A. L

1
Http'nin 80 bağlantı noktasını açmasına ve https'nin 443'ü açmasına izin vermelisiniz. Bu bir kısayoldur.
Carlos Rojas

4
Dokümanların menü yolu sürekli değişiyor. Cevabın dokümanı işaret etmenin önemli olduğunu düşünüyoruz: cloud.google.com/vpc/docs/using-firewalls
Anupam

83

İşte bu soruyu cevaplamak için komut satırı yaklaşımı:

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>"

Bu 9090, adlandırdığınız örneklerin bağlantı noktasını açar . Kuralı atlamak --source-tagsve --source-rangestüm örneklere uygular. Daha fazla detay vardır Gcloud belgelerine ve komut kılavuzunafirewall-rule create

Önceki yanıtlar harika, ancak Googlegcloud komutlar yerine daha yeni komutların kullanılmasını önerirgcutil .

Not: Google'ın güvenlik duvarı kuralları hakkında fikir edinmek için tüm güvenlik duvarı kurallarınızı çalıştırın gcloud compute firewall-rules listve görüntüleyin


Parçayı kullandığımda şikayetler alıyorum --description, aksi takdirde bu benim için çalışıyor.
shabbychef

2
Api'yi değiştirip değiştirmediklerinden emin değilim ancak kaynak ve hedef @ modulitos'un cevabından farklı görünüyor. Göre güvenlik duvarı-kurallar komut belgelerinde , sourceoysa gelen trafik demektir targetkuralı uygulamak için örnekleri ifade eder.
cindyxiaoxiaoli

1
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission@modulitos
alper

Sonrasındaki test modulitos nedir? Öyle mi telnet :instance_ip :portyoksa nmap -p :port :instance_ip?
Nam G VU

@alper Bu komutu daha önce yapmanız gerekiyor: "gcloud auth login" ve giriş
Anton Tkachov

10

tcp:9090Örneklerinize gelen erişimi açmak için bir güvenlik duvarı kuralı eklemeniz gerekir . İkiden fazla örneğiniz varsa ve bu ikisine yalnızca 9090 açmak istiyorsanız, bu iki örneğin paylaştığı bir etiket olduğundan emin olmak istersiniz. Konsol veya komut satırı üzerinden etiket ekleyebilir veya güncelleyebilirsiniz; Bunun için GUI kullanmanızı öneririm çünkü okuma-değiştirme-yazma döngüsünü işler setinstancetags.

Tüm örneklere 9090 numaralı bağlantı noktasını açmak istiyorsanız, aşağıdaki gibi bir güvenlik duvarı kuralı oluşturabilirsiniz:

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

tüm örnekleriniz için geçerli olacak.

9090 numaralı bağlantı noktasını yalnızca uygulamanıza hizmet eden iki örneğe açmak istiyorsanız, bunların etiketlerinin olduğundan emin olun my-appve ardından şöyle bir güvenlik duvarı ekleyin:

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

GCE'de güvenlik duvarları oluşturma ve yönetme hakkında daha fazla bilgiyi buradan edinebilirsiniz .


10
gcutilartık kullanılamaz; lütfen komut satırlarınızı kullanarak yeniden yazın gcloud.
Misha Brukman

10

Bu soru eski ve Carlos Rojas'ın cevabı iyi, ancak limanları açmaya çalışırken akılda tutulması gereken birkaç şey yayınlamam gerektiğini düşünüyorum.

Hatırlanması gereken ilk şey bölümünün VPC Ağ olarak yeniden adlandırılmasıdır . Dolayısıyla, Güvenlik Duvarı Kuralları seçeneğinin nerede olduğunu bulmaya çalışıyorsanız , VPC Ağı'na bakın .

İkincisi, bir Linux VM'de portları açmaya çalışıyorsanız, hiçbir koşulda ufwkomutu kullanarak portu açmaya çalışmayın . Bunu kullanmayı denedim ve VM'ye ssh erişimini kaybettim. Bu yüzden hatamı tekrar etme.

Üçüncü şey, bir Windows VM'de bağlantı noktalarını açmaya çalışıyorsanız , VPC Ağı -> Güvenlik Duvarı Kuralları ile birlikte Windows Güvenlik Duvarı'nda da VM içinde Güvenlik Duvarı kuralları oluşturmanız gerekir . Bağlantı noktasının Linux VM'nin aksine her iki güvenlik duvarı kuralında da açılması gerekir. Bu nedenle, bağlantı noktasına VM dışından erişemiyorsanız, bağlantı noktasını hem GCP konsolunda hem de Windows Güvenlik Duvarı'nda açıp açmadığınızı kontrol edin.

Son (açık) şey, bağlantı noktalarını gereksiz yere açmayın. Artık ihtiyacınız olmadığında bağlantı noktalarını kapatın.

Umarım bu cevap faydalıdır.


ufwKomut ile bazı belirli portları açtım ve hala ssh erişimim var dışında iyi ipuçları .
stackErr

7

Yaptığınla aynı problemi yaşadım ve @CarlosRojas talimatlarını küçük bir farkla takip ederek çözebilirim. Yeni bir güvenlik duvarı kuralı oluşturmak yerine, default-allow-internalyeni kurallar oluşturmak herhangi bir fark yaratmadığı için herhangi bir yerden trafiği kabul edecek şekilde düzenledim .


Yeni bir güvenlik duvarı kuralı oluşturmak için bir ücret alınır. Bu kuralı düzenleyerek bundan kaçınmayı başardınız mı?
killjoy

@killjoy Bundan emin değilim. Şu anda google compute engine kullanmıyorum. Afedersiniz.
Nevershowmyface

2
Bu işe yarayabilir olsa da, bu yöntemle ilgili güvenlik endişeleri vardır. Benim için çalıştığım şey, örneklerimdeki güvenlik duvarı etiketlerini kullanmaktı. Bir güvenlik duvarı kuralı oluşturduğunuzda, bu kural için bir "Hedef Etiketi" oluşturabilirsiniz. Ardından, etiketi kendi örneğinize uygulayacak olan VM Eşgörünümünüze uygulayabilirsiniz. Daha fazla bilgi için burada kabul edilen cevaba bakınız: stackoverflow.com/questions/31509722/…
k00k

7

Güvenlik duvarı kuralları oluşturma

GCP'deki güvenlik duvarı kurallarını bilmiyorsanız lütfen güvenlik duvarı kuralı bileşenlerini [1] inceleyin. Güvenlik duvarı kuralları ağ düzeyinde tanımlanır ve yalnızca oluşturuldukları ağ için geçerlidir; ancak, her biri için seçtiğiniz ad projeye özgü olmalıdır.

Cloud Console için:

  1. Google Cloud Platform Console'daki Güvenlik duvarı kuralları sayfasına gidin.
  2. Güvenlik duvarı kuralı oluştur'u tıklayın.
  3. Güvenlik duvarı kuralı için bir Ad girin. Bu ad proje için benzersiz olmalıdır.
  4. Güvenlik duvarı kuralının uygulanacağı Ağı belirtin.
  5. Kuralın Önceliğini belirtin. Sayı ne kadar düşükse öncelik o kadar yüksek olur.
  6. Trafik yönü için girişi veya çıkışı seçin.
  7. Maçtaki İşlem için izin ver veya reddet seçeneğini belirleyin.
  8. Kuralın Hedeflerini belirleyin.

    • Kuralın ağdaki tüm örneklere uygulanmasını istiyorsanız, Ağdaki tüm örnekler'i seçin.
    • Kuralın ağ (hedef) etiketlerine göre belirli örnekleri seçmek için uygulanmasını istiyorsanız, Belirtilen hedef etiketler'i seçin, ardından kuralın Hedef etiketleri alanına uygulanması gereken etiketleri yazın.
    • Kuralın ilişkili servis hesabına göre örnekleri seçmek için uygulanmasını istiyorsanız, Belirtilen hizmet hesabı'nı seçin, hizmet hesabının geçerli projede mi yoksa Hizmet hesabı kapsamı altında başka bir hesapta mı olduğunu belirtin ve Hedef hizmetinde hizmet hesabı adını seçin veya yazın hesap alanı.
  9. Bir giriş kuralı için Kaynak filtresini belirtin:

    • IP aralıkları seçin ve IP adresi aralıklarına göre gelen trafiğin kaynağını tanımlamak için Kaynak IP aralıkları alanına CIDR bloklarını yazın. Herhangi bir ağdan bir kaynak için 0.0.0.0/0 kullanın.
    • Alt Ağlar'ı seçin, sonra gelen trafik kaynağını alt ağ adına göre tanımlamak için Alt Ağlar açılır düğmesinden ihtiyacınız olanları işaretleyin.
    • Kaynağı ağ etiketine göre sınırlamak için Kaynak etiketleri'ni seçin, ardından ağ etiketlerini Kaynak etiketleri alanına yazın. Kaynak etiket sayısındaki sınır için bkz. VPC Kotaları ve Sınırları. Kaynak etikete göre filtreleme, yalnızca hedef hizmet hesabı tarafından belirtilmemişse kullanılabilir. Daha fazla bilgi için bkz. Servis hesabına göre ağ etiketine göre filtreleme.
    • Kaynağı hizmet hesabına göre sınırlamak için Hizmet hesabı'nı seçin, hizmet hesabının geçerli projede mi yoksa Hizmet hesabı kapsamı altında başka bir hesapta mı olduğunu belirtin ve Kaynak hizmet hesabı alanına hizmet hesabı adını seçin veya yazın. Kaynak hizmet hesabına göre filtreleme, yalnızca hedef ağ etiketi tarafından belirtilmemişse kullanılabilir. Daha fazla bilgi için bkz. Servis hesabına göre ağ etiketine göre filtreleme.
    • İsterseniz İkinci bir kaynak filtresi belirtin. İkincil kaynak filtreleri birincil filtrelerle aynı filtre ölçütlerini kullanamaz.
  10. Bir çıkış kuralı için Hedef filtresini belirtin:

    • IP aralıkları seçin ve IP adresi aralıklarına göre giden trafik için hedefi tanımlamak üzere Hedef IP aralıkları alanına CIDR bloklarını yazın. Her yerde demek için 0.0.0.0/0 kullanın.
    • Alt ağlar'ı seçin, ardından giden trafik hedefini alt ağ adına göre tanımlamak için Alt Ağlar açılır düğmesinden ihtiyacınız olanları işaretleyin.
  11. Kuralın uygulanacağı Protokolleri ve bağlantı noktalarını tanımlayın:

    • Kuralın tüm protokollere ve bağlantı noktalarına uygulanmasını sağlamak için Eyleme izin ver veya Eyleme izin ver'i seçin.

    • Belirli protokolleri ve bağlantı noktalarını tanımlayın:

      • TCP protokolünü ve bağlantı noktalarını dahil etmek için tcp'yi seçin. 20-22, 80, 8080 gibi bağlantı noktalarının tümünü veya virgülle ayrılmış bağlantı noktalarını girin.
      • UDP protokolünü ve bağlantı noktalarını dahil etmek için udp'yi seçin. 67-69, 123 gibi tüm veya virgülle ayrılmış bağlantı noktası listesini girin.
      • İcmp veya sctp gibi protokolleri dahil etmek için Diğer protokoller'i seçin.
  12. (İsteğe bağlı) Güvenlik duvarı kuralı oluşturabilir, ancak uygulama durumunu devre dışı olarak ayarlayarak uygulayamazsınız. Kuralı devre dışı bırak'ı tıklayın, ardından Devre dışı'yı seçin.

  13. (İsteğe bağlı) Güvenlik duvarı kuralları günlüğünü etkinleştirebilirsiniz:

    • Günlükler> Açık'ı tıklayın.
    • Aç'ı tıklayın.
  14. Oluştur'u tıklayın.

Bağlantı: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components


0

Önceliği azaltarak (daha yüksek hale getirerek) bunu düzeltmek zorunda kaldım. Bu anında bir yanıt verdi. Beklediğim gibi değil, ama işe yaradı.


0

console.cloud.google.com >> proje seçin >> Ağ> VPC ağı >> güvenlik duvarları >> güvenlik duvarı oluştur.

Kuralı VM örneklerine uygulamak için Hedefler, "Belirtilen hedef etiketler" i seçin ve "Hedef etiketler" e etiketin adını girin. Bu etiket, yeni güvenlik duvarı kuralını istediğiniz örneğe uygulamak için kullanılır.

"Protokoller ve Bağlantı Noktaları" alanına tcp: 9090 girin

Kaydet'i tıklayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.