
Eu poderia usar alguma ajuda com isso. Eu nem sei como começar, apesar de estar familiarizado com o iptables.
Eu tenho um gadget com endereço IP estático 10.0.0.2/24. Isto é o que é e não posso mudar isso. Meu laptop costumava ter apenas uma NIC. Consegui me conectar à Internet pública e a este gadget (que não precisa acessar nenhum outro dispositivo além do meu laptop) apenas conectando-o à minha rede de desenvolvimento e dando ao meu laptop NIC um endereço secundário 10.0.0.1 e conectando o dispositivo a o mesmo interruptor do meu laptop. Não é o ideal, mas funcionou.
Agora tive que mudar para outra rede de desenvolvimento, cujo intervalo de IP é .... (música de suspense) .... 10.0.0.0/24. E 10.0.0.2 está em seu intervalo DHCP ocupado por outro dispositivo.
Agora obtive outra placa de interface de rede (eth1) para meu laptop e atribuí a ela um endereço IP 10.42.42.1.
Basicamente o que eu preciso fazer é alguma mágica do iptables para fazer com que quando eu acessar por exemplo 10.42.42.2, esse tráfego ao sair da eth1 receba o endereço IP 10.0.0.5 por exemplo e seja passado para 10.0.0.2 na eth1, e quando o gadget responder e eth1 receber a resposta, ela será passada para meu laptop host como se viesse de 10.42.42.2.
Provavelmente preciso de regras SNAT/DNAT aqui, mas como devo configurá-las?
H
Responder1
Essa não é uma tarefa para iptables
se network namespaces
adequar melhor ao problema,
# Create network namespace gadget
ip netns add gadget
# Put device eth0 in gadget namespace
ip link set eth0 netns gadget
# Configure network in gadget namespace
# # Bring up ifaces
ip netns exec gadget ip link set lo up
ip netns exec gadget ip link set eth0 up
# # 10.0.0.0/24 address on eth0
ip netns exec gadget ip address add 10.0.0.1/24 dev eth0
# Now gadget pinging should work...
ip netns exec gadget ping 10.0.0.2