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

Передача трафика между цепочками iptable

Насколько я понимаю, как обычно любой заданный пакет будет взаимодействовать только с одной цепочкой iptables: INPUT FORWARD или OUTPUT. Однако я хочу, чтобы весь трафик на порт 80, который не имеет ни источника, ни назначения, поскольку текущий компьютер (запускается в цепочке FORWARD) перенаправлен к порт 3219 текущего компьютера (попадает в цепочку INPUT). Цель этого состоит в том, что я использую прозрачный прокси, и эта машина является маршрутизатором сети.

Команда iptables и объяснение были бы идеальными, но если вам нужно выбрать, я определенно предпочитаю объяснение.

Насколько я понимаю, обычно любой пакет будет взаимодействовать только с одной цепочкой iptables: INPUT FORWARD или OUTPUT.

Ваше понимание ложное или, в лучшем случае, упрощенное. Пакет обычно обрабатывается как минимум на 3 отдельных таблицах и в различных цепочках этих таблиц. Когда вы смотрите только на таблицу фильтров, пакет обычно подходит только для IMPUT / OUTPUT / FORWARD. Но на других столах вы попадете в несколько цепочек на разных этапах. Например, пакет, маршрутизируемый с одного интерфейса на другой, попадет в цепочки PREROUTING и POSTROUTING в таблице nat.

Есть различные технологические схемы вы можете найти для iptables. Но ни один из них на самом деле не даст вам полного представления о том, что происходит, но просмотрите их несколько. Обычно вы сможете понять, когда посмотрите на них вместе.