Linux e Unix
Firewall iptables parte 07 - Encaminhamento de Portas (Port Forwarding) - Linux
Em nosso sétimo artigo sobre o Firewall Iptables no Linux, vamos aprender a realizar Encaminhamento de Portas (Port Forwarding), o que permitirá o acesso a serviços em servidores da rede interna a partir da rede externa, atravessando nosso gateway Linux.
O que vamos precisar:
Máquinas: 1 gateway com iptables configurado, 1 servidor interno (para o qual as portas serão redirecionadas) e 1 estação para testes, na mesma rede da interface WAN do gateway.
Vamos usar como exemplo para teste um servidor Web Apache rodando numa máquina da rede interna. Veja na figura a seguir o diagrama de nossa rede:
Configurações:
Gateway Linux iptables: IP dinâmico na interface WAN; IP 192168.10.1 na interface LAN
Servidor Web Apache: IP 192.168.10.10
Vamos aos procedimentos para realizar o encaminhamento de portas do nosso gateway Linux para o servidor Web, que usa a porta 80 (padrão):
1. Efetuar compartilhamento de Internet no gateway, conforme descrito no artigo http://www.planetaunix.com.br/2014/12/firewall-iptables-parte-06.html
2. No servidor interno, configure a rede com IP estático (rede local), teste o acesso à Internet (por exemplo, com um ping 8.8.8.8) e então, atualize a lista de repositórios com:
# apt-get update
3. Ainda no servidor interno, instalar o serviço do apache (se já não estiver instalado):
# apt-get install apache2
4. Altere a página padrão do servidor para facilitar nosso teste de encaminhamento de portas:
# vi /var/www/index.html
Escreva qualquer coisa no arquivo, como por exemplo “Boson Treinamentos”
O servidor web HTTP está então configurado com o IP 192.168.10.10, com o serviço de Web acessível na porta 80
5. Agora, no gateway, vamos criar as regras a seguir para redirecionar as requisições ao servidor web que chegam no gateway para a porta 80 do servidor interno:
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.10.10:80
# iptables -A FORWARD -p tcp -d 192.168.10.10 --dport 80 -j ACCEPT
Estas duas regras são simples. A primeira especifica que todas as conexões TCP que chegam a interface WAN do gateway com destino à porta 80 devem ser enviada à porta 80 da máquina interna (192.168.10.10). Porém, essa regra apenas não é suficiente para realizar o encaminhamento de portas como desejamos. Precisamos também criar uma regra na cadeia FORWARD para permitir o encaminhamento dos pacotes para a porta 80 da máquina 192.168.10.10.
6. Testando: Acesse o IP externo do gateway a partir de um navegador em uma máquina cliente qualquer, digitando em um navegador o endereço http://ip_wan_gateway,, e verifique se a página web com a mensagem “Boson Treinamentos” (ou qualquer outra riada no servidor Web) é carregada.
Para o acesso remoto via Internet talvez seja necessário configurar um serviço de DNS dinâmico em seu roteador de internet, caso sua rede não possua IP externo fixo. Veremos como fazer isso em um outro artigo.
7. Podemos verificar as conexões sendo encaminhadas executando no gateway o comando:
# cat /proc/net/nf_conntrack
Os módulos do kernel “nf_conntrack_*” habilitam o iptables a examinar o status das conexões armazenando em cache informações relacionadas a essas conexões. Ler o conteúdo do arquivo /proc/net/nf_conntrack nos permite examinar uma lista de todas as entradas atuais no banco de dados do conntrack.
É isso aí! Para encaminhar portas de outros serviços para servidores da rede local, repita os comandos acima tomando o cuidado de configurar as portas e protocolos corretos para casa serviço.
Sobre Fábio dos Reis
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Linux e Open Source em geral, Astrônomo Hobbysta, colecionador de livros e estudante de idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo.
loading...
-
Configurando Um Servidor Dhcp No Linux
Por: Fábio dos ReisNeste artigo aprenderemos a instalar e configurar um servidor DHCP simples no Linux. Usarei a distribuição Debian no processo. Primeiramente, vamos configurar a interface de rede que servirá aos clientes do DHCP. Abra o arquivo...
-
Firewall Iptables - Parte 05 - Trabalhando Com O Target Reject - Linux
Vejamos agora alguns exemplo do uso do target REJECT. Para isso usaremos algumas mensagens ICMP para visualizar a resposta do firewall ao remetente dos pacores que serão bloqueados.O target REJECT só é válido nas cadeias INPUT, OUTPUT e FORWARD,...
-
Firewall Iptables - Parte 04 - Salvando As Regras Criadas - Linux
Salvando as regras do iptables em arquivoApós criarmos as regras do firewall, é possível salvá-las em um arquivo com o comando:# iptables-save > arquivo E podemos recuperá-las com:# iptables-restore < arquivo Tornando as regras do firewall...
-
Firewall Iptables- Parte 03 - Linux
Alguns exemplos de regras do iptables1. Vamos começar configurando as regras-padrão da tabela FILTER. Vamos descartar todos os pacotes que chegam ao servidor por meio da cadeia INPUT e liberar todos os pacotes originados no servidor por meio da cadeia...
-
Firewall Iptables - Parte 01 - Linux
Configurar de forma conveniente um firewall é de extrema importância para a segurança de qualquer sistema operacional moderno. No caso das distribuições Linux, a grande maioria possui um subsistema de filtragem de pacotes e ferramentas para gerenciamento...
Linux e Unix