URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 32831
[ Назад ]

Исходное сообщение
"Переброска локальных пакетов на transparent proxy"

Отправлено Mercurius , 29-Июл-03 10:54 
есть сеть за NAT с серыми адресами 192.168.x.y и двуногий раутер, одна нога которого (eth0) смотрит в эту сеть, вторая (eth1) с адресом (к примеру) 1.2.3.4 - в инет.
раутинг и нат прописаны нормально, инет работает.
на машине Linux 2.4.21.
хочу забацать transparent proxy. прокси имеет адрес 5.6.7.8 и стоит в интернете (где-то далеко во внешнем мире).
через цепочку PREROUTING таблицы nat пакеты всей сетки, которая сидит за NAT (192.168.x.y) - превосходно редиректятся.
Вопрос: как мне редиректить пакеты, генерящиеся _локально_ машиной 1.2.3.4, идущие на порт 80 куда-либо, на прокс 5.6.7.8:порт прокси?
REDIRECT ясно не подходит - ибо он умеет редиректить только на эту же машину
PREROUTING тоже - согласно тому же iptables tutorial, локально сформированный на машине пакет через PREROUTING не проходит.
Как решить проблему?

Содержание

Сообщения в этом обсуждении
"Переброска локальных пакетов на transparent proxy"
Отправлено Vital , 29-Июл-03 11:38 
А если просто Squid поставить?

"Переброска локальных пакетов на transparent proxy"
Отправлено Mercurius , 29-Июл-03 11:39 
>А если просто Squid поставить?

а зачем еще один squid?
тем более на слабой машине...


"Переброска локальных пакетов на transparent proxy"
Отправлено gennady , 01-Авг-03 01:34 
>есть сеть за NAT с серыми адресами 192.168.x.y и двуногий раутер, одна
>нога которого (eth0) смотрит в эту сеть, вторая (eth1) с адресом
>(к примеру) 1.2.3.4 - в инет.
>раутинг и нат прописаны нормально, инет работает.
>на машине Linux 2.4.21.
>хочу забацать transparent proxy. прокси имеет адрес 5.6.7.8 и стоит в интернете
>(где-то далеко во внешнем мире).
>через цепочку PREROUTING таблицы nat пакеты всей сетки, которая сидит за NAT
>(192.168.x.y) - превосходно редиректятся.
>Вопрос: как мне редиректить пакеты, генерящиеся _локально_ машиной 1.2.3.4, идущие на порт
>80 куда-либо, на прокс 5.6.7.8:порт прокси?
>REDIRECT ясно не подходит - ибо он умеет редиректить только на эту
>же машину
>PREROUTING тоже - согласно тому же iptables tutorial, локально сформированный на машине
>пакет через PREROUTING не проходит.
>Как решить проблему?
-j DNAT

"Переброска локальных пакетов на transparent proxy"
Отправлено akeeper , 01-Авг-03 12:43 
>PREROUTING тоже - согласно тому же iptables tutorial, локально сформированный >на машине
>пакет через PREROUTING не проходит.
>Как решить проблему?

Что-то ты странное сказал.

iptables -t nat -A PREROUTING -p tcp -s 192.168.0.1 -d 0/0 --dport 80 -j DNAT --to-destination 1.2.3.4.5:80

и по идее никаких проблем быть не должно. Поправьте, если я ошибся.

wbr, akeeper.


"Переброска локальных пакетов на transparent proxy"
Отправлено Mercurius , 01-Авг-03 13:52 
>>PREROUTING тоже - согласно тому же iptables tutorial, локально сформированный >на машине
>>пакет через PREROUTING не проходит.
>>Как решить проблему?
>
>Что-то ты странное сказал.
>
>iptables -t nat -A PREROUTING -p tcp -s 192.168.0.1 -d 0/0 --dport
>80 -j DNAT --to-destination 1.2.3.4.5:80
>
>и по идее никаких проблем быть не должно. Поправьте, если я ошибся.
>
>
>wbr, akeeper.

я не странное сказал... я имел в виду то, чтобы _локально_ сформированные машиной пакеты перенаправлять на proxy
проблема решилась, кстати, следующим образом:
в ядре нужно было включить NAT for Local Connections
и правило в цепочке OUTPUT

iptables -t nat -A OUTPUT -p tcp -s 1.2.3.4 -d 0/0 --dport 80 -j DNAT --to-destination 5.6.7.8:80
(здесь 5.6.7.8 - прокс, 1.2.3.4 - моя машина, точнее ее внешний интерфейс)
Всем спасибо :))