Назад | Перейти на главную страницу

iptables using, goto + jump: каково поведение RETURN?

Я пытаюсь понять, что такое поведение iptables, когда у вас есть несколько пользовательских цепочек, и вы подаете в суд на сочетание -goto и -jump

Пример:

INPUT
iptables -A INPUT -i eth1 -j CUSTOM-A

CUSTOM-A
few commands here...
iptables -A CUSTOM-A -i eth1 -p tcp -dport 80 -g CUSTOM-B
few optional commands here...
iptables -A CUSTOM-A -i eth1 -s 0/0 -g CUSTOM-B

CUSTOM-B
iptables -A CUSTOM-B few commands here... -j CUSTOM-C
iptables -A CUSTOM-B few commands here... -j CUSTOM-C
iptables -A CUSTOM-B few commands here... -j CUSTOM-C
iptables -A CUSTOM-B -i eth1 -s 0/0 -j RETURN

CUSTOM-C
iptables -A CUSTOM-C -s 0/0 -j LOG
iptables -A CUSTOM-C -s 0/0 -j DROP

В приведенном выше сценарии пакеты, сопоставленные на CUSTOM-A, tcp / 80 перейдут на CUSTOM-B, и если они достигнут нижней части таблицы, они вернутся. Действительно ли RETURN возвращает пакет в INPUT, поскольку пакет попал туда через goto?

Действительно ли RETURN возвращает пакет в INPUT, поскольку пакет попал туда через goto?

Это то, что написано на странице руководства ...

-g, --goto chain Указывает, что обработка должна продолжаться в указанной пользователем цепочке. В отличие от опции --jump, return будет продолжать обработку не в этой цепочке, а в цепочке, которая вызвала нас через --jump.

Итак, я ожидал, что возврат будет к цепочке INPUT.