Ir para o conteúdo
CivoCloudManager

Abra um firewall Civo para o seu IP e volte a fechá-lo.

O procedimento manual, a armadilha de IP dinâmico que ele deixa para trás e um caminho gratuito na barra de menus que fecha a regra ao fim do prazo.

Precisa de chegar a uma instância Civo ou à API de um cluster a partir de onde está sentado agora. A resposta é uma regra de firewall: descubra o seu IPv4 público e autorize a porta a partir desse único endereço, escrevendo o CIDR como /32. A Civo torna a primeira metade fácil e a segunda perigosa, porque uma regra que adiciona à mão fica lá até alguém a apagar. Esta página mostra o procedimento manual por inteiro e depois a parte que quase ninguém trata: voltar a fechar.

A mesma regra, aberta a partir da barra de menus

  1. 01

    Diga à app que firewalls gere

    No primeiro arranque, o escudo na barra de menus corre o onboarding: introduza a chave de API Civo, que vai para o macOS Keychain, escolha uma região e selecione os firewalls que quer controlar. Cada firewall selecionado recebe uma porta, e esse campo começa em 6443.

  2. 02

    Deixe-a descobrir o seu IPv4 público

    A deteção corre primeiro contra api.ipify.org, depois ifconfig.me/ip, depois icanhazip.com, e para no primeiro fornecedor que responde com um endereço público válido. Uma resposta IPv6 ou um endereço privado são recusados com uma mensagem em vez de irem parar a uma regra, porque as regras de firewall da Civo precisam de um CIDR IPv4.

  3. 03

    Um clique escreve a regra

    A app cria uma regra de ingress na porta escolhida com o CIDR definido para o endereço detetado mais /32, etiquetada como civo-cloud-<hostname>-<firewall-name>. A Civo devolve o ID exato da regra na resposta de criação, por isso a app nunca tem de adivinhar mais tarde qual era a sua.

  4. 04

    Escolha quanto tempo fica aberta

    O acesso temporizado oferece 15 minutos, 30 minutos, uma hora e duas horas. Há também Unlimited, que abre a regra e não agenda fecho nenhum, por isso escolha essa opção apenas quando tenciona fechar a regra você mesmo.

  5. 05

    O prazo é escrito em disco

    Cada tarefa de fecho guarda o ID do firewall, o ID da regra, a região e o prazo, e é escrita atomicamente em firewall-closures.json na pasta Application Support da app. Feche a app e o prazo continua lá: no arranque seguinte, as tarefas em atraso são fechadas sem o popover chegar a abrir. O limite honesto é que a app tem de estar a correr e com ligação à Civo para apagar uma regra. Sair ou adormecer não agenda nada do lado do servidor.

  6. 06

    Guarde o endereço como predefinição com nome

    Guarde o IP atual sob um nome como Casa ou Escritório e abra mais tarde um firewall para essa predefinição sem voltar a detetar. Dá jeito quando quer abrir acesso para um endereço fixo do escritório estando noutro sítio.

O que um firewall Civo novo faz mesmo

A documentação da API da Civo é explícita: não há escolha entre permitir e negar ao criar uma regra, porque um firewall novo nega tudo por defeito e você só abre as portas de que precisa. Um firewall criado por si começa portanto fechado e cada regra que adiciona é uma regra de autorização. A armadilha é outra. Todas as regiões trazem um firewall chamado literalmente Default (all open), e a documentação da Civo diz que tem todas as portas abertas e recomenda que o personalize. Por isso a resposta correta à pergunta que toda a gente faz é esta: o seu firewall nega por defeito, o firewall Default da região não.

O procedimento manual, por inteiro

Primeiro, obtenha o seu IPv4 público: curl -s https://api.ipify.org. Segundo, adicione a regra. Com a Civo CLI é civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress --label='laptop'. Terceiro, e é esta a parte que as pessoas saltam, anote o ID da regra que vem na resposta para a poder apagar depois. Atenção aos valores por defeito: deixe o --cidr de fora e a CLI aplica 0.0.0.0/0, o que abre a porta à internet inteira em vez de a abrir a si. Pelo painel o formato é o mesmo: Actions, depois Rules, depois uma porta única ou um intervalo, protocolo, direção e o CIDR.

A regra dura mais do que o motivo que a criou

Uma regra de firewall Civo não expira. Fica até que um humano ou uma chamada à API a remova. Numa linha empresarial com endereço fixo isso é apenas desarrumação. Numa ligação doméstica é exposição a sério, porque a maioria dos ISPs residenciais roda o endereço na reconexão ou na renovação noturna do lease. O /32 que autorizou passa então para o router de outra pessoa, e a sua regra está agora a deixar um desconhecido chegar à porta 6443 enquanto você está de fora a escrever uma segunda regra. Cada regra escrita à mão é uma pequena dívida, e a dívida só se paga quando se lembra de a apagar.

