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 .