vine-users ML アーカイブ



[vine-users:053530] Re: カーネル 2.4 での IP マ スカレのモジュールは ?

  • From: KIKUCHI Junichi <maxi@xxxxxxxxxxxxx>
  • Subject: [vine-users:053530] Re: カーネル 2.4 での IP マ スカレのモジュールは ?
  • Date: Fri, 13 Sep 2002 15:26:02 +0900
菊池@春日部です。

現在、Vine2.5 マシンで IP マスカレードしてないので、ちとうろ覚えですが(^^;

# 長文で失礼します。

IP マスカレード・ファイアウォールに、ipchains と iptables のどちらを
使うかによりますが、2.4 カーネルでも ipchains は使えます。

KMさんの<OE13uYqUQV9apfpn4fz00007f7b@xxxxxxxxxxx>から
> vine2.5でipchainか若しくはiptableを用いて、IPマスカレードを使用したく思って
> います。
> その為にモジュールの読み込みが必要なのですよね。
(snip)
> # uname -a
> 2.4.18-0vl3
> となりましたのでカーネルのバージョンが違うのでどうすればいいのか悩んでいま
> す。
> 
> /lib/modules/2.4.18-0vl3/kernel/net/ipv4/netfilter/
> に似たような.oファイルを見つけたのですが
> 
> # for IP masquereda
> for i in /lib/modules/2.4.18-0vl3/kernel/net/ipv4/netfilter/*.o
> do
> /sbin/insmod $i
> done
> 
> echo "1" > /proc/sys/net/ipv4/ip_forward
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

これは、rc.local に書かなくても、/etc/sysctl.conf の7行目、

net.ipv4.ip_forward = 1

と書いてリブートすれば、パケットフォワーディングが有効になります。

> /sbin/ipchains -P forward DENY
> /sbin/ipchains -A forward -s 192.168.20.0/24 -j MASQ
> 
> と記述すればいいのでしょうか?

# 僕はいまだに iptables を体得していないので、ipchains で説明します(^^;
# また、上記2行だけでは全くフィルタリングをしていなく、危険ですので
# 必要に応じたポートだけを通すようフィルタリングをするべきです。

Vine2.5 では、デフォルトで ipchains が使えるようになっていたはずです。
モジュールは、/lib/modules/2.4.18-0vl3/kernel/net/ipv4/netfilter/ipchains.o
1つです。これは多分自動でロードされると思うので、rc.local への記述は不要だ
と思います。/sbin/lsmod でロードされていないか確認してみて下さい。

上記 ipchains の記述に関しては、Init スクリプトで ipchains の処理を行えます
ので、rc.local には書かずにまず手作業で入力(もしくはシェルスクリプトにして
実行)します。

/sbin/ipchains -L で一応確認します。

その後、/sbin/ipchains-save > /etc/sysconfig/ipchains として保存します。
/sbin/chkconfig --list ipchains にて、ipchains が希望のランレベルで有効
になっているか調べ(デフォルトではなっているはずです)、もしなっていな
ければ、/sbin/chkconfig ipchains on(または --add ipchains) を実行し
有効化します。

# このとき、/sbin/chkconfig --list iptables を実行して、0〜6 の全ての
# ランレベルで、off になっていることを一応確認して下さい。

これでリブートすれば、IP マスカレードが有効になっているはずです。
また、次回起動時にも自動的に有効になります。

理由は、(ファイアウォールがきちんと設定できている上でですが)network
が起動する前に ipchains が先に起動するようになっているからです。

もし rc.local に記述していたとすれば、多分その Vine2.5 機で PPPoE をして
いるのでしょうから、インターネットに接続された後になってから初めて
ファイアウォールが有効になるわけで、PPPoE がスタートしてインターネット
につながってから、ファイアウォールが有効になるまでの間に無防備な時間を
作ってしまうことになります。

# 以前ここで、大里さんが述べられていました。詳しくは過去ログを探して
# みて下さい。

iptables を使う場合は iptables-save の保存先が、/etc/sysconfig/iptables
に、chkconfig で ipchains を --del してから、iptables を --add すれば
いいだけだと思います。

出来るなら、iptables の方がより高機能で強力ですので、お勧めします。

# と僕が奨めても説得力がない(^^;

-- 
菊池順一 <maxi@xxxxxxxxxxxxx>