Цепочки INPUT и OUTPUT просматриваются для пакетов, доставляемых и отправляемых из приложений, работающих на локальном компьютере.
Если приложение отправляет пакет, оно проходит
app -> OUTPUT -> POSTROUTING -> interface
И наоборот, пакет, доставленный приложению, пересекает
interface -> PREROUTING -> INPUT -> app
Пока пересылаемый пакет проходит
interface -> PREROUTING -> FORWARD -> POSTROUTING -> interface
Обратите внимание, что MASQUERADE - это особый случай SNAT , когда адрес источника берется из интерфейса.
Также посмотрите эту картинку или много похожих, которые вы можете найти в руководствах по iptables .
редактировать
Если вы хотите выполнить DNAT для пакетов, отправленных из приложения, вы должны использовать OUTPUT , поскольку DNAT работает только в PREROUTING , а исходящие пакеты из приложения никогда не пересекают PREROUTING .
Аналогично для SNAT , INPUT и POSTROUTING в случае приложений, отправляемых приложениям, хотя я не уверен в текущем состоянии SNAT в INPUT , он может быть поврежден и фактически не работать.
Поскольку большинство маскировок происходит в маршрутизаторе, пересылающем пакеты, вы не часто видите подобные приложения.