俺だけのために Ore! Tips!

ipfw 設定(外部サーバへ接続可能に)

2004年06月20日 作業

ipfw を導入したため、外部のサーバにつながらなくなってしまった。
このサーバ上から他所の Web サーバが見れんと、色々とサーバ設定作業で不具合があるので、ipfw の設定を見直した。

以下、作業ログ。


フリーの RADIUS サーバをダウンロードしてこようと、lynx でサイトに接続を試みるがつながらない。

mikan# lynx http://www.dtc.co.jp/Radius2.0/Readme.html

Alert!: Unable to connect to remote host.


Looking up www.dtc.co.jp
Unable to locate remote host www.dtc.co.jp.
Alert!: Unable to connect to remote host.


ああ・・・そうか、昨日から ipfw を有効にしているから・・・ということで、設定を行う。

現在の設定を調べてみる。

mikan# ipfw -a list
00100    0     0 allow ip from any to any via lo0
00200    0     0 deny ip from any to 127.0.0.0/8
00300    0     0 deny ip from 127.0.0.0/8 to any
00410    0     0 deny ip from 192.168.10.0/24 to any in recv ed0
00420    0     0 deny ip from 192.168.0.0/24 to any in recv dc0
00430    0     0 deny ip from 10.0.0.0/8 to any via ed0
00440    0     0 deny ip from 172.16.0.0/12 to any via ed0
00510    1    48 allow ip from 192.168.0.7 to 192.168.0.5
00520    0     0 allow ip from 192.168.0.5 to 192.168.0.7
00530 1220 64722 allow ip from 192.168.0.17 to 192.168.0.5
00540  678 46111 allow ip from 192.168.0.5 to 192.168.0.17
65535  733 95094 deny ip from any to any
mikan#


ああ・・・駄目じゃん。
自分(192.168.0.5)から外に向けての接続は全部許さなきゃ。
(ipfw を入れた目的は、このサーバを default gateway とするPCの外への通信を一旦止めたかったからで、自分自身は好き放題に通信したかったわけ)

昨日、192.168.0.7 及び 192.168.0.17 との通信だけ許したので、妙に中途半端な設定が残ったままになってますなあ。

まずは、192.168.0.5 から外部へのコネクション確立要求を通す設定と、その結果確立された TCP コネクションのパケットを通す設定を行う。

mikan# ipfw add 490 pass tcp from 192.168.0.5 to any setup
00490 allow tcp from 192.168.0.5 to any setup
mikan# ipfw add 480 pass tcp from any to any established
00480 allow tcp from any to any established


次に、DNS サーバへの問い合わせと、その結果の UDP パケットは通すようにする。(でないと、ホスト名で IP アドレスが引けんぞ)

mikan# ipfw add 501 pass udp from any 53 to 192.168.0.5
00501 allow udp from any 53 to 192.168.0.5
mikan# ipfw add 502 pass udp from 192.168.0.5 to any 53
00502 allow udp from 192.168.0.5 to any 53


これで、lynx を使って外部の Web サーバへのアクセスが可能となる。

ところで、ついでなのでこの際 NTP サーバへの問い合わせも可能にしておこう。

mikan# ipfw add 505 pass udp from any 123 to 192.168.0.5
00505 allow udp from any 123 to 192.168.0.5
mikan# ipfw add 506 pass udp from 192.168.0.5 to any 123
00506 allow udp from 192.168.0.5 to any 123


以上で設定終了。

コネクション確立後のパケットは通すように pass tcp from any to any established な設定をしたので、520 と 540 のルールは要らなくなる。delete してしまう。(要らない設定はちゃんと消す!)

* もちろん、サーバ(192.168.0.5)側から 192.168.0.7 や 192.168.0.17 のマシンに対してコネクション確立要求をするので 520 と 540 のルールも必要だが、いまのところそのような処理は無いので。(クライアント側から FTP 接続する時には必要だが、ま、passive モードにすればいいだけだし)

mikan# ipfw delete 520
mikan# ipfw delete 540
mikan# ipfw -a list
00100    0      0 allow ip from any to any via lo0
00200    0      0 deny ip from any to 127.0.0.0/8
00300    0      0 deny ip from 127.0.0.0/8 to any
00410    0      0 deny ip from 192.168.10.0/24 to any in recv ed0
00420    0      0 deny ip from 192.168.0.0/24 to any in recv dc0
00430    0      0 deny ip from 10.0.0.0/8 to any via ed0
00440    0      0 deny ip from 172.16.0.0/12 to any via ed0
00480  475  32672 allow tcp from any to any established
00490    1     60 allow tcp from 192.168.0.5 to any setup
00501    3    217 allow udp from any 53 to 192.168.0.5
00502    3    201 allow udp from 192.168.0.5 to any 53
00505    0      0 allow udp from any 123 to 192.168.0.5
00506    0      0 allow udp from 192.168.0.5 to any 123
00510    1     48 allow ip from 192.168.0.7 to 192.168.0.5
00530 2038 109456 allow ip from 192.168.0.17 to 192.168.0.5
65535  838 106070 deny ip from any to any


マシン再起動時に上記設定が有効になるように、/etc/rc.ipfw も修正しておく。(上記設定内容を追加しておく)

mikan# vi /etc/rc.ipfw

<略>
# 192.168.0.5 <===> Outside Server
${fwcmd} add 480 pass tcp from any to any established
${fwcmd} add 490 pass tcp from 192.168.0.5 to any setup
${fwcmd} add 501 pass udp from any 53 to 192.168.0.5
${fwcmd} add 502 pass udp from 192.168.0.5 to any 53
${fwcmd} add 505 pass udp from any 123 to 192.168.0.5
${fwcmd} add 506 pass udp from 192.168.0.5 to any 123


以上を追加。
以下は、520 と 540 のルールを削除するかコメントに。

# maintenance IP
# 192.168.0.7 Windows 2000 PC
# 192.168.0.17 Fedora Core 1 PC
${fwcmd} add 510 allow ip from 192.168.0.7 to 192.168.0.5
#${fwcmd} add 520 allow ip from 192.168.0.5 to 192.168.0.7
${fwcmd} add 530 allow ip from 192.168.0.17 to 192.168.0.5
#${fwcmd} add 540 allow ip from 192.168.0.5 to 192.168.0.17


で、すべて終了。

前ページに戻る


Copyright (C) 2003-2004 S.Maaasamasa.