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
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
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
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
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