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:
sudo apt update
sudo apt install iptables
Para CentOS, Fedora ou RHEL, utilize:
sudo dnf install iptables
Passo 2: Verificar as Regras Existentes
Antes de modificar as regras de iptables, é importante verificar as regras atuais.
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:
sudo nano /etc/sysctl.conf
Adicione ou descomente a seguinte linha:
net.ipv4.ip_forward=1
Para aplicar as alterações, execute:
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:
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.
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:
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:
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.