> Какое решение, идиологически, более правильное??
Я думаю, что в случае DNAT решение зависит от задачи.
Например, может случиться так, что с другого src IP пойдет на другой dnat IP, и т п.
Опять же, зависит от числа IP, которым разрешено. Если их >1 я бы делал по варианту 2, но с учетом вышенаписанного мной.
---
В случае с SNAT решение "фильтровать в nat" обычно приводит к тому, что на внешнем интерфейсе летают пакеты с адресами внутренней сети.
---
В общем случае, на мой взгляд, "правильно идеологически" - это сделать так, чтобы минимальное манипулирование правилами приводило к максимально корректному на ваш взгляд результату - т.е. минимизировать свою работу при максимальном уровне правильности правил.
Такая минимизация полезна, т.к. уменьшается вероятность "чего-нибудь забыть".