Thanks @DanielB. Well, I have a server (IP 10.0.0.1) running on port 9090. When it receives a SYN from a client, I want the SYN-ACK to go out with src IP:port as 10.0.0.2:9090. Through tcpdump, I see the SYN-ACK go out with 10.0.0.1:9090
Eu não acho que exista uma maneira de conseguir o que você quer com o iptables NAT (e se você achou que não seria útil, os clientes irão rejeitar pacotes de IPs inesperados)
O NAT de iptables funciona em conexões , somente o primeiro pacote de cada conexão está sujeito às tabelas NAT visíveis ao usuário. Os pacotes posteriores são traduzidos (ou não) de acordo com as entradas de rastreamento de conexão estabelecidas pelo primeiro pacote.