Porque é que a app nunca pode apagar uma regra sua

A posse decide-se pela etiqueta, não pela porta nem pelo endereço. A app só cria regras etiquetadas civo-cloud-<hostname>-<firewall-name>, e as regras abertas para uma ligação à API Kubernetes levam antes o sufixo k8s-api. O Close All em bloco lista as regras de cada firewall gerido e remove apenas aquelas cuja etiqueta começa por esse prefixo para esta máquina. Uma regra de produção escrita à mão não tem etiqueta nenhuma dessas, por isso nunca é candidata. Uma ressalva que vale a pena dizer: uma consulta de estado falhada continua a aparecer como fechada ou desconhecida na barra de menus, por isso o que está no ecrã não é prova de fecho do lado do servidor. Confirme no painel da Civo quando a coisa for séria.

A porta 6443 e porque volta sempre à conversa

6443 é a porta do servidor da API Kubernetes. Um cluster k3s na Civo publica o seu endpoint como https://<master-ip>:6443, que é o que o kubectl, um kubeconfig e qualquer cliente Kubernetes procuram. Se o firewall do cluster não autorizar a 6443 a partir do seu endereço, todos os comandos ficam em timeout, e é por isso que esse número domina as pesquisas sobre firewalls Civo. Na app, 6443 é a porta por defeito no onboarding, e ligar-se a um cluster verifica o acesso à API e abre a regra por si se ela faltar. Esse caminho do Kubernetes guarda a regra em memória e limpa-a ao desligar; não herda a persistência nem o retry da fila temporizada da barra de menus.

Perguntas que as pessoas fazem mesmo

Como abro um firewall Civo só para o meu IP?
Obtenha o seu IPv4 público com curl -s https://api.ipify.org e depois crie uma regra de ingress no firewall alvo com esse endereço escrito como CIDR /32. Com a Civo CLI: civo firewall rule create <firewall_id> --protocol=TCP --startport=6443 --endport=6443 --cidr=203.0.113.42/32 --direction=ingress. Não há escolha entre permitir e negar na API, porque um firewall criado por si nega tudo até abrir uma porta. Guarde o ID da regra devolvido para a poder apagar depois.
O que significa /32 numa regra de firewall Civo?
Em notação CIDR, o número depois da barra diz quantos bits iniciais do endereço estão fixos. Um endereço IPv4 tem 32 bits, por isso /32 fixa-os todos e a regra corresponde a exatamente um endereço. 203.0.113.42/32 é esse host e mais nenhum. Em contraste, /24 cobriria 256 endereços e 0.0.0.0/0 cobre a internet inteira, que é o que a Civo aplica quando cria uma regra sem CIDR.
O que acontece se o meu endereço IP mudar?
A regra não muda consigo. Continua a autorizar o endereço antigo, por isso perde o acesso e tem de adicionar uma segunda regra, enquanto quem receber esse endereço a seguir herda a sua abertura. Este é o caso normal em ligações domésticas, onde o endereço costuma rodar na reconexão ou na renovação noturna do lease. A solução não é um IP melhor, é uma regra que se fecha sozinha: abra a porta por um período fixo e deixe o prazo removê-la.
O CivoCloudManager mexe nas minhas regras de firewall existentes?
Não. Só apaga regras que ele próprio criou, identificadas pela etiqueta civo-cloud-<hostname>-<firewall-name>, com o sufixo k8s-api para o acesso à API Kubernetes. O Close All em bloco filtra a lista de regras de cada firewall gerido por esse prefixo antes de apagar seja o que for, por isso uma regra que escreveu à mão no painel da Civo, na CLI ou no Terraform não tem etiqueta correspondente e nunca é removida.
O temporizador de fecho automático sobrevive a fechar a app?
O prazo sobrevive. Cada tarefa guarda o ID do firewall, o ID da regra, a região e a hora de fecho num ficheiro JSON escrito atomicamente em Application Support, e as tarefas em atraso são fechadas no arranque seguinte. O que não sobrevive é o fecho sem ninguém presente: a eliminação é uma chamada à API a partir do seu Mac, por isso a app tem de estar a correr e com ligação à Civo. Sair ou adormecer para lá do prazo adia o fecho até voltar a abrir a app, não agenda nada do lado do servidor.

O controlo de firewall é o plano gratuito.

Abrir e fechar na barra de menus para o seu IP atual, predefinições com nome e o prazo de fecho automático continuam grátis depois de acabarem os sete dias de acesso completo, por isso esta página não lhe custa nada a pôr em prática.