vine-users ML アーカイブ



[vine-users:069738] Re: Vine3.1 にてiptables-nat-O UTPUTが機能しない

  • From: "K.Tahara" <taharak@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:069738] Re: Vine3.1 にてiptables-nat-O UTPUTが機能しない
  • Date: Sun, 16 Jan 2005 22:19:50 +0900
田原@越谷です。福原様、リプライありがとうございます。

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