Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.5.5. FORWARD e Regras NAT

A maioria dos ISPs fornecem somente um número limitado de endereços IP roteáveis publicamente à empresa que eles servem.
Os administradores devem portanto encontrar formas alternativas de compartilhar acesso à serviços de Internet sem fornecer endereços IP públicos à todos os nós na LAN. O uso de endereços IP privados é a forma mais comum de permitir que todos os nós em uma LAN acessem adequadamente serviços de rede internos e externos.
Roteadores de Limite (como os firewalls) podem receber transmissões de entrada de Internet e rotear pacotes para o nós da LAN pretendido. Ao mesmo tempo, os firewalls/gateways podem também rotear requisições de saída de um nó de LAN para serviço de Internet remoto.
Este encaminhamento de tráfego de rede pode se tornar perigoso, especialmente com a disponibilidade de ferramentas modernas de intrusão que podem fazer o spoof de endereços IP internos e fazer com que a máquina remota do invasor aja como um nó em sua LAN.
Para evitar isto, o iptables fornece políticas de roteação e encaminhamento que podem ser implementadas para impedir o uso anormal dos recursos de rede.
A corrente FORWARD permite que um administrador controle onde os pacotes podem ser roteados dentro de uma LAN. Por exemplo, para permitir o encaminhamento de uma LAN inteira (considerando-se que o firewall/gateway receba um endereço IP na eth1), use as regras a seguir:
[root@myServer ~ ] # iptables -A FORWARD -i eth1 -j ACCEPT
[root@myServer ~ ] # iptables -A FORWARD -o eth1 -j ACCEPT
Esta regra dá acesso à sistemas por detrás de firewall/gateway à rede interna. O gateway roteia pacotes de um nó de LAN ao seu nó de destino, passando todos os pacotes por seu dispositivo eth1.

Nota

Por padrão, a política IPv4 nos kernels do Red Hat Enterprise Linux desabilitam o suporte de encaminhamento de IP. Isto evita que máquinas rodando o Red Hat Enterprise Linux funcionem como roteadores de limite dedicado. Para habilitar o encaminhamento de IP, use o seguinte comando:
[root@myServer ~ ] # sysctl -w net.ipv4.ip_forward=1
Esta mudança de configuração é válilda somente para a sessão atual; não persiste através de reinicializações ou reinício de serviço de rede. Para definir o encaminhamento de IP permanentemente, edite o arquivo /etc/sysctl.conf como a seguir:
Localize a linha a seguir:
net.ipv4.ip_forward = 0
Edite-o para fica como a seguir:
net.ipv4.ip_forward = 1
Use o seguinte comando para permitir mudanças no arquivo sysctl.conf:
[root@myServer ~ ] # sysctl -p /etc/sysctl.conf

2.5.5.1. Postrouting e Mascaramento de IP

Aceitar pacotes encaminhados via dispositivo de IP interno do firewall permite que os nós da LAN se comuniquem entre si; no entanto eles ainda não poderão se comunicar fora da Internet.
Para permitir nós da LAN com endereços IP privados se comunicarem com redes externas públicas, configure o firewall para IP masquerading, o qual mascara requisições dos nós da LAN com endereços IP do dispositivo externo do firewall (neste caso eth0):
[root@myServer ~ ] # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Esta regra usa a tabela de coincidências do pacote NAT (-t nat) e especifica a corrente POSTROUTING embutida para o NAT (-A POSTROUTING) no dispositivo de rede externo do firewall (-o eth0).
O POSTROUTING permite que os pacotes sejam alterados a medida que deixam o dispositivo externo do firewall.
O alvo -j MASQUERADE é especificado para mascarar o endereço IP de um nó com o endereço IP externo do firewall/gateway.