vine-users ML アーカイブ



[vine-users:079256] 透過型 squidの設定

たきやまと申します

透過型squidの設定についてお教えください。
したいことは、urlのlogを取ることです

iptables,squidの設定は最後に付けます
状況は次の通りです

(1)cliantのブラウザにproxy:192.168.1.1:3128を設定すれば
/var/squid/access.logにURLが残る−−−squidは動いている
(2)squidの設定
iptables -t nat -A PREROUTING -i eth1  -p tcp --dport 80 -j REDIRECT --to-port 3128
                 ^^^^    
^^^をeth0にすると何もaccess.logに残らない
^^^をeth1にするとクライアントのブラウザに
Error
The requested URL could not be retrieved
Invalid request
が表れる

(3)Vine4.2,squid-2.6.stable22,iptables-1.3.6です

(4)vine-users:069782(田原さん)に
ppcの場合kernelのconfigにCONFIG_IP_NF_NAT_LOCAL=y
を設定してカーネル再構築したとあったので
 /usr/src/kernels/2.6.16-76.40vl4-i686/.config
をのぞいたらCONFIG_IP_NF_NAT_LOCALの設定がなかったのだが
make menuconfigが動かなかったのでお手上げです(make oldconfigは動きましたが)

よろしくお願いします
;;ps::8月ころのDNSの件では失礼しました
;; ずっと手が付けられなくて今まで放置していました
;;53の開け忘れ+zoneファイルのtypoでした
-----
ネットワークの状態

  |   INET:abc.def.ghi.jkl
|--------|   www server,NAT
| SERVER |  
----------  LAN:192.168.1.1
   |            proxy:3128
   |
----------
| cliant | 192.168.1.100--200
----------


iptablesの設定
-----
#! /bin/sh

any='0.0.0.0/24'
LAN_IP_RANGE='192.168.1.0/24'
INET_IP='abc.def.ghi.jkl'

/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_MASQUERADE

echo "1" > /proc/sys/net/ipv4/ip_forward
/etc/init.d/iptables stop
#Flush & Reset
iptables -F
iptables -t nat -F
iptables -X
#Deafult Rule
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A FORWARD -i eth1 -o eth0 -s $LAN_IP_RANGE -j ACCEPT
iptables -A FORWARD -s $LAN_IP_RANGE -i eth1 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -A INPUT -i eth1 -s $LAN_IP_RANGE -j ACCEPT
iptables -A OUTPUT -o eth1 -d $LAN_IP_RANGE -j ACCEPT

iptables -A INPUT -p UDP -s $any --destination-port 53 -j ACCEPT
iptables -A INPUT -p tcp  -s $any  --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -s $LAN_IP_RANGE --sport 80  -d $any -j ACCEPT

iptables -A INPUT -p tcp   --dport 3128 -j ACCEPT
iptables -A OUTPUT -p tcp  --sport 3128 -j ACCEPT

#SNAT(masquerade)
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source $INET_IP
#squid
iptables -t nat -A PREROUTING -i eth1  -p tcp --dport 80 -j REDIRECT --to-port 3128

/etc/rc.d/init.d/iptables save
service iptables restart