Estrutura do IPTables 2: a tabela nat
Quais os poderes da tabela nat existente no iptables? E as listas PREROUTING, POSTROUTING, para que servem?
Parte 3: Lista nat POSTROUTING
Nesta lista irão as regras com poder de alterar um pacote após o roteamento. É a última etapa antes do pacote deixar a interface de rede em direção ao "mundo".
No POSTROUTING não tem sentido algum alterar parâmetros de destino, pois ao alterá-los o pacote poderia assumir um novo destino, o que é IMPOSSÍVEL, pois a decisão de roteamento já ocorreu (observe a posição do gancho POSTROUTING na figura 1).
Assim sendo, nesta lista só é possível alterar características de origem de um pacote, seja ip ou seja porta. Também não tem sentido o uso de -i interface (entrando pela interface), pois o pacote necessariamente está saindo! Somente o "-o interface" pode ser empregado.
A ação (-j) que permite alterar parâmetros de origem é SNAT, sendo que no POSTROUTING também é aceito a ação DROP e LOG:
iptables -t nat -A POSTROUTING -p tcp -s 10.1.0.4 -j SNAT --to 10.1.0.1
Neste exemplo está se trocando o ip de origem para 10.1.0.1 em todos os pacotes tcp que estiverem saindo por qualquer interface e que tinham o ip de origem como 10.1.0.4.
Alterar parâmetros de origem é necessário quando se deseja empregar a técnica de NAT estático ou dinâmico (dinâmico é também conhecido como mascaramento de ip) para resolver o problema de ips privados poderem acessar a Internet.
No POSTROUTING não tem sentido algum alterar parâmetros de destino, pois ao alterá-los o pacote poderia assumir um novo destino, o que é IMPOSSÍVEL, pois a decisão de roteamento já ocorreu (observe a posição do gancho POSTROUTING na figura 1).
Assim sendo, nesta lista só é possível alterar características de origem de um pacote, seja ip ou seja porta. Também não tem sentido o uso de -i interface (entrando pela interface), pois o pacote necessariamente está saindo! Somente o "-o interface" pode ser empregado.
A ação (-j) que permite alterar parâmetros de origem é SNAT, sendo que no POSTROUTING também é aceito a ação DROP e LOG:
iptables -t nat -A POSTROUTING -p tcp -s 10.1.0.4 -j SNAT --to 10.1.0.1
Neste exemplo está se trocando o ip de origem para 10.1.0.1 em todos os pacotes tcp que estiverem saindo por qualquer interface e que tinham o ip de origem como 10.1.0.4.
Alterar parâmetros de origem é necessário quando se deseja empregar a técnica de NAT estático ou dinâmico (dinâmico é também conhecido como mascaramento de ip) para resolver o problema de ips privados poderem acessar a Internet.
Já tá nos favoritos.