С man-страницы моего дистрибутива меня особенно интересует полужирная часть ниже.Параметры iptables -j vs. -g
-j, --jump целевой
Определяет цель правила; то есть, что делать, если пакет соответствует ему. Цель может быть определяемой пользователем цепочкой (отличной от той, в которой находится это правило), одной из специальных встроенных целей, которые сразу решают судьбу пакета или расширение (см. РАСШИРЕНИЯ ниже). Если этот параметр не указывается в правиле (и -g не используется), то соответствие правила не повлияет на судьбу пакета, но счетчики в правиле будут увеличиваться.
-g, --goto цепи
Это указывает, что обработка должна продолжаться в заданном пользователем цепи. В отличие от возврата опции -jump, эта цепочка не будет продолжать обрабатываться, а вместо этого в цепочке, которая вызвала нас через --jump.
Я боюсь, что неправильно -g
на самом деле делает.
Как точно -g
теперь отличается от -j
?
Так что '-g' в основном переходит к последней цепочке, активируемой '-j', или встроенной цепочкой. Если не найдено ни одного совпадающего правила для рассматриваемого пакета, политика по умолчанию вступает в силу. – sjas
Да, однако, скачок назад к самой последней цепочке, которая «активировала» следующую цепочку через «-j», и возникает только тогда, когда обрабатываемая в данный момент цепочка задает целевую «RETURN» или если цепочка, обработанная в настоящее время, не указывает любой цели вообще. – Yoel