[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:80040] ip_dynaddr and filtering rule with ipchains


こんにちは。松田陽一 _at_ PAL-NET三鷹です。

[Q]
お恥ずかしながら、 /proc/sys/net/ipv4/ip_dynaddr の存在を今日になって
知りました。

カーネルソースツリーの Documentation/networking/ip_dynaddr.txt を見ると、

This stuff allows diald ONESHOT connections to get established by
dynamically changing packet source address (and socket's if local procs).
It is implemented for TCP diald-box connections(1) and IP_MASQuerading(2).

これは diald に一回だけの接続でパケットソースアドレス (及びローカル
プロセスにおいてはソケットも) を動的に変更できるようにします。
TCP diald-box 接続(1) と IP マスカレーディング(2) の為に実装されました。

とあります。
また、

   Linkname: proc.txt (Text File)
        URL:
          http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.2/proc.txt

   Linkname: [linux-users:13348] Re: PPP auto connection
        URL: http://his.luky.org/ML/linux-users.1/msg03328.html

というところから、これは「接続中に取得した IP アドレスが動くことを許す」
つまり、「回線を切ることなく、瞬時に IP アドレスが動く」ことを意味する
と思います。

この時点で間違っていたらご指摘願います。

この場合、 ipchains でフィルタリングルールに ppp0 のアドレスを指定する
ような書き方は、 IP アドレスが動いた時点で使えなくなってしまうのではな
いかと思うのですが、間違っているでしょうか?

つまり、 /etc/ppp/ip-up で

/sbin/ipchains -A input -i ppp0 -p tcp -s 0/0 -d $PPP_LOCAL ssh -j ACCEPT
/sbin/ipchains -A input -i ppp0 -s 0/0 -d $PPP_LOCAL -p tcp -y -j DENY -l

というようなルールは、 IP アドレスが動いた時点で使えなくなってしまうの
ではないかと危惧しています。

また、そうだとするならば、 IP アドレスが動いた時に瞬時に IP アドレスを
取得して、ルールを書き換えるような手法はあるのでしょうか?
それとも、宛先アドレスを指定するようなルールの書き方自体が間違っている
のでしょうか?
更に、宛先アドレスを指定しないルールを書いた場合に起こる弊害として、何
が考えられるでしょうか?

もしかすると、

echo "1" > /proc/sys/net/ipv4/ip_dynaddr 

は、パケットフィルタリングの実装を制限してしまうのではないかと危惧して
います。
ご存知の方のフォローをお願いします。(__)
--
♪ねぇ、雪が降るまえに。
松田 陽一(yoh)
mailto:matsuda _at_ palnet.or.jp
http://www2.palnet.or.jp/~matsuda/index.htm

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: