vine-users ML アーカイブ



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

  • From: "KM" <MK278@xxxxxxxxxxx>
  • Subject: [vine-users:053623] Re: カーネル 2.4 での IP マ スカレのモジュールは ?
  • Date: Mon, 16 Sep 2002 23:07:42 +0900
KMと申します。
ご回答ありがとうございます。

Ms/Mr KIKUCHI Junichi wrote in [vine-users:053530].
>> echo "1" > /proc/sys/net/ipv4/ip_forward
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> これは、rc.local に書かなくても、/etc/sysctl.conf の7行目、
> net.ipv4.ip_forward = 1
> と書いてリブートすれば、パケットフォワーディングが有効になります。
ありがとうございます。早速、そのように記述しました。

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

> Vine2.5 では、デフォルトで ipchains が使えるようになっていたはずです。
> モジュールは、
/lib/modules/2.4.18-0vl3/kernel/net/ipv4/netfilter/ipchains.o
> 1つです。これは多分自動でロードされると思うので、rc.local への記述は不要だ
> と思います。/sbin/lsmod でロードされていないか確認してみて下さい。
$ /sbin/lsmod
Module                  Size  Used by    Tainted: P
soundcore               3276   0 (autoclean)
ipchains               39576   0
autofs                  9212   1 (autoclean)
sis900                 12076   1
serial                 44864   0 (autoclean)
isa-pnp                27520   0 (autoclean) [serial]
uhci                   23600   0 (unused)
hid                    18816   0 (unused)
nls_cp437               4384   0 (autoclean)
vfat                    9260   1 (autoclean)
fat                    28864   0 (autoclean) [vfat]
md                     56832   0 (unused)
encode-eucjp          242464   0 (unused)
rtc                     5536   0 (autoclean)

となりましたがこれで大丈夫なのですかね。

> /sbin/ipchains -L で一応確認します。
#/sbin/ipchains -L
Chain input (policy ACCEPT):
Chain forward (policy DENY):
target     prot opt     source                destination           ports
MASQ       all  ------  192.168.0.0/24       anywhere              n/a
Chain output (policy ACCEPT):

> その後、/sbin/ipchains-save > /etc/sysconfig/ipchains として保存します。
Saving 'forward'

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

> iptables を使う場合は iptables-save の保存先が、/etc/sysconfig/iptables
> に、chkconfig で ipchains を --del してから、iptables を --add すれば
> いいだけだと思います。
これでWin2k側からでもインターネットにアクセスできるようになりました。

> 出来るなら、iptables の方がより高機能で強力ですので、お勧めします。
そのようですね。iptablesの方が安全との事なのでそちらでも試してみます。


Ms/Mr Hiroaki Ogata wrote in [vine-users:053544].
> iptableに変えて現在使用しております。
> 環境は、CATVモデム-eth0(vine2.5)eth1-HUB です。
> 手順は以下の通です。
私もiptblesで試してみたいと思います。


> 1) set_iptableというスクリプトファイルを作ります。
> 内容は、たとえば…
:
> 2)スクリプトファイルの適用
> # sh ./ set_iptable
# /sbin/chkconfig --del ipchains
# /sbin/chkconfig --add iptables
# /sbin/chkconfig --level 3 iptables
# sh ./set_iptable
#

となりました。エラーは出ませんでした。

> 3)適用内容の確認
> # iptables -L
> (vncの調子が悪くてLが打てません。全角文字でスミマセン)
#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere           udp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere           udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:http
ACCEPT     udp  --  anywhere             anywhere           udp dpt:http
DROP       all  --  anywhere             anywhere           state
INVALID,NEW

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere           state
INVALID,NEW

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

となりました。

> 4)設定の保存
> # iptables-save > /etc/sysconfig/iptables
これも行いました。

> 5)FTP通信を行うために必要なモジュールの読みこみ
> # /sbin/insmod ip_conntrack_ftp
> # /sbin/insmod ip_nat_ftp
/sbin/modprobeで読み込んだら上手く読み込めました。
#lsmod
Module                  Size  Used by    Tainted: P
soundcore               3276   0  (autoclean)
ip_nat_ftp              3488   0  (unused)
ip_conntrack_ftp        3424   0  [ip_nat_ftp]
ppp_synctty             4744   0  (unused)
ppp_async               6216   1
ppp_generic            18544   3  [ppp_synctty ppp_async]
slhc                    4344   0  [ppp_generic]
autofs                  9212   1  (autoclean)
sis900                 12076   2
ipt_state                648   2  (autoclean)
ipt_MASQUERADE          1768   1  (autoclean)
iptable_nat            18100   2  (autoclean) [ip_nat_ftp ipt_MASQUERADE]
ip_conntrack           19132   3  (autoclean) [ip_nat_ftp ip_conntrack_ftp
ipt_state ipt_MASQUERADE iptable_nat]
iptable_filter          1768   1  (autoclean)
ip_tables              12744   6  [ipt_state ipt_MASQUERADE iptable_nat
iptable_filter]
serial                 44864   0  (autoclean)
isa-pnp                27520   0  (autoclean) [serial]
uhci                   23600   0  (unused)
hid                    18816   0  (unused)
nls_cp437               4384   0  (autoclean)
vfat                    9260   1  (autoclean)
fat                    28864   0  (autoclean) [vfat]
md                     56832   0  (unused)
encode-eucjp          242464   0  (unused)
rtc                     5536   0  (autoclean)

となりました。

# adsl-connect
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
ipchains: Protocol not available
Using interface ppp1
Connect: ppp1 <--> /dev/pts/3
LCP: timeout sending Config-Requests
Connection terminated.
pppoe: Timeout waiting for PADO packets
local  IP address xxx.xxx.xxx.xxx
remote IP address yyy.yyy.yyy.yyy

となりvine2.5から外部にアクセスでした。でもWin2kからvine2.5Aへのpingが通りま
せんでしたので
それでeth0→ppp0に書き換えて
#!/bin/sh

# フィルタ設定内容の初期化
iptables --flush

# Masquerade out ppp0
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# ICMP Pingに応答するためには以下のコメントを削除
#iptables -A INPUT -i ppp0 -p ICMP -j ACCEPT

# SSH
iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 22 -j ACCEPT

# DOMAIN
iptables -A INPUT -i ppp0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 53 -j ACCEPT

# www
iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 80 -j ACCEPT

# Any other packets must be dropped.
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP

# FORWARD Chain
iptables -A FORWARD -i ppp0 -m state --state NEW,INVALID -j DROP

という風にeth1→ppp0に書き換えて
# sh ./set_iptable
# rm /etc/sysconfig/iptables
#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere           udp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere           udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:http
ACCEPT     udp  --  anywhere             anywhere           udp dpt:http
DROP       all  --  anywhere             anywhere           state
INVALID,NEW

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere           state
INVALID,NEW

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
# iptables-save > /etc/sysconfig/iptables
# service /etc/rc.d/init.d/iptables restart

としてみましたら目出度く外部にpingが通りました。