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.