Skip to content

Instantly share code, notes, and snippets.

@murder
Last active February 5, 2022 19:05
Show Gist options
  • Save murder/b2beecfce4b79fe0a43c87420d1649a9 to your computer and use it in GitHub Desktop.
Save murder/b2beecfce4b79fe0a43c87420d1649a9 to your computer and use it in GitHub Desktop.
Configuração iptables OCI

Liberação portas

Caso não queira ler as notas, você pode ir diretamente para a solução aqui

O propósito dessa pequena anotação é a remoção de regras padrões no iptables disponível como padrão nas imagens Canonical Ubuntu da Oracle Cloud

Como funciona o iptables ?

O iptables é um firewall que vem configurado por padrão nas imagens Canonical Ubuntu da Oracle Cloud

Logo após iniciar uma instalação limpa do Canonical Ubuntu, o iptables vem configurado para ser iniciado por padrão, como podemos ver:

ubuntu@ubuntu-1:~$ sudo systemctl list-unit-files iptables.service
UNIT FILE        STATE   VENDOR PRESET
iptables.service enabled enabled      

Além disso, por padrão, o iptables vem com uma regra que nega o acesso externo a qualquer porta TCP que não seja a 22 com a seguinte regra:

-A INPUT -j REJECT --reject-with icmp-host-prohibited

Podemos ver essa regra usando o comando sudo iptables -S

Note na linha 11: Resultado do iptables -S

Como remover as regras de bloqueio ?

Para remover a regra da memória, substituímos o -A, que está no início da regra, por -D

ubuntu@ubuntu-1:~$ sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited

Porém, ao reiniciar o servidor, essa instrução de remoção não será persistida sendo necessário configurar que essa regra seja removida.

Temos duas opções para realizar essa etapa:

  • Chamar o serviço netfilter para que salve o estado atual do iptables após remover a regra:

    # Removendo a regra diretamente na memória do iptables
    ubuntu@ubuntu-1:~$ sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
    # Salvando o estado atual do iptables na configuração para que seja persistida
    ubuntu@ubuntu-1:~$ sudo /etc/init.d/netfilter-persistent save
     * Saving netfilter rules..
    run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
    run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
    [ OK ]
  • Ou você pode editar o arquivo /etc/iptables/rules.v4 manualmente utilizando seu editor de preferência:

    ubuntu@ubuntu-1:~$ sudo vi /etc/iptables/rules.v4 

Como desativar o iptables ?

Caso queira desativar o iptables (normalmente recomendado por praticidade para quem não precisa de firewalls no próprio Linux), utilize o seguinte comando:

# Desativando o iptables com o systemctl
ubuntu@ubuntu-1:~$ sudo systemctl disable iptables.service 
Removed /etc/systemd/system/multi-user.target.wants/netfilter-persistent.service.
# Verificando se o iptables foi desativado com sucesso
ubuntu@ubuntu-1:~$ sudo systemctl list-unit-files iptables.service
UNIT FILE        STATE    VENDOR PRESET
iptables.service disabled enabled

Diretamente

Para rapidamente remover a regra de bloqueio do iptables e já deixar salvo na configuração utilize a seguinte instrução:

sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited && sudo netfilter-persistent save

O resultado será esse:

ubuntu@ubuntu-1:~$ sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited && sudo netfilter-persistent save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment