Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

iptables の仕様変更?

162 views
Skip to first unread message

MATSUDA Yoh-ichi / 松田陽一

unread,
Nov 2, 2007, 8:56:40 AM11/2/07
to
こんにちは。松田陽一@三鷹です。

適切な表題が思い付きませんでした。

現象の概略は、

「iptables で NAT しているマシンが、気が付いたら起動時の ifup を
読まなくなっていた」

です。

マシンは etch です。 bo から延々アップグレードして来たものです。
gyao光で接続しています。
マザー本体の nic の他に natsemi の nic を1枚さして、 NAT させて
います。
起動時に iptables のルールを読み込むように、以下のように設定を
しています。

#----------- /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
pre-up /etc/network/if-pre-up.d/iptables.up
up /etc/network/if-up.d/yahoobb.up
down /etc/network/if-down.d/yahoobb.down
post-down /etc/network/if-post-down.d/iptables.down

auto eth1
iface eth1 inet static
address 192.168.30.1
network 192.168.30.0
netmask 255.255.255.0
broadcast 192.168.30.255
#----------- /etc/network/interfaces ここまで

/etc/network/if-pre-up.d/iptables.up
/etc/network/if-up.d/yahoobb.up
/etc/network/if-down.d/yahoobb.down
/etc/network/if-post-down.d/iptables.down

上記ファイルは sarge 以前より変更なしで運用し続けていました。

# 中身を出すのは、現時点ではご勘弁願います。長いので。


先日のことです。
久しぶりにカーネルソースを落して、 make-kpkg して、再起動を
したところ、以前なら上記 interfaces に従ってルールが読み込ま
れる筈なのに、何故か読み込まれません。

仕方がないので、今は以前 iptables-save していたファイルを
iptables-restore して凌いでいます。
再起動する度に手作業で iptables-restore しなければならず、非
常に面倒です。

ifup / ifdown がなくなったのか? と思ってみたはものの、これら
も相変わらず存在しています。

一体、いつの時点で、何のパッケージの仕様が変って、このような
事態になったのか、皆目検討がつかず、困っています。

何処から手を付けたら良いのでしょうか。
--
松田 陽一(yoh)
mailto:y...@flcl.org
http://www.flcl.org/~yoh/diary/

"河本陽一/いっつ"

unread,
Nov 2, 2007, 9:55:59 AM11/2/07
to
こうもとです。

「MATSUDA Yoh-ichi / 松田陽一」さんの書かれた、
「[debian-users:49689] iptables の仕様変更?」についての返事です。

> 再起動する度に手作業で iptables-restore しなければならず、非
> 常に面倒です。

 私は以下のようなことをしていますが、この方法でも読まれないですかね。

# cat /etc/network/if-pre-up.d/iptables_load
#!/bin/sh

[ ! -f /etc/iptables/iptables.save ] && exit

iptables-restore < /etc/iptables/iptables.save
#


----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp


Kenshi Muto

unread,
Nov 2, 2007, 10:10:37 AM11/2/07
to
武藤@Debianぷろじぇくとです。

At Fri, 2 Nov 2007 21:56:40 +0900,


MATSUDA Yoh-ichi / 松田陽一 wrote:
> 「iptables で NAT しているマシンが、気が付いたら起動時の ifup を
> 読まなくなっていた」

> マシンは etch です。 bo から延々アップグレードして来たものです。

・/etc/network/*.dに置くなら、ifup/ifdownのときに対象になるわけだから、
interfacesに書く意味はない。
・ただ、*.d内のスクリプトはrun-partsを呼ぶので、拡張子が付いていては
いけない(例: run-parts --test /etc/network/if-up.d)。
適宜スクリプトをリネームしたほうがいいのではないか。
・スクリプトの場所と拡張子にこだわりがあり、上記に従うつもりはないという
ことであれば、ifup -n eth0 でスクリプトを呼んでいそうかどうかを確認する。
・各スクリプトの中で「echo "TEST: called up"」のように適当な状況診断
コマンドを入れ、スクリプトが呼ばれていそうかどうかを調べる。
・そもそもスクリプトが正しく動くかを調べる。
--
武藤 健志@ kmuto @ kmuto.jp
Debian/JPプロジェクト (km...@debian.org, km...@debian.or.jp)
株式会社トップスタジオ (km...@topstudio.co.jp)
URI: http://kmuto.jp/ (Debianな話題など)

MATSUDA Yoh-ichi / 松田陽一

unread,
Nov 6, 2007, 7:46:14 AM11/6/07
to
こんにちは。松田陽一@三鷹です。

From: Kenshi Muto <km...@kmuto.jp>
Subject: [debian-users:49691] Re: iptables の仕様変更?
Date: Fri, 2 Nov 2007 23:10:37 +0900

> 武藤@Debianぷろじぇくとです。

アドバイス有難うございます。

結局、

> > /etc/network/if-pre-up.d/iptables.up
> > /etc/network/if-up.d/yahoobb.up
> > /etc/network/if-down.d/yahoobb.down
> > /etc/network/if-post-down.d/iptables.down
>
> ・/etc/network/*.dに置くなら、ifup/ifdownのときに対象になるわけだから、
> interfacesに書く意味はない。
> ・ただ、*.d内のスクリプトはrun-partsを呼ぶので、拡張子が付いていては
> いけない(例: run-parts --test /etc/network/if-up.d)。
> 適宜スクリプトをリネームしたほうがいいのではないか。

スクリプトをリネームしても、起動時に上記シェルスクリプトが呼び出
される表示が出て来たにもかかわらず、ログインプロンプトが出て来る
時点で全てのルールが削除されているのに気付きまして。

ひょっとして、、、と思い、

$ apt-cache search iptables|awk '{print $1}'|xargs dpkg -l

を実行してみたら、 ferm というパッケージが入っていました。

ファイアウォールの設定をどうにかしたいと思って、試しにインストー
ルしたまま、忘れてしまっていたようです。

お騒がせしました。orz

ただ、

> 適宜スクリプトをリネームしたほうがいいのではないか。

これをしたら、どのタイミングなのか判りませんが、スクリプトが多重
実行されてしまい、ルールが4回も重複登録されてしまい、気持ち悪い
ので、結局元に戻してしまいました。
--
日本語spam展示博覧会開催中
http://www.flcl.org/~yoh/spam/jp/

0 new messages