redireciona o tráfego de saída para IP interno usando iptables

1

Estou tentando usar o iptables para redirecionar o tráfego de saída para um endereço IP externo como se fosse um tráfego de entrada. Minha configuração é a seguinte:

         NET A          NET B      
|------|       |------|       |--|
|SERVER|<----->|DD-WRT|<----->|FW|<--> WAN
|------|   |   |------|       |--|
           |
|------|   |
| COMP |<--|
|------|

Onde SERVER e COMP são computadores na rede A, e DD-WRT é um roteador conectando as redes A e B, e o FW é um grande firewall conectando a rede B à WAN.

Eu tenho os encaminhamentos de porta configurados corretamente no meu roteador DD-WRT e o firewall grande para encaminhar os pacotes para o SERVIDOR quando os computadores externos tentam se conectar ao FW. No entanto, quando COMP tenta se conectar ao FW, os pacotes são descartados porque o FW não reconhece que os pacotes que chegam internamente destinados ao endereço da WAN devem ser roteados de acordo com as regras externas.

Portanto, gostaria de rotear de alguma forma os pacotes provenientes da COMP destinados ao endereço WAN do FW para aparecerem no DD-WRT como se eles estivessem destinados ao endereço da Rede B, já que sei que ele é capaz de rotear esses tipos de pacotes corretamente.

Se alguém tiver uma sugestão melhor, eu ficaria feliz em ouvi-la!

    
por staticfloat 22.06.2010 / 09:02

1 resposta

2

Eu estou supondo que você está fazendo NAT para o tráfego de NET A para NET B, caso em que você precisará adicionar uma regra para excluir o tráfego do NET A destinado para o endereço NET B do DD-WRT - algo como:

iptables -t nat -I POSTROUTING -s <net.a.ip.block/mask> -d <dd-wrt.net.b.address> -j ACCEPT

ou você pode reescrever o endereço da seguinte forma:

iptables -t nat -I PREROUTING -s <net.a.ip.block/mask> -d <dd-wrt.net.b.address> -j DNAT --to <SERVER.net.a.address>

EDIT: Relendo a pergunta corretamente, você precisará de uma variante do segundo método:

iptables -t nat -I PREROUTING -s <net.a.ip.block/mask> -d <fw.wan.add.ress> -j DNAT --to <server.net.a.address>
    
por 22.06.2010 / 09:11