заметил следующее:
если прокинуть порт на сервер, который имеет адрес 192.168.2.xxx — то все работает как надо.
но, почему то с хостами в 192.168.0.xxx и 192.168.1.xxx — no route to host.
очевидно, проблема в маршрутах.
но непонятно, почему при правильнонастроенной локальной сети появилась такая проблема.
кстати, оказывается в работе pf я все понял правильно.
однако, тестируемая машина использовала старый шлюз по умолчанию. оттого и трафик обратный шел через старый шлюз.
когда указал новый гейтвей — все сразу же заработало.
Честно говоря уже сам запутался.
Вам нужно внешние коннекты редиректить на внутренний сервер? rdr pass on $ext proto tcp from any to $ext port smtp -> $mail_smtp port smtp