Вот статью нашел http://habrahabr.ru/post/99898/
Искал, как закрутить перенаправления трафика на прокси, который работает не на шлюзе.
Я правильно понимаю, что в 1.1.1 ошибка?
Надо вместо "-d 192.168.0.3" писать "-d 192.168.0.1", потому что запрос к 192.168.0.3 и так улетит на него без всяких правил, а запрос к шлюзу как к потовому серверу упрется в закрытый порт.
Вообще, я никак не могу для себя понять принцип такого перенаправления до конца.
Поправьте, если я не прав:
1) Изменяем адрес назначения на хост с прокси
iptables -t nat -A PREROUTING -i eth0 -p tcp -d хост_в_интернете --dport 80 -j DNAT --to-destination IP_прокси:transp_порт
2) Изменяем адрес источника на адрес шлюза, чтобы запрашивающий хост не заметил подмены
iptables -t nat -A POSTROUTING -o eth0 -p tcp -s сеть/24 -d IP_прокси --dport transp_порт -j SNAT --to-source IP_шлюза
3) Запросы от прокси пропускаем без обработки
iptables -A FORWARD -s IP_прокси -j ACCEPT
Цель завернуть запросы к некоторым хостам в TOR. Сейчас конструкция из редиректа в iptables на transparent-порт в squid (на роутере), который через polipo передает запрос на SOCKS-порт TOR-а.
Вот такой идиотизм.