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

Исходное сообщение
"Перенаправление http-траффика и локальный web-сервер"

Отправлено varjo , 16-Фев-09 11:06 
Здравствуйте.

Есть два шлюза на разных машинах, один debian 4.0r5 - земля, второй win2k3 - спутник (из-за софта).
Задача организовать перенаправление хттп траффика на с основного линукс-шлюза на виндовый-шлюз.

Поставил на виндовый шлюз winsquid и сделал всё как описано на http://www.opennet.me/docs/HOWTO/mini/TransparentProxy-6.html
Все замечательно работает
Но есть проблема - так как на линукс-шлюзе крутиться локальный апач, то все запросы с него также перенаправляются на прокси, прокси определяет его как локальный, отправляет обратно и получается петля :(
Можно ли как-то избежать перенаправления с апача, кроме как перевешивания его на нестандартный порт?


Содержание

Сообщения в этом обсуждении
"Перенаправление http-траффика и локальный web-сервер"
Отправлено craZzZy , 23-Фев-09 18:18 
>[оверквотинг удален]
>Задача организовать перенаправление хттп траффика на с основного линукс-шлюза на виндовый-шлюз.
>
>Поставил на виндовый шлюз winsquid и сделал всё как описано на http://www.opennet.me/docs/HOWTO/mini/TransparentProxy-6.html
>
>Все замечательно работает
>Но есть проблема - так как на линукс-шлюзе крутиться локальный апач, то
>все запросы с него также перенаправляются на прокси, прокси определяет его
>как локальный, отправляет обратно и получается петля :(
>Можно ли как-то избежать перенаправления с апача, кроме как перевешивания его на
>нестандартный порт?

можно... самое простое использовать iptables, а точнее редиректить только то что идет во внешнюю сеть. Пример


locnet="192.168.0.0/16"
myip="192.168.0.1"
proxyip="192.168.0.2"
proxyport="3128"

iptables -t mangle -A PREROUTING -s $locnet ! -d $locnet -p TCP --destination-port 80 -j MARK --set-mark 11
iptables -t nat -A PREROUTING -m mark --mark 11 -p TCP -j DNAT --to-destination ${proxyip}:${proxyport}
iptables -t nat -A POSTROUTING -m mark --mark 11 -p TCP -j SNAT --to-source $myip



"Перенаправление http-траффика и локальный web-сервер"
Отправлено varjo , 05-Мрт-09 10:04 
>[оверквотинг удален]
>proxyip="192.168.0.2"
>proxyport="3128"
>
>iptables -t mangle -A PREROUTING -s $locnet ! -d $locnet -p TCP
>--destination-port 80 -j MARK --set-mark 11
>iptables -t nat -A PREROUTING -m mark --mark 11 -p TCP -j
>DNAT --to-destination ${proxyip}:${proxyport}
>iptables -t nat -A POSTROUTING -m mark --mark 11 -p TCP -j
>SNAT --to-source $myip
>

Спасибо. Помогло.
Но теперь вопросы появились..
1. Как сделать исключения, чтобы не перенаправлялись запросы НА определенные внешние IP
2. Как сделать исключение, чтобы не перенаправлялись запросы С определенных локальных IP