Przejdź do treści
CivoCloudManager

Otwórz firewall Civo dla swojego IP i zamknij go z powrotem.

Ręczna procedura, pułapka zmiennego IP, którą po sobie zostawia, i darmowa ścieżka z paska menu, która zamyka regułę na termin.

Musisz dostać się do instancji Civo albo do API klastra stamtąd, gdzie właśnie siedzisz. Odpowiedzią jest jedna reguła firewalla: znajdź swoje publiczne IPv4, potem wpuść port z tego jednego adresu, zapisując CIDR jako /32. Civo robi pierwszą połowę łatwą, a drugą niebezpieczną, bo ręcznie dodana reguła zostaje, dopóki ktoś jej nie skasuje. Poniżej pełna procedura ręczna, a po niej ta część, której prawie nikt nie domyka: zamykanie.

Ta sama reguła, otwarta z paska menu

  1. 01

    Powiedz aplikacji, którymi firewallami zarządzasz

    Przy pierwszym uruchomieniu tarcza w pasku menu prowadzi onboarding: wpisujesz klucz API Civo, który idzie do macOS Keychain, wybierasz region i zaznaczasz firewalle do sterowania. Każdy zaznaczony dostaje port, a to pole startuje na 6443.

  2. 02

    Pozwól jej znaleźć twoje publiczne IPv4

    Wykrywanie idzie najpierw do api.ipify.org, potem do ifconfig.me/ip, potem do icanhazip.com i zatrzymuje się na pierwszym dostawcy, który odpowie poprawnym adresem publicznym. Odpowiedź IPv6 albo adres prywatny są odrzucane komunikatem, zamiast trafić do reguły, bo reguły firewalla Civo potrzebują CIDR w IPv4.

  3. 03

    Jedno kliknięcie zapisuje regułę

    Aplikacja tworzy regułę wejściową na wybranym porcie z CIDR ustawionym na wykryty adres plus /32, z etykietą civo-cloud-<hostname>-<firewall-name>. Civo zwraca dokładny identyfikator reguły w odpowiedzi na utworzenie, więc aplikacja nigdy później nie musi zgadywać, która reguła była jej.

  4. 04

    Wybierz, jak długo ma być otwarta

    Dostęp na czas daje 15 minut, 30 minut, godzinę i dwie godziny. Jest też Unlimited, które otwiera regułę i nie planuje żadnego zamknięcia, więc bierz je tylko wtedy, gdy zamierzasz zamknąć regułę sam.

  5. 05

    Termin ląduje na dysku

    Każde zadanie zamknięcia trzyma identyfikator firewalla, identyfikator reguły, region i termin, i jest zapisywane atomowo do firewall-closures.json w katalogu Application Support aplikacji. Zamknij aplikację, a termin dalej tam jest: przy następnym starcie zaległe zadania są domykane, zanim popover w ogóle się otworzy. Uczciwe ograniczenie brzmi tak: aplikacja musi działać i mieć łączność z Civo, żeby skasować regułę. Zamknięcie albo uśpienie nie planuje kasowania po stronie serwera.

  6. 06

    Zapisz adres jako nazwany preset

    Odłóż bieżące IP pod nazwą w rodzaju Dom albo Biuro i otwieraj później firewall dla tego presetu bez ponownego wykrywania. Przydaje się, gdy chcesz otworzyć dostęp dla stałego adresu biura, siedząc gdzie indziej.

Co naprawdę robi nowy firewall Civo

Dokumentacja API Civo mówi to wprost: przy tworzeniu reguły nie ma wyboru allow albo deny, bo nowy firewall domyślnie blokuje wszystko, więc otwierasz tylko te porty, których potrzebujesz. Firewall, który zakładasz sam, startuje zamknięty, a każda dodana reguła jest regułą wpuszczającą. Pułapka leży gdzie indziej. Każdy region dostaje firewall nazwany dosłownie Default (all open), a dokumentacja Civo mówi, że ma on wszystkie porty otwarte, i zaleca jego dostosowanie. Poprawna odpowiedź na wciąż powracające pytanie brzmi więc tak: twój własny firewall domyślnie blokuje, regionalny Default nie.

Ręczna procedura, w całości

Po pierwsze, pobierz swoje publiczne IPv4: curl -s https://api.ipify.org. Po drugie, dodaj regułę. W Civo CLI to civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress --label='laptop'. Po trzecie, i to jest ten krok, który się pomija, zanotuj zwrócony identyfikator reguły, żeby móc ją potem skasować. Uwaga na domyślne wartości: bez --cidr CLI wstawia 0.0.0.0/0, czyli otwiera port całemu internetowi zamiast tobie. Droga przez dashboard ma ten sam kształt: Actions, potem Rules, potem pojedynczy port albo zakres, protokół, kierunek i CIDR.

Reguła przeżywa powód, dla którego powstała

Reguła firewalla Civo nie ma terminu ważności. Zostaje, dopóki nie usunie jej człowiek albo wywołanie API. Na łączu firmowym ze stałym adresem to zwykły bałagan. Na łączu domowym to realne odsłonięcie, bo większość dostawców zmienia adres przy ponownym połączeniu albo przy nocnym odnowieniu dzierżawy. Wpuszczone /32 trafia wtedy do cudzego routera, a twoja reguła wpuszcza obcego na port 6443, podczas gdy ty siedzisz odcięty i piszesz drugą regułę. Każda ręcznie dopisana reguła to mały dług, a spłacasz go tylko wtedy, gdy pamiętasz o skasowaniu.

