ipfw を動かしたんで、Windows2000 クライアント(192.168.0.7)から samba サーバ(192.168.0.5)に接続できなくなってしまった。
とりあえず、192.168.0.0/24 から 192.168.0.5 の 137,138,139,445 ポートへの接続は許すよう、以下のようなルールを追加。
ipfw add 600 allow tcp from 192.168.0.0/24 to 192.168.0.5 137-139,445
ipfw add 610 allow tcp from 192.168.0.5 to 192.168.0.0/24 137-139,445
ipfw add 620 allow udp from 192.168.0.0/24 to 192.168.0.5 137-139,445
ipfw add 630 allow udp from 192.168.0.5 to 192.168.0.0/24 137-139,445
さらに、
ipfw add 65000 deny log all from any to any
というルールを追加して、弾いたパケットを見てみることにした。
で、Windows2000 側で Fileserver1 という名前の samba サーバを検索してみると、/var/log/security には以下のようなログが書き込まれる。
Jun 21 22:38:40 mikan /kernel: ipfw: 65000 Deny UDP 192.168.0.7:137 192.168.0.255:137 in via ed0
ええ?137 ポートへの接続を蹴られてるの?なんでぇ?
しかも、すでに
allow ip from 192.168.0.7 to 192.168.0.5
allow ip from 192.168.0.17 to 192.168.0.5
というルールがあったわけだから、特別 137 などのポートを開けてやらなくても本来なら接続できるはずだったんじゃ・・・
と思ったら、よく見りゃ 192.168.0.7 から 192.168.0.5 にではなく、192.168.0.255(ブロードキャストアドレス)にパケット投げてんじゃん。
つーことは、
ipfw add 600 allow tcp from 192.168.0.0/24 to 192.168.0.0/24 137-139,445
ipfw add 620 allow udp from 192.168.0.0/24 to 192.168.0.0/24 137-139,445
でないと駄目なんじゃないの?ってことで、上記ルールを追加。
その結果、/var/log/security には何のログも出なくなったので、NetBIOS がらみのパケットは全て通っているはずだがやはり接続できない・・・。
そこで、SWAT から smbd & nmbd を再起動してみたら、やっと Windows2000 クライアントから samba サーバへの接続ができるようになったのである。???
ちなみに、SWAT に接続する前に、
ipfw add 540 allow tcp from 192.168.0.0/24 to 192.168.0.5 901
ipfw add 545 allow udp from 192.168.0.0/24 to 192.168.0.5 901
とルールを追加しておくのを忘れないように。
ということで、忘れず /etc/rc.ipfw に下記のルールを追加しておくなり。
# NetBIOS (Samba)
${fwcmd} add 540 allow tcp from 192.168.0.0/24 to 192.168.0.5 901
${fwcmd} add 545 allow udp from 192.168.0.0/24 to 192.168.0.5 901
${fwcmd} add 600 allow tcp from 192.168.0.0/24 to 192.168.0.0/24 137-139,445
${fwcmd} add 620 allow udp from 192.168.0.0/24 to 192.168.0.0/24 137-139,445
|
|