uma outra questão que esqueci de mencionar é sobre o forwarding do packet filter que ainda não tem suporte a faze-lo sem alterar o pacote. Hoje o forward funciona alterando o cabeçalho do pacote afim de "natear" a conexão, coisa que com o tproxy não deve ser alterado, para que o tproxy reconheça a origem e faça a simulação do ip de origem.
Para que isso funcione no FreeBSD, é necessário o patch que citei anteriormente e usa funções nativas do ipfw e adapta ao uso do mesmo em situações de BRIDGE.
Isso mesmo, eu uso o patch sempre quando o ambiente esta em uma conexão em bridge, sem bridge, sendo o firewall o roteador da rede, não é necessário o uso do patch, já que nativamente o IPFW faz o forwarding sem gerar um "NAT" na conexão.
Nas versões do PF via openbsd 5.4, talvez isso funcione com alguns parâmetros novos que vi no manual do mesmo, mas como ainda não temos portado para o FreeBSD, não sei te dizer ao certo se os parâmetros são para isso mesmo.