Por que abrir portas na Oracle cloud falha: security lists vs iptables do Linux
Voltar para blog

Por que abrir portas na Oracle cloud falha: security lists vs iptables do Linux

07/06/2026 · 4 min · Infraestrutura

Quem sobe uma instância na Oracle Cloud Infrastructure (OCI) e tenta rodar uma aplicação web ou container customizado quase sempre bate no mesmo muro: você cria a regra de entrada no painel web, mas ao testar externamente a conexão morre em timeout ou é recusada.

A razão é simples: na OCI, a liberação de portas não depende apenas do painel da nuvem. O tráfego precisa passar por três barreiras distintas antes de chegar ao seu código.

1. As 3 camadas de bloqueio na rede da OCI#

Quando um cliente tenta se conectar ao seu servidor, o pacote passa por esta cadeia:

[Cliente Externo] 
       │
       ▼
1. Borda da Nuvem (VCN / Security Lists / NSG)
       │
       ▼
2. Kernel do Linux (iptables / nftables / firewalld)
       │
       ▼
3. Socket da Aplicação (Binding em 0.0.0.0 ou :::)
  1. Borda da Nuvem (VCN): Regras de Ingress na sub-rede (Security List) ou na interface de rede da máquina (NSG). Se faltar a regra aqui, o pacote é descartado antes de entrar no data center da VM.
  2. Kernel do Linux: Imagens oficiais da OCI (Ubuntu, Oracle Linux, RHEL) vêm com firewall ativo por padrão descartando conexões que não sejam SSH.
  3. Socket da Aplicação: O seu processo precisa escutar em 0.0.0.0 (todas as interfaces). Se estiver escutando apenas em 127.0.0.1, o Linux não aceitará requisições de fora.

2. Como liberar a porta sem deixar furos#

Passo 1: Liberar no painel da OCI (Security Lists)#

Com a recente atualização da interface do console Oracle Cloud (OCI), o menu de navegação e as opções de rede foram reorganizados. O caminho atualizado passo a passo é:

  1. Acessar Redes Virtuais: Abra o menu de navegação no canto superior esquerdo (menu hambúrguer), passe o cursor em Rede e clique em Redes virtuais na nuvem.

Navegação no menu da Oracle Cloud: Rede para Redes virtuais na nuvem

  1. Selecionar a sua VCN: Na listagem de redes do seu compartimento, clique no link da sua VCN ativa (por exemplo, vcn-20240512-2324).

Seleção da VCN na lista de Redes Virtuais na Nuvem da OCI

  1. Acessar Listas de Segurança: No menu lateral esquerdo da VCN (abaixo de Recursos), clique em Listas de Segurança e escolha a lista de segurança associada (normalmente a Default Security List for vcn-...).

Acesso a Listas de Segurança da VCN na Oracle Cloud

  1. Adicionar Regras de Entrada: Dentro da lista de segurança, selecione a aba Regras de segurança e clique no botão Adicionar Regras de Entrada (Ingress Rules).

Aba Regras de segurança e botão Adicionar Regras de Entrada no console OCI

No formulário de criação da regra de entrada, preencha os parâmetros:

Formulário de Adicionar Regras de Entrada no console Oracle Cloud Infrastructure

Se preferir automatizar pelo terminal:

# Adicionar regra de Ingress TCP via OCI CLI
# Cuidado: o comando update substitui o array inteiro de regras.
# Consulte antes com 'oci network security-list get' para mesclar com as regras existentes (ex.: porta 22 SSH) ou use um NSG dedicado.
oci network security-list update \
  --security-list-id <OCID_DA_SECURITY_LIST> \
  --ingress-security-rules '[{"source": "0.0.0.0/0", "protocol": "6", "tcpOptions": {"destinationPortRange": {"min": 8088, "max": 8088}}}]'

Passo 2: Ajustar o firewall interno do Linux#

No Ubuntu / Debian na OCI#

# 1. Inserir a regra no início da chain INPUT
sudo iptables -I INPUT 1 -p tcp --dport 8088 -j ACCEPT

# 2. Salvar para não perder as regras ao reiniciar a máquina
sudo apt-get install iptables-persistent -y
sudo netfilter-persistent save

No Oracle Linux / RHEL#

sudo firewall-cmd --zone=public --add-port=8088/tcp --permanent
sudo firewall-cmd --reload

Passo 3: Checar se a aplicação está escutando na interface pública#

Rode ss no servidor para verificar o socket:

sudo ss -tulpn | grep 8088

3. Como testar de onde vem o bloqueio#

Faça um teste de conexão da sua própria máquina (fora da nuvem) usando nc ou curl:

# Testar porta aberta via Netcat
nc -zv -w 3 <IP_PUBLICO_OCI> 8088
Resposta do testeOnde está o bloqueio?O que fazer
Connection Timed OutBorda da Nuvem (VCN)A Security List ou o NSG não tem a porta liberada.
Connection RefusedFirewall do Linux ou AplicaçãoO pacote chegou na VM, mas o iptables descartou ou a aplicação não está rodando.
Connected / OpenTudo certoConexão estabelecida com sucesso.

Conclusão: dicas práticas para a rede na OCI#

  1. Sempre rode netfilter-persistent save: No Ubuntu da OCI, regras criadas no iptables sem persistência somem na primeira reinicialização da instância.
  2. Use Network Security Groups (NSGs): Security Lists afetam todas as máquinas da sub-rede. Se você quer abrir uma porta apenas para um servidor específico, anexe um NSG à placa de rede dele.
  3. Inspecione contadores de pacotes: Se tiver dúvida se o pacote está chegando, rode sudo iptables -L INPUT -n -v e observe se o contador pkts da sua regra sobe quando você tenta conectar.
  4. Proteja a memória do servidor: Em instâncias ARM/Free Tier com recursos limitados, configure um swapfile adequado no kernel Linux para evitar que o OOM Killer derrube serviços silenciosamente.

Este artigo foi útil?

Deixe uma reação rápida para apoiar o conteúdo:

CC BY-NC

Este post está licenciado sob CC BY-NC.

Comentários

Participe da discussão abaixo.

0 comentários