История изменений
Исправление vel, (текущая версия) :
Получается, что картинка становится правильнее после наложение двух? Или после OUTPUT/filter есть reroute, а после FORWARD/filter нет reroute и в википедии и в этом месте ошибка?
Именно. Определение output интерфейса должно быть выполнено до forward и не может быть изменено в дальнейшем.
Интересно то, что адреса меняются после nat/output, а rerouting со сменой интерфейса происходит после filter/output.
Я бы еще отметил звездочкой блок L3/nat/(prerouting|postrouting), т.к. для неё есть пояснение про NEW.
Я не совсем понимаю смысл изображения iptables/FORWARD/mangle два раза — на Network layer и на Link layer. Разве в код в ядре по разному отрабатывает правла для маршрутизиции и бриджа?
IMHO На схеме показаны все возможные пути.
Путь из L3 в L2 на этапе forward - это ситуация, когда пакет обрабатывающийся на L3 нужно форвардить через бридж. И судя по схеме, такой пакет не попадет в L2/filter/forward.
Исходная версия vel, :
Получается, что картинка становится правильнее после наложение двух? Или после OUTPUT/filter есть reroute, а после FORWARD/filter нет reroute и в википедии и в этом месте ошибка?
Именно. Определение output интерфейса должно быть выполнено до forward.
Интересно то, что адреса меняются после nat/output, а rerouting со сменой интерфейса происходит после filter/output.
Я бы еще отметил звездочкой блок L3/nat/(prerouting|postrouting), т.к. для неё есть пояснение про NEW.
Я не совсем понимаю смысл изображения iptables/FORWARD/mangle два раза — на Network layer и на Link layer. Разве в код в ядре по разному отрабатывает правла для маршрутизиции и бриджа?
IMHO На схеме показаны все возможные пути.
Путь из L3 в L2 на этапе forward - это ситуация, когда пакет обрабатывающийся на L3 нужно форвардить через бридж. И судя по схеме, такой пакет не попадет в L2/filter/forward.