Bug 4045 - REDIRECT target in OUTPUT chain not worked
Summary: REDIRECT target in OUTPUT chain not worked
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-std-up (show other bugs)
Version: unstable
Hardware: all Linux
: P2 major
Assignee: Sergey Vlasov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-27 20:16 MSD by Andy Gorev
Modified: 2005-08-31 03:06 MSD (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Gorev 2004-04-27 20:16:21 MSD
После обновления с 2.4.22-std-smp-alt15 до 2.4.25-std-up-alt6 перестал работать
таржет REDIRECT iptables в цепочке OUTPUT таблицы nat, при этом в цепочке
PREROUTING он продолжает нормально работать. iptables при этом использовался в
обоих случаях 1.2.9-alt4.

Применявшиеся правила:
*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT
:OUTPUT ACCEPT
-A PREROUTING -d $local_ip -p tcp -m tcp --dport 25 -j REDIRECT --to-ports 7999
-A OUTPUT -d $local_ip -p tcp -m tcp --dport 25 -j REDIRECT --to-ports 7999

Попытка изваять воркэраунд на DNAT тоже привела к провалу в этой-же цепочке как
на этом ядре, так и на шлаке, :( в результате  пришлось откатиться на старое
ядро. Необходимость работы в OUTPUT объясняется тем, что нужно перебрасывать
порты для локального трафика, например с реального адреса на фэйковый в пределах
одной машины.
Comment 1 Sergey Vlasov 2004-06-06 19:36:59 MSD
Исправлено в kernel-image-std-{up,smp}-alt2.

Проблема была в отсутствии в конфигурации ядра поддержки NAT для локальных
соединений (CONFIG_IP_NF_NAT_LOCAL=y). На самом деле в 2.4.22 поддержка
CONFIG_IP_NF_NAT_LOCAL тоже не была включена, но REDIRECT делал вид, что
работает (хотя это могло приводить к странным проблемам). В последующих версиях
ядра код netfilter в этом месте исправили, и теперь без CONFIG_IP_NF_NAT_LOCAL
NAT в OUTPUT не работает.