Migrar regras do iptables para um novo servidor

Ao efetuar a migração de um servidor para outro, normalmente migrar as regras do iptables faz parte do processo. Abaixo ensinamos como fazer isso:

Pre-requisitos

Necessitamos de dois servidores. O servidor de origem, que é aquele que queremos migrar, chamaremos de ‘Servidor A’. O servidor de destino, que é para onde as regras devem ir, chamaremos de ‘Servidor B’.

Você precisará ter acesso completo aos servidores, como root ou utilizando o su/sudo.

Ver regras existentes

Antes de migrar suas regras existentes, vamos primeiro conferir elas. Digite o seguinte no ‘Servidor A’:

  • sudo iptables -S
Saída (exemplo):
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 15.15.15.51/32 -j DROP

The example rules above will be used to demonstrate the firewall migration process.

Exportar Regras

O comando iptables-save escreve as regras para stdout (standard out / saída padrão). Isto deixa fácil exportar as regras para um arquivo.

No ‘Servidor A’, aquele que tem as regras que queremos migrar, digite o comando iptables-save seguido do nome do arquivo que irá conter as regras exportadas, como aqui:

  • cd ~
  • sudo iptables-save > iptables-export

Isto irá criar o arquivo iptables-export, em seu diretório root (que acessamos antes do comando).

Copiar as regras para o novo servidor

Nós precisamos copiar as novas regras para o servidor de destino, o ‘Servidor B’. A maneira mais fácil de fazer isto é utilizando o comando scp ou copiar e colar o conteúdo no novo servidor. Iremos demonstrar a utilização do comando scp para copiar o arquivo para a pasta /tmp.

No ‘Servidor A’, execute este comando scp. Assegure-se de substituir as partes em negrito para o IP e usuário do seu servidor:

  • scp iptables-export usuario@servidor_b_ip_address:/tmp

Após fornecer a sua senha, o arquivo será copiado para a pasta /tmp no novo servidor.

Importar as regras

Com as regras no novo servidor, agora precisamos carregá-las no nosso iptables do servidor novo. Caso suas regras contenham endereços IPs, certifique-se de alterá-los para os do novo servidor.

Após concluir as alterações, vamos utilizar o comando iptables-restore para restaurá-las.

No Server B, o servidor de destino, execute este comando:

  • sudo iptables-restore < /tmp/iptables-export

Isto irá carregar as regras para o seu iptables. Você poderá confirmar utilizando o comando sudo iptables -S

Salvar regras

No Ubuntu

Para salvar as regras de forma permanente, precisamos instalar o pacote iptables-persistent

  • sudo apt-get install iptables-persistent

Durante a instalação, você será perguntado se deseja salvar suas atuais regras. Responda ‘yes’ para salvar.

Para atualizar suas regras no future, caso faça alterações, digite o comando abaixo:

  • sudo invoke-rc.d iptables-persistent save

CentOS 6 and antigos

No CentOS 6 e mais antigos —CentOS 7 utilize FirewallD por padrão — você poderá utilizar o comando abaixo para salvar as regras:

  • sudo service iptables save

Isto irá escrever elas no arquivo /etc/sysconfig/iptables, que é carregado durante a inicialização do servidor.