Dlaczego aplikacja nigdy nie skasuje reguły, którą sam napisałeś

O własności decyduje etykieta, nie port ani adres. Aplikacja tworzy wyłącznie reguły z etykietą civo-cloud-<hostname>-<firewall-name>, a reguły otwierane pod połączenie z Kubernetes API niosą zamiast tego przyrostek k8s-api. Zbiorcze Close All wypisuje reguły każdego zarządzanego firewalla i usuwa tylko te, których etykieta zaczyna się tym prefiksem dla tej maszyny. Ręcznie napisana reguła produkcyjna nie ma takiej etykiety, więc nigdy nie jest kandydatem. Jedno zastrzeżenie warto powiedzieć: nieudane sprawdzenie stanu i tak rysuje się w pasku menu jako zamknięte albo nieznane, więc to, co widać, nie jest dowodem zamknięcia po stronie serwera. Gdy stawka jest wysoka, sprawdź w dashboardzie Civo.

Port 6443 i dlaczego wraca w kółko

6443 to port serwera Kubernetes API. Klaster k3s w Civo publikuje swój endpoint jako https://<master-ip>:6443, i to z nim rozmawia kubectl, kubeconfig i każdy inny klient Kubernetesa. Jeśli firewall klastra nie wpuszcza 6443 z twojego adresu, każda komenda kończy się timeoutem, i dlatego ta liczba dominuje w wyszukiwaniach o firewallu Civo. W aplikacji 6443 jest domyślnym portem w onboardingu, a połączenie z klastrem sprawdza dostęp do API i otwiera regułę, jeśli jej brakuje. Ta ścieżka kubernetesowa pilnuje swojej reguły w pamięci i sprząta po rozłączeniu, nie dziedziczy trwałości ani ponawiania z kolejki dostępu na czas w pasku menu.

Pytania, które ludzie naprawdę zadają

Jak otworzyć firewall Civo tylko dla swojego IP?
Pobierz publiczne IPv4 przez curl -s https://api.ipify.org, a potem utwórz na docelowym firewallu regułę wejściową z tym adresem zapisanym jako CIDR /32. W Civo CLI: civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress. W API nie ma wyboru allow albo deny, bo firewall, który zakładasz, blokuje wszystko, dopóki nie otworzysz portu. Zachowaj zwrócony identyfikator reguły, żeby móc ją potem skasować.
Co oznacza /32 w regule firewalla Civo?
W notacji CIDR liczba po ukośniku mówi, ile początkowych bitów adresu jest ustalonych. Adres IPv4 ma 32 bity, więc /32 ustala wszystkie i reguła pasuje dokładnie do jednego adresu. 203.0.113.42/32 to ten host i nic więcej. Dla porównania /24 obejmuje 256 adresów, a 0.0.0.0/0 cały internet, i to właśnie wstawia Civo, gdy utworzysz regułę bez CIDR.
Co się stanie, gdy mój adres IP się zmieni?
Reguła nie zmienia się razem z tobą. Dalej wpuszcza stary adres, więc tracisz dostęp i musisz dopisać drugą regułę, a ten, komu dostawca odda ten adres, dziedziczy twoje otwarcie. To normalny przypadek na łączach domowych, gdzie adres zwykle rotuje przy ponownym połączeniu albo przy nocnym odnowieniu dzierżawy. Lekarstwem nie jest lepsze IP, tylko reguła, która zamyka się sama: otwórz port na ustalone okno i pozwól terminowi ją usunąć.
Czy CivoCloudManager ruszy moje istniejące reguły firewalla?
Nie. Kasuje wyłącznie reguły, które sam utworzył, rozpoznawane po etykiecie civo-cloud-<hostname>-<firewall-name>, z przyrostkiem k8s-api dla dostępu do Kubernetes API. Zbiorcze Close All filtruje listę reguł każdego zarządzanego firewalla po tym prefiksie, zanim cokolwiek skasuje, więc reguła napisana ręcznie w dashboardzie Civo, w CLI albo w Terraform nie ma pasującej etykiety i nigdy nie jest usuwana.
Czy timer auto-close przeżywa zamknięcie aplikacji?
Termin tak. Każde zadanie zapisuje identyfikator firewalla, identyfikator reguły, region i czas zamknięcia w atomowo zapisywanym pliku JSON w Application Support, a zaległe zadania są domykane przy następnym starcie. Nie przeżywa natomiast zamknięcie bez nadzoru: kasowanie to wywołanie API z twojego Maca, więc aplikacja musi działać i mieć łączność z Civo. Zamknięcie albo uśpienie ponad termin odsuwa zamknięcie do chwili, gdy znów uruchomisz aplikację, i niczego nie planuje po stronie serwera.

Sterowanie firewallem to wersja darmowa.

Otwieranie i zamykanie z paska menu dla bieżącego IP, nazwane presety i termin auto-close zostają darmowe także po siedmiu dniach pełnego dostępu, więc ta strona nic cię nie kosztuje.