Configurar o Encaminhamento de Portas Usando Iptables no Linux

Simplificando, o encaminhamento de portas é como orientar o entregador sobre qual apartamento deve ir num grande condomínio. Normalmente, a porta principal do condomínio está fechada para estranhos. Mas, se alguém que mora lá espera uma entrega, pode informar ao segurança para deixar o entregador entrar e direcioná-lo para o apartamento específico.

De forma semelhante, nas redes de computadores, o encaminhamento de portas permite que alguém de fora aceda a um serviço dentro de uma rede privada, que normalmente não estaria acessível. Isto é útil quando se deseja permitir que pessoas fora da sua rede utilizem um servidor web, joguem no seu servidor de jogos ou acedam a outros serviços que configurou.

Os sistemas operativos Linux, como Ubuntu, CentOS e Debian, utilizam uma ferramenta chamada “iptables” para configurar o encaminhamento de portas. O iptables é um programa que permite definir regras para controlar como os pacotes de dados se movem através do firewall do seu computador, ajudando a manter a sua rede segura. Estas regras são organizadas em diferentes cadeias, de acordo com a sua função.

Neste tutorial, vamos mostrar como configurar o encaminhamento de portas usando iptables num sistema Linux.

Pré-requisitos

  • Um computador Linux com acesso root ou sudo.
  • O pacote iptables deve estar instalado. Se não estiver, pode instalá-lo usando o gestor de pacotes da sua distribuição (como apt, dnf ou yum).

Guia Passo-a-Passo

Passo 1: Instalar o Iptables

Primeiro, certifique-se de que os pacotes iptables estão instalados no seu computador Linux. Se não estiverem, instale-os utilizando o gestor de pacotes padrão da sua distribuição Linux.

Para Debian e Ubuntu, utilize os seguintes comandos:

Bash
sudo apt update
sudo apt install iptables

Para CentOS, Fedora ou RHEL, utilize:

Bash
sudo dnf install iptables

Passo 2: Verificar as Regras Existentes

Antes de modificar as regras de iptables, é importante verificar as regras atuais.

Bash
sudo iptables -L -v -n

A opção -L lista as regras, -v exibe informações detalhadas e -n mostra os endereços IP e números de portas em formato numérico.

Passo 3: Activar o Encaminhamento de IP

Para permitir o encaminhamento a nível do kernel, precisamos activar o encaminhamento de IP.

Edite o ficheiro /etc/sysctl.conf:

Bash
sudo nano /etc/sysctl.conf

Adicione ou descomente a seguinte linha:

Bash
net.ipv4.ip_forward=1

Para aplicar as alterações, execute:

Bash
sudo sysctl -p

Isto garantirá que o encaminhamento de IP esteja activado na inicialização.

Passo 4: Configurar a Regra de Encaminhamento

Para encaminhar o tráfego de uma porta para outra, utilize o seguinte comando:

Bash
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.105:80

Substitua 8080 pelo número da porta na qual o seu sistema recebe tráfego, 192.168.1.100 pelo endereço IP do dispositivo para o qual deseja encaminhar o tráfego, e 80 pelo número da porta no dispositivo de destino.

Passo 5: Mascarar o IP

Para garantir o roteamento correcto dos pacotes de retorno, utilize o alvo MASQUERADE, que irá mascarar o endereço IP dos pacotes de entrada com o endereço IP da interface de rede de saída.

Bash
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

Passo 6: Guardar as Alterações

Para garantir que as alterações persistam após uma reinicialização, será necessário guardar estas regras.

No Ubuntu, pode utilizar o pacote iptables-persistent. Instale-o utilizando:

Bash
sudo apt install iptables-persistent

Durante a instalação, será perguntado se deseja guardar as regras de iptables existentes. Selecione “Sim” para ambas as regras IPv4 e IPv6.

Para CentOS, Fedora ou RHEL, utilize:

Bash
sudo service iptables save

Isto irá guardar as suas regras em /etc/sysconfig/iptables.

Passo 7: Verificar a Configuração

Pode verificar se o encaminhamento de portas está a funcionar ligando-se à porta de origem a partir de outro dispositivo. Pode utilizar uma ferramenta como nc, telnet ou curl para verificar.

Lembre-se de verificar se alguma regra de firewall existente ou grupos de segurança estão a bloquear o acesso às portas de origem ou de destino.

Conclusão

O iptables é uma ferramenta poderosa que permite aos administradores Linux configurar regras específicas para o encaminhamento de pacotes e outras tarefas relacionadas com o firewall. Seguindo os passos descritos neste artigo, pode configurar com sucesso o encaminhamento de portas usando iptables num sistema Linux. Lembre-se sempre de verificar as suas regras e garantir que as suas configurações estejam em conformidade com as políticas de segurança da sua rede.

Artigos Relacionados