田原@越谷です。花井様、ありがとうございます。 On Mon, Jan 17, 2005 at 09:51:30AM +0900, K Hanai wrote: > 花井@京都です。 > > From: "K.Tahara" <taharak@xxxxxxxxxxxxxxx> > > > iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 > > > -j REDIRECT --to-port 3128 > > > を使うとしています。こうしてみるとどうでしょうか? > > 私のネットワークの構成は、 > > [LinuxBox=1台のMac] -> [ADSLモデム(NTTのMN4)] -> [インターネット] > > となっています。 > > ということなら、-i で指定するのは、ppp0 になるということはないのですか? ご指摘のとおり、rp-pppoeを用いていますので、ppp0が正しいようです。 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j REDIRECT --to-port 3128 として再度確認しましたが、やはりだめでした。 # w3mで外部のページを見に行ったとき、/var/log/squid/access.logが更新されませんでした。 さらにパケットのログをとってみて、パケットが各チェインにどのように流れるか確認してみました。 その結果、natテーブルのPREROUTINGチェインにはパケットは流れていないようでした。 さらにVine2.6ではnatテーブルのOUTPUTチェインにもパケットは流れていましたが、 Vine3.1では流れていませんでした。 また[vine-users:069729]のご指摘があり、 この現象は、私の環境独自の現象か、PPC版固有の現象と思われます。 以下、確認結果を示しますが、長文になってしまい申し訳ありません。 #方法 (1)/etc/syslog.confに kern.=debug /var/log/kern.debug.log の1行を追加。 (2)iptablesでログのルールを設定した。ログの他のルールは全て無い状態にした。 # iptables -F # iptables -t nat -F # iptables -A INPUT -p tcp -j LOG --log-level debug --log-prefix tcp.fil.IN: # iptables -A OUTPUT -p tcp -j LOG --log-level debug --log-prefix tcp.fil.OUT: # iptables -t nat -A PREROUTING -p tcp -j LOG --log-level debug --log-prefix tcp.nat.PRE: # iptables -t nat -A OUTPUT -p tcp -j LOG --log-level debug --log-prefix tcp.nat.OUT: # iptables -t nat -A POSTROUTING -p tcp -j LOG --log-level debug --log-prefix tcp.nat.POST: # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination LOG tcp -- anywhere anywhere LOG level debug prefix `tcp.fil.IN:' Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination LOG tcp -- anywhere anywhere LOG level debug prefix `tcp.fil.OUT:' # iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination LOG tcp -- anywhere anywhere LOG level debug prefix `tcp.nat.PRE:' Chain POSTROUTING (policy ACCEPT) target prot opt source destination LOG tcp -- anywhere anywhere LOG level debug prefix `tcp.nat.POST:' Chain OUTPUT (policy ACCEPT) target prot opt source destination LOG tcp -- anywhere anywhere LOG level debug prefix `tcp.nat.OUT:' #結果 (1)Vine2.6で、w3mで外部のページを見に行ったときのログ。 最初の行でnat-OUTPUTチェインにパケットが流れた。 XXX.XXX.XXX.XXXは私のppp0のinetアドレス、YYY.YYY.YYY.YYYは外部のページのipアドレス。 *** ここから *** Jan 17 15:45:50 localhost kernel: tcp.nat.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=5656 RES=0x00 SYN URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=5656 RES=0x00 SYN URGP=0 Jan 17 15:45:50 localhost kernel: tcp.nat.POST:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=64564 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=5656 RES=0x00 SYN URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=64 TOS=0x00 PREC=0x00 TTL=56 ID=41315 DF PROTO=TCP SPT=80 DPT=32788 WINDOW=65535 RES=0x00 ACK SYN URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=5656 RES=0x00 ACK URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=284 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=5656 RES=0x00 ACK PSH URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=1452 TOS=0x00 PREC=0x00 TTL=56 ID=41316 DF PROTO=TCP SPT=80 DPT=32788 WINDOW=32900 RES=0x00 ACK URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=8400 RES=0x00 ACK URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=1321 TOS=0x00 PREC=0x00 TTL=56 ID=41317 DF PROTO=TCP SPT=80 DPT=32788 WINDOW=32900 RES=0x00 ACK PSH URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=11200 RES=0x00 ACK URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=52 TOS=0x00 PREC=0x00 TTL=56 ID=41318 DF PROTO=TCP SPT=80 DPT=32788 WINDOW=32900 RES=0x00 ACK FIN URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32788 DPT=80 WINDOW=11200 RES=0x00 ACK FIN URGP=0 Jan 17 15:45:50 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=52 TOS=0x00 PREC=0x00 TTL=56 ID=41319 DF PROTO=TCP SPT=80 DPT=32788 WINDOW=32899 RES=0x00 ACK URGP=0 *** ここまで *** (2)Vine3.1で、w3mで外部のページを見に行ったときのログ。 nat-OUTPUTチェインにパケットが流れなかった。 *** ここから *** Jan 17 16:10:30 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=5656 RES=0x00 SYN URGP=0 Jan 17 16:10:30 localhost kernel: tcp.nat.POST:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=42572 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=5656 RES=0x00 SYN URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=64 TOS=0x00 PREC=0x00 TTL=56 ID=42379 DF PROTO=TCP SPT=80 DPT=32771 WINDOW=65535 RES=0x00 ACK SYN URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=5656 RES=0x00 ACK URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=240 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=5656 RES=0x00 ACK PSH URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=1452 TOS=0x00 PREC=0x00 TTL=56 ID=42380 DF PROTO=TCP SPT=80 DPT=32771 WINDOW=32900 RES=0x00 ACK URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=8400 RES=0x00 ACK URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=1321 TOS=0x00 PREC=0x00 TTL=56 ID=42381 DF PROTO=TCP SPT=80 DPT=32771 WINDOW=32900 RES=0x00 ACK PSH URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=11200 RES=0x00 ACK URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=52 TOS=0x00 PREC=0x00 TTL=56 ID=42382 DF PROTO=TCP SPT=80 DPT=32771 WINDOW=32900 RES=0x00 ACK FIN URGP=0 Jan 17 16:10:30 localhost kernel: tcp.fil.OUT:IN= OUT=ppp0 SRC=XXX.XXX.XXX.XXX DST=YYY.YYY.YYY.YYY LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=23130 DF PROTO=TCP SPT=32771 DPT=80 WINDOW=11200 RES=0x00 ACK FIN URGP=0 Jan 17 16:10:31 localhost kernel: tcp.fil.IN:IN=ppp0 OUT= MAC= SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=52 TOS=0x00 PREC=0x00 TTL=56 ID=42383 DF PROTO=TCP SPT=80 DPT=32771 WINDOW=32899 RES=0x00 ACK URGP=0 *** ここまで *** -- K.Tahara