В общем, проблема вот такая. Имеется локальная сеть.В ее центре сервер (192.168.0.1), все запросы ходят через этот сервер. На сервере маскарадинг (правила iptables приведу ниже). Так же на сервере есть squid, висящий на 3128 порту. Вот сетевые интерфейсы:
[code]ppp0 (someaddr) — pppoe в интернет eth0 (anotheraddr) — путь в локалку прова br0 (192.168.0.0/24) — моя домашняя локалка[/code]
В iptables есть правило, заворачивающее все запросы, проходящие через сервер для 80 порта на порт 3128 (прозрачный прокси). Вот оно:
[code]B="iptables" A="ACCEPT"
LAN="br0" LAN_ADDR="192.168.0.1" WAN_ADDR="myserveraddr"
SQUID_EXCLUDE=( "$LAN_ADDR" "$WAN_ADDR" "127.0.0.1" )
for ADDR in ${SQUID_EXCLUDE[@]}; do $B -t nat -A PREROUTING -p tcp -i $LAN --dport http ! -d $ADDR -j REDIRECT --to-ports squid_proxy; done $B -A INPUT -i $LAN -p tcp --dport squid_proxy -j $A[/code]
Проблема в том, что этом же сервере на 80-ом порту крутится apache. Когда заходишь на него, то трафик, несмотря на "! -d $ADDR", все равно заворачивается на 3128 порт. Что я делаю не так, ребята?
Вот все правила iptables: http://dpaste.com/94194/