Intercepte os pacotes TCP / IP recebidos no Linux e execute NAT

1

Eu quero tomar uma decisão sobre qual computador está por trás do firewall que está enviando o pacote.

Imagine que eu tenho dois PCs atrás do firewall e quero, com base em (meu algoritmo), tomar uma decisão no nível do firewall antes de fazer o NAT. Basicamente intercepte o pacote, então tome a decisão, como posso fazer isso?

Qual ferramenta devo usar para escrever meu código C personalizado para executar essa operação?

    
por Brian 03.08.2013 / 16:09

1 resposta

1

Não está claro se você deseja realmente agir sobre os dados no pacote ou apenas rotea-lo com base em qual computador o enviou?

iptables pode fazer o roteamento e é bastante sofisticado. Ele faz uso do que é chamado de "tabelas", ironicamente, e assim você pode interrogar e redirecionar os dados conforme eles passam pelas várias "tabelas".

Veja este tutorial para mais informações: link .

Existem 3 tabelas primárias, mas mais podem ser adicionadas através de plugins / módulos e também podem ser desenvolvidos outros personalizados.

Os principais:

  • Entrada
  • Encaminhar
  • Saída

Assim, quando um pacote entra na caixa, ele passa pela tabela "Entrada", onde pode ser usado. À medida que os pacotes fluem para fora da caixa, eles fluem pela tabela "Saída" e podem ser executados também na sua.

Veja este tutorial para mais informações sobre iptables .

por 03.08.2013 / 16:35