田原@越谷です。福原様、リプライありがとうございます。 On Sun, Jan 16, 2005 at 06:20:52PM +0900, FUKUHARA Makoto wrote: > > Vine3.1.PPCのftp版にて、自宅の1台のMacで以下のようにiptablesを設定して、 > > ブラウザでのファイアーウォール設定をせずにsquidを使おうとしています。 > > # 「ファイアーウォール設定」よりは「プロキシ設定」の方が一般的な > # いいかたでしょうが そうでした、改めます。ありがとうございます。 > > ###以下/etc/rc.local末尾に記載(最後の2行は実際には1行)。 > > echo 1 > /proc/sys/net/ipv4/ip_forward > > echo 1 > /proc/sys/net/ipv4/ip_dynaddr > > この2行はどういう意味があるのでしょう? 1行目はパケットフィルタリングを用いるときに設定するようです。 2行目はDHCPを用いるときに設定するようですが、 してもしなくても動作は変わらないようです。 sysctlを用いても設定できるようです。 > > iptables -t nat -A OUTPUT -p tcp --dport 80 > > -m owner ! --uid-owner 23 -j REDIRECT --to-port 3128 > > Vine 3.1 の i386 版で試してみると,これで動作しているみたいですね. > > そこでnatテーブルのOUTPUTチェインにicmpをDROPするルールを書いて、 > > pingでのテストを実施すると、DROPされずに通ってしまう現象が確認されました。 > > 同様にfilterテーブルのOUTPUTチェインとnatテーブルのPOSTROUTINGチェインをテストすると、 > > きちんとDROPされました。 > > このテストの概略はこのメールの最後に示します。 > > i386 版では,同じテストで正常に動作しました. 確認ありがとうございます。 表題の件は、私の環境独自の現象か、PPC版独自の現象ですね。 さらにいろいろ調べてみたいと思います。 > > 5. 意図通りに動作するVine2.6と、意図通りに動作しないVine3.1では、 > > lsmodの出力に違いが見られました。 > > ip_conntrackの3番目のフィールドの数値が、 > > Vine2.6では1となっていたが、Vine3.1では0となっていました(後述)。 > > i386 版でも ip_conntrackの3番目のフィールドの数値は 0 でした. うまくいったときといかなかったときとの違いから、ip_conntrackモジュールに疑いを持っていました。 元メールを出した後に、ip_conntrackの動作のチェックには/proc/net/ip_conntrackを 確認すればいいことが分かりました(netfilter-faqの3.7参照)。 私の環境で、/proc/net/ip_conntrackはきちんと更新されていましたので、とりあえず ip_conntrackモジュールは正常なようです。 lsmod出力の件は、今回の問題と無関係なようです。 > 実験の際は,iptables -F と iptables -t nat -F で,フィルタを全部 > 消してからやっているでしょうか? フラッシュせずに、テーブルに何もルールが無い状態から始めていました。 フラッシュをしてからのVine3.1での実験結果を以下に示します。 やはりnatテーブルのOUTPUTチェインが機能していないようです。 スクリプトは 2005年01月16日 21時27分54秒 に開始しました root ~# alias pingtest='ping -c1 127.0.0.1 >/dev/null 2>&1; echo $?' root ~# iptables -F root ~# iptables -t nat -F root ~# iptables -t nat -A POSTROUTING -p icmp -j DROP root ~# pingtest 1 <− natテーブルのPOSTROUTINGチェインは機能する root ~# iptables -t nat -D POSTROUTING -p icmp -j DROP root ~# pingtest 0 root ~# iptables -t nat -A OUTPUT -p icmp -j DROP root ~# pingtest 0 <− !!! natテーブルのOUTPUTチェインは機能しない !!! root ~# iptables -t nat -D OUTPUT -p icmp -j DROP root ~# pingtest 0 root ~# exit スクリプトは 2005年01月16日 21時32分01秒 に終了しました -- K.Tahara