O que você quer não é possível com o Linux. Pelo menos não dentro da camada de roteamento. Se um endereço de destino pertence a uma interface local, o pacote sempre passa pela interface de loopback de onde não pode (por RfC) ser roteado para o exterior.
Eu pensei que seria possível usar iptables
e DNAT
para alterar o destino para um endereço não usado na sub-rede e usar ip neigh
para definir o endereço MAC estaticamente para o outro NIC, mas nem mesmo a regra DNAT
é correspondida por pacotes para endereços locais.
Pode ser possível com uma máquina virtual ou com namespaces de rede para que o kernel não veja 10.1.1.1
on eth0
. Mas você precisaria de proxy ARP e DNAT para mover os pacotes de entrada da interface física para a virtual.
Se vale a pena esse esforço?