OpenWRT e iptables: redireciona todo o tráfego de ip1 para ip2

0

Estou ciente de outras perguntas com o mesmo tópico, mas não consegui fazê-lo funcionar.

Eu gostaria de encaminhar dentro da minha rede local todo o tráfego de ip1 para ip2. Apenas de dentro da rede, não fora.

Eu tenho um roteador com OpenWRT e gostaria de adicionar um iptables dentro do roteador. Gostaria que esse encaminhamento fosse visível de qualquer um dos dispositivos conectados à minha rede local.

Isso significa que do meu computador (conectado via wifi ao roteador openwrt) se eu abrir um navegador e digitar: 192.168.1.42, ele será redirecionado para 192.168.1.198. Tanto na porta 80 e 3000 (e eventualmente outros)

Se eu abrir 192.168.1.198, vejo meu pequeno servidor http.

Eu tentei várias combinações de iptables via ssh para o roteador OpenWRT:

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.42 -j DNAT --to-destination 192.168.1.198
iptables -t nat -A OUTPUT -p tcp -d 192.168.1.42 -j DNAT --to-destination 192.168.1.198

Nada está funcionando. Em particular .. onde posso ver os logs?

EDITAR:

Eu também fiz isso a partir da sorte do painel web no OpenWRT. Parece correto para mim:

Claro que não há nada em 192.168.1.42 (eu quis dizer isso como um ip fixo virtual)

    
por nkint 17.06.2014 / 14:27

1 resposta

1

Como você descreveu, isso não pode ser feito com iptables do seu roteador. iptables só opera em pacotes sendo roteados através do seu roteador (bom nome, hein?). Os pacotes que vão de 2 hosts na mesma rede física têm todo o seu encaminhamento pelos próprios hosts; não há necessidade de passar pelo seu roteador.

Se 192.168.1.42 não existir realmente, você poderia dar a 192.168.1.198 um segundo endereço IP de 'alias'. Ou até mesmo fornecer a terceira máquina o alias ip e encaminhar o tráfego dela para 192.168.1.198 .

    
por 17.06.2014 / 14:35