Mam 2 instancje Google Compute Engine i chcę otworzyć port 9090 w obu instancjach. Myślę, że musimy dodać kilka reguł zapory.
Czy możesz mi powiedzieć, jak to zrobić?
Mam 2 instancje Google Compute Engine i chcę otworzyć port 9090 w obu instancjach. Myślę, że musimy dodać kilka reguł zapory.
Czy możesz mi powiedzieć, jak to zrobić?
Odpowiedzi:
Musisz:
Wejdź na cloud.google.com
Przejdź do mojej konsoli
Wybierz swój projekt
Wybierz Sieć> Sieć VPC
Wybierz „Reguły zapór ogniowych”
Wybierz „Utwórz regułę zapory”
Aby zastosować regułę do wybierania wystąpień maszyn wirtualnych, wybierz opcję Cele> „Określone tagi docelowe” i wprowadź w polu „Tagi docelowe” nazwę tagu. Ten znacznik będzie używany do zastosowania nowej reguły zapory do dowolnego wystąpienia. Następnie upewnij się, że instancje mają zastosowany znacznik sieciowy.
Aby zezwolić na przychodzące połączenia TCP do portu 9090, w polu „Protokoły i porty” wpisz tcp:9090
Kliknij Utwórz
Mam nadzieję, że to Ci pomoże.
Aktualizacja Proszę zapoznać się z dokumentami, aby dostosować swoje reguły.
allow http
i allow https
dodałem nową regułę zapory, ale nie mogę jej znaleźć. Jestem też na darmowym poziomie, jeśli to pomaga.
Oto podejście wiersza polecenia, aby odpowiedzieć na to pytanie:
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>"
Spowoduje to otwarcie portu 9090
dla nazwanych wystąpień. Pominięcie --source-tags
i --source-ranges
spowoduje zastosowanie reguły do wszystkich instancji. Więcej szczegółów w dokumentacji Gcloud oraz w firewall-rule create
podręczniku poleceń
Poprzednie odpowiedzi są świetne, ale Google zaleca używanie nowszych gcloud
poleceń zamiast gcutil
poleceń.
PS: Aby poznać zasady zapory Google, uruchom gcloud compute firewall-rules list
i przejrzyj wszystkie reguły zapory
--description
części, ale poza tym to działa dla mnie.
source
oznacza ruch przychodzący natomiast target
odnosi się do przypadków, aby zastosować regułę.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission
@modulitos
telnet :instance_ip :port
czy nmap -p :port :instance_ip
?
Musisz dodać regułę zapory, aby otworzyć dostęp tcp:9090
do swoich instancji. Jeśli masz więcej niż dwa wystąpienia i chcesz otworzyć dla nich tylko 9090, upewnij się, że istnieje znacznik, który współużytkują te dwa wystąpienia. Możesz dodawać lub aktualizować tagi za pomocą konsoli lub wiersza poleceń; W razie potrzeby polecam użycie GUI, ponieważ obsługuje on cykl odczytu-modyfikacji-zapisu setinstancetags
.
Jeśli chcesz otworzyć port 9090 dla wszystkich instancji, możesz utworzyć regułę zapory, np .:
gcutil addfirewall allow-9090 --allowed=tcp:9090
które będą miały zastosowanie do wszystkich twoich instancji.
Jeśli chcesz otworzyć port 9090 tylko dla dwóch instancji obsługujących Twoją aplikację, upewnij się, że mają one znacznik podobny do my-app
, a następnie dodaj zaporę ogniową w ten sposób:
gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
Więcej informacji na temat tworzenia i zarządzania zaporami ogniowymi w GCE można znaleźć tutaj .
gcutil
nie jest już dostępne; proszę przepisać wiersze poleceń za pomocą gcloud
.
To pytanie jest stare i odpowiedź Carlosa Rojasa jest dobra, ale myślę, że powinienem opublikować kilka rzeczy, o których należy pamiętać, próbując otworzyć porty.
Pierwszą rzeczą do zapamiętania jest to, że sekcja Networking została przemianowana na VPC Networking . Jeśli więc próbujesz dowiedzieć się, gdzie jest dostępna opcja reguł zapory , spójrz na sieć VPC .
Po drugie, jeśli próbujesz otworzyć porty na maszynie wirtualnej z systemem Linux, upewnij się, że pod żadnym pozorem nie powinieneś próbować otwierać portu za pomocą ufw
polecenia. Próbowałem tego użyć i utraciłem dostęp ssh do maszyny wirtualnej. Więc nie powtarzaj mojego błędu.
Trzecią rzeczą jest to, że jeśli próbujesz otworzyć porty na maszynie wirtualnej z systemem Windows, musisz utworzyć reguły zapory wewnątrz maszyny wirtualnej, również w zaporze systemu Windows wraz z siecią VPC -> Reguły zapory . Port należy otworzyć w obu regułach zapory, w przeciwieństwie do maszyny wirtualnej z systemem Linux. Jeśli więc nie masz dostępu do portu spoza maszyny wirtualnej, sprawdź, czy port został otwarty zarówno w konsoli GCP, jak i w Zaporze systemu Windows.
Ostatnią (oczywistą) rzeczą jest, aby nie otwierać portów niepotrzebnie. Zamknij porty, gdy tylko nie będziesz już ich potrzebować.
Mam nadzieję, że ta odpowiedź będzie przydatna.
ufw
polecenia i nadal mam dostęp do ssh.
Miałem ten sam problem co ty i mogłem go rozwiązać, wykonując instrukcje @CarlosRojas z niewielką różnicą. Zamiast tworzyć nową regułę zapory, edytowałem tę, default-allow-internal
aby akceptowała ruch z dowolnego miejsca, ponieważ tworzenie nowych reguł nie miało znaczenia.
Tworzenie reguł zapory
Zapoznaj się z komponentami reguły zapory [1], jeśli nie znasz zasad zapory w GCP. Reguły zapory są definiowane na poziomie sieci i mają zastosowanie tylko do sieci, w której zostały utworzone; jednak nazwa, którą wybierzesz dla każdego z nich, musi być unikalna dla projektu.
W przypadku konsoli w chmurze:
Określ cele reguły.
W przypadku reguły wejściowej określ filtr źródłowy:
W przypadku reguły wyjścia określ filtr Miejsce docelowe:
Zdefiniuj protokoły i porty, do których będzie stosowana reguła:
Wybierz Zezwól wszystkim lub Odrzuć wszystkie, w zależności od akcji, aby reguła miała zastosowanie do wszystkich protokołów i portów.
Zdefiniuj określone protokoły i porty:
(Opcjonalnie) Można utworzyć regułę zapory, ale nie można jej wymuszać, ustawiając jej stan wymuszania na wyłączony. Kliknij opcję Wyłącz regułę, a następnie wybierz opcję Wyłączone.
(Opcjonalnie) Możesz włączyć rejestrowanie reguł zapory:
Kliknij Utwórz.
Link: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components