Parece-me um problema com o endereço IP de origem. Eu imagino que existem várias maneiras de corrigir isso. Possivelmente, o mais fácil seria desativar o caminho inverso de filtragem .
Uma opção alternativa pode ser reescrever pacotes para garantir que o endereço de saída sempre corresponda à sub-rede com algumas regras de snat - possivelmente algo como
iptables -t nat -A POSTROUTING -s 192.168.2.x -o 192.168.3.123 --sport 25
-j SNAT --to 192.168.3